3

コマンドラインから、compiler.jar から名前を変更する関数のエイリアス リストを取得できます。

ヘルプは次のように述べています。

java -jar compiler.jar --help
[...]
--create_name_map_files                : If true, variable renaming and
                                         property renaming map files will be
                                         produced as {binary name}_vars_map.out
                                         and {binary name}_props_map.out. Note
                                         that this flag cannot be used in
                                         conjunction with either variableMapOut
                                         putFile or property_map_output_file
--create_source_map VAL                : If specified, a source map file
                                         mapping the generated source files
                                         back to the original source file will
                                         be output to the specified path. The
                                         %outname% placeholder will expand to
                                         the name of the output file that the
                                         source map corresponds to.
[...]

インラインJavaから「create_name_map_files」を取得するにはどうすればよいですか? 私は AbstractCommandLineRunner.java を調べましたが、このコマンド ライン オプションに関連するすべてのクラス/メソッドはプライベートであり、私のコードからは到達できません..

私のコード:

CompilerOptions opt = new CompilerOptions();

// decide mode
compilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(opt);
opt.prettyPrint = false;

Compiler.setLoggingLevel(Level.OFF);

Compiler compressor = new Compiler();
compressor.disableThreads();

List<SourceFile> inputs = ...;
List<SourceFile> externs = ...;

compressor.compile(externs, inputs, opt); 
4

3 に答える 3

1

同様に、オプション : variable_map_output_file filename を使用できます。

variable_map_output_file フラグと create_name_map_files フラグを同時に使用することはできません。

于 2014-09-24T02:04:51.760 に答える
0

からCommandLineRunner.java、私は言うでしょう

opt.setCreateNameMapFiles(true)
于 2014-05-13T20:04:20.677 に答える
0

「コンパイル」関数は、変数 (variableMap) とプロパティ (propertyMap) の名前変更マップを含む Result オブジェクトを返します。これらのプロパティには、シリアル化できる VariableMap オブジェクトが含まれています。

Result result = compiler.compiler(...);
result.variableMap.save(varmapPath);
result.propertyMap.save(propmapPath);
于 2014-09-26T05:26:51.810 に答える