parser.setVerboseErrors(verboseErrors); smaliParser.smali_file_return result = parser.smali_file();
public static BuilderClassDef parse(String path, InputStream is, DexBuilder dexBuilder) throws UnsupportedEncodingException, RecognitionException { File smaliFile = new File(path); InputStreamReader reader = new InputStreamReader(is, "UTF-8"); LexerErrorInterface lexer = new smaliFlexLexer(reader); ((smaliFlexLexer) lexer).setSourceFile(smaliFile); CommonTokenStream tokens = new CommonTokenStream((TokenSource) lexer); smaliParser parser = new smaliParser(tokens); parser.setApiLevel(DEFAULT_API_LEVEL); smaliParser.smali_file_return result = parser.smali_file(); if ((parser.getNumberOfSyntaxErrors() > 0) || (lexer.getNumberOfSyntaxErrors() > 0)) { throw new RuntimeException("Unable to parse: " + smaliFile); } CommonTree t = result.getTree(); CommonTreeNodeStream treeStream = new CommonTreeNodeStream(t); treeStream.setTokenStream(tokens); smaliTreeWalker dexGen = new smaliTreeWalker(treeStream); dexGen.setVerboseErrors(false); dexGen.setDexBuilder(dexBuilder); BuilderClassDef classDef = (BuilderClassDef) dexGen.smali_file(); if (dexGen.getNumberOfSyntaxErrors() != 0) { throw new RuntimeException("Unable to walk: " + smaliFile); } return classDef; }
parser.setApiLevel(options.apiLevel); smaliParser.smali_file_return result = parser.smali_file();
parser.setApiLevel(options.apiLevel); smaliParser.smali_file_return result = parser.smali_file();
parser.setApiLevel(apiLevel); smaliParser.smali_file_return result = parser.smali_file();
parser.setVerboseErrors(verboseErrors); smaliParser.smali_file_return result = parser.smali_file();
parser.setApiLevel(apiLevel); smaliParser.smali_file_return result = parser.smali_file();
parser.setApiLevel(apiLevel); smaliParser.smali_file_return result = parser.smali_file();
parser.setApiLevel(apiLevel); smaliParser.smali_file_return result = parser.smali_file();