Module index

Module ida_srclang

Third-party compiler support.

Global variables

var SRCLANG_C

C.

var SRCLANG_CPP

C++.

var SRCLANG_GO

Golang (not supported yet)

var SRCLANG_OBJC

Objective-C.

var SRCLANG_SWIFT

Swift (not supported yet)

Functions

def parse_decls_for_srclang(lang: srclang_t, til: til_t, input: char const *, is_path: bool)

parse_decls_for_srclang(lang, til, input, is_path) -> int Parse type declarations in the specified language

@param lang: (C++: srclang_t) the source language(s) expected in the input @param til: (C++: til_t ) type library to store the types @param input: (C++: const char ) input source. can be a file path or decl string @param is_path: (C++: bool) true if input parameter is a path to a source file, false if the input is an in-memory source snippet @retval -1: no parser was found that supports the given source language(s) @retval else: the number of errors encountered in the input source

def parse_decls_with_parser(parser_name: char const *, til: til_t, input: char const *, is_path: bool)

parse_decls_with_parser(parser_name, til, input, is_path) -> int Parse type declarations using the parser with the specified name

@param parser_name: (C++: const char ) name of the target parser @param til: (C++: til_t ) type library to store the types @param input: (C++: const char *) input source. can be a file path or decl string @param is_path: (C++: bool) true if input parameter is a path to a source file, false if the input is an in-memory source snippet @retval -1: no parser was found with the given name @retval else: the number of errors encountered in the input source

def select_parser_by_name(name: char const *)

select_parser_by_name(name) -> bool Set the parser with the given name as the current parser. Pass nullptr or an empty string to select the default parser.

@param name: (C++: const char *) char const * @return: false if no parser was found with the given name

def select_parser_by_srclang(lang: srclang_t)

select_parser_by_srclang(lang) -> bool Set the parser that supports the given language(s) as the current parser. The selected parser must support all languages specified by the given srclang_t.

@param lang: (C++: srclang_t) @return: false if no such parser was found

def set_parser_argv(parser_name: char const *, argv: char const *)

set_parser_argv(parser_name, argv) -> int Set the command-line args to use for invocations of the parser with the given name

@param parser_name: (C++: const char ) name of the target parser @param argv: (C++: const char ) argument list @retval -1: no parser was found with the given name @retval -2: the operation is not supported by the given parser @retval 0: success