Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–293 unchanged (293 lines)
294 + "If --manage_closure_dependencies is on, this will not include "
295 + "files that got dropped because they were not required. "
296 + "The %outname% placeholder expands to the js output file. "
297 + "If you're using modularization, using %outname% will create "
298 + "a manifest for each module.")
299 private String output_manifest = "";
300
301
302 // Our own option parser to be backwards-compatible.
303 // It needs to be public because of the crazy reflection that args4j does.
304 public static class BooleanOptionHandler extends OptionHandler<Boolean> {
305 private static final Set<String> TRUES =
306 Sets.newHashSet("true", "on", "yes", "1");
…lines 307–359 unchanged (53 lines)
360 throw new RuntimeException("Unknown formatting option: " + this);
361 }
362 }
363 }
364
365 private final Flags flags = new Flags();
366
367
368 private boolean isConfigValid = false;
369
370 /**
371 * Create a new command-line runner. You should only need to call
372 * the constructor if you're extending this class. Otherwise, the main
…lines 373–410 unchanged (38 lines)
411 try {
412 parser.parseArgument(processedArgs.toArray(new String[] {}));
413 } catch (CmdLineException e) {
414 err.println(e.getMessage());
415 isConfigValid = false;
416 }
417
418
419 if (!isConfigValid || flags.display_help) {
420 isConfigValid = false;
421 parser.printUsage(err);
422 } else {
423 getCommandLineConfig()
…lines 424–597 unchanged (174 lines)

After

…lines 1–294 unchanged (294 lines)
295 + "files that got dropped because they were not required. "
296 + "The %outname% placeholder expands to the js output file. "
297 + "If you're using modularization, using %outname% will create "
298 + "a manifest for each module.")
299 private String output_manifest = "";
300
301 @Option(name = "--version",
302 usage = "Prints the compiler version to stderr.")
303 private boolean version = false;
304
305 // Our own option parser to be backwards-compatible.
306 // It needs to be public because of the crazy reflection that args4j does.
307 public static class BooleanOptionHandler extends OptionHandler<Boolean> {
308 private static final Set<String> TRUES =
309 Sets.newHashSet("true", "on", "yes", "1");
…lines 310–363 unchanged (54 lines)
364 }
365 }
366 }
367
368 private final Flags flags = new Flags();
369
370 private static final String configResource =
371 "com.google.javascript.jscomp.parsing.ParserConfig";
372
373 private boolean isConfigValid = false;
374
375 /**
376 * Create a new command-line runner. You should only need to call
377 * the constructor if you're extending this class. Otherwise, the main
…lines 378–416 unchanged (39 lines)
417 parser.parseArgument(processedArgs.toArray(new String[] {}));
418 } catch (CmdLineException e) {
419 err.println(e.getMessage());
420 isConfigValid = false;
421 }
422
423 if (flags.version) {
424 ResourceBundle config = ResourceBundle.getBundle(configResource);
425 err.println(
426 "Closure Compiler (http://code.google.com/p/closure/compiler)\n" +
427 "Version: " + config.getString("compiler.version") + "\n" +
428 "Built on: " + config.getString("compiler.date"));
429 err.flush();
430 }
431
432 if (!isConfigValid || flags.display_help) {
433 isConfigValid = false;
434 parser.printUsage(err);
435 } else {
436 getCommandLineConfig()
…lines 437–610 unchanged (174 lines)

Before

program
block_comment "/*\n * Copyright 2009 Google Inc.\n *\n * Licensed under the Ap"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "javascript"
. "."
identifier "jscomp"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "base"
. "."
identifier "Preconditions"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "ImmutableList"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Lists"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Maps"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Sets"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "io"
. "."
identifier "LimitInputStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "CmdLineException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "CmdLineParser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "Option"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "OptionDef"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "OptionHandler"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "Parameters"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "Setter"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "InputStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "PrintStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "List"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Map"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "ResourceBundle"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Set"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "logging"
. "."
identifier "Level"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "zip"
. "."
identifier "ZipEntry"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "zip"
. "."
identifier "ZipInputStream"
; ";"
block_comment "/**\n * CommandLineRunner translates flags into Java API call"...
class_declaration
modifiers
public "public"
class "class"
identifier "CommandLineRunner"
superclass
extends "extends"
generic_type
type_identifier "AbstractCommandLineRunner"
type_arguments
< "<"
type_identifier "Compiler"
, ","
type_identifier "CompilerOptions"
> ">"
class_body
{ "{"
class_declaration
modifiers
private "private"
static "static"
class "class"
identifier "Flags"
class_body
{ "{"
field_declaration (+30 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+36 nodes collapsed)
field_declaration (+50 nodes collapsed)
line_comment "// TODO(nicksantos): Make the next 2 flags package-private."
field_declaration (+51 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+41 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+71 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+62 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+55 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+59 nodes collapsed)
field_declaration (+45 nodes collapsed)
field_declaration (+56 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+53 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+81 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+53 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+62 nodes collapsed)
field_declaration (+62 nodes collapsed)
line_comment "// Our own option parser to be backwards-compatible."
line_comment "// It needs to be public because of the crazy reflection tha"...
class_declaration (+314 nodes collapsed)
} "}"
block_comment "/**\n * Set of options that can be used with the --formatti"...
enum_declaration (+94 nodes collapsed)
field_declaration
modifiers
private "private"
final "final"
type_identifier "Flags"
variable_declarator
identifier "flags"
= "="
object_creation_expression
new "new"
type_identifier "Flags"
argument_list
( "("
) ")"
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "isConfigValid"
= "="
false "false"
; ";"
block_comment "/**\n * Create a new command-line runner. You should only n"...
constructor_declaration (+36 nodes collapsed)
constructor_declaration (+44 nodes collapsed)
method_declaration
modifiers
private "private"
void_type "void"
identifier "initConfigFromFlags"
formal_parameters
( "("
formal_parameter
array_type
type_identifier "String"
dimensions
[ "["
] "]"
identifier "args"
, ","
formal_parameter
type_identifier "PrintStream"
identifier "err"
) ")"
block
{ "{"
line_comment "// Args4j has a different format that the old command-line p"...
line_comment "// So we use some voodoo to get the args into the format tha"...
line_comment "// expects."
local_variable_declaration
type_identifier "Pattern"
variable_declarator
identifier "argPattern"
= "="
method_invocation
identifier "Pattern"
. "."
identifier "compile"
argument_list
( "("
string_literal
" "\""
string_fragment "(--[a-zA-Z_]+)=(.*)"
" "\""
) ")"
; ";"
local_variable_declaration (+21 nodes collapsed)
local_variable_declaration
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "String"
> ">"
variable_declarator
identifier "processedArgs"
= "="
method_invocation
identifier "Lists"
. "."
identifier "newArrayList"
argument_list
( "("
) ")"
; ";"
enhanced_for_statement (+145 nodes collapsed)
local_variable_declaration
type_identifier "CmdLineParser"
variable_declarator
identifier "parser"
= "="
object_creation_expression
new "new"
type_identifier "CmdLineParser"
argument_list
( "("
identifier "flags"
) ")"
; ";"
expression_statement
assignment_expression
identifier "isConfigValid"
= "="
true "true"
; ";"
try_statement (+63 nodes collapsed)
if_statement (+349 nodes collapsed)
} "}"
method_declaration (+143 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration (+99 nodes collapsed)
line_comment "// The externs expected in externs.zip, in sorted order."
field_declaration (+206 nodes collapsed)
block_comment "/**\n * @return a mutable list\n * @throws IOException\n "...
method_declaration (+253 nodes collapsed)
block_comment "/**\n * @return Whether the configuration is valid.\n */"
method_declaration
modifiers
public "public"
boolean_type "boolean"
identifier "shouldRunCompiler"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
field_access
this "this"
. "."
identifier "isConfigValid"
; ";"
} "}"
block_comment "/**\n * Runs the Compiler. Exits cleanly in the event of an"...
method_declaration (+72 nodes collapsed)
} "}"

After

program
block_comment "/*\n * Copyright 2009 Google Inc.\n *\n * Licensed under the Ap"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "javascript"
. "."
identifier "jscomp"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "base"
. "."
identifier "Preconditions"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "ImmutableList"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Lists"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Maps"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "collect"
. "."
identifier "Sets"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "common"
. "."
identifier "io"
. "."
identifier "LimitInputStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "CmdLineException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "CmdLineParser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "Option"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "OptionDef"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "OptionHandler"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "Parameters"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "kohsuke"
. "."
identifier "args4j"
. "."
identifier "spi"
. "."
identifier "Setter"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "InputStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "PrintStream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "List"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Map"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "ResourceBundle"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Set"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "logging"
. "."
identifier "Level"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "zip"
. "."
identifier "ZipEntry"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "zip"
. "."
identifier "ZipInputStream"
; ";"
block_comment "/**\n * CommandLineRunner translates flags into Java API call"...
class_declaration
modifiers
public "public"
class "class"
identifier "CommandLineRunner"
superclass
extends "extends"
generic_type
type_identifier "AbstractCommandLineRunner"
type_arguments
< "<"
type_identifier "Compiler"
, ","
type_identifier "CompilerOptions"
> ">"
class_body
{ "{"
class_declaration
modifiers
private "private"
static "static"
class "class"
identifier "Flags"
class_body
{ "{"
field_declaration (+30 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+36 nodes collapsed)
field_declaration (+50 nodes collapsed)
line_comment "// TODO(nicksantos): Make the next 2 flags package-private."
field_declaration (+51 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+41 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+71 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+62 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+55 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+59 nodes collapsed)
field_declaration (+45 nodes collapsed)
field_declaration (+56 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+53 nodes collapsed)
field_declaration (+47 nodes collapsed)
field_declaration (+81 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+39 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+38 nodes collapsed)
field_declaration (+53 nodes collapsed)
field_declaration (+44 nodes collapsed)
field_declaration (+62 nodes collapsed)
field_declaration (+62 nodes collapsed)
field_declaration
modifiers
annotation
@ "@"
identifier "Option"
annotation_argument_list
( "("
element_value_pair
identifier "name"
= "="
string_literal
" "\""
string_fragment "--version"
" "\""
, ","
element_value_pair
identifier "usage"
= "="
string_literal
" "\""
string_fragment "Prints the compiler version to stderr."
" "\""
) ")"
private "private"
boolean_type "boolean"
variable_declarator
identifier "version"
= "="
false "false"
; ";"
line_comment "// Our own option parser to be backwards-compatible."
line_comment "// It needs to be public because of the crazy reflection tha"...
class_declaration (+314 nodes collapsed)
} "}"
block_comment "/**\n * Set of options that can be used with the --formatti"...
enum_declaration (+94 nodes collapsed)
field_declaration
modifiers
private "private"
final "final"
type_identifier "Flags"
variable_declarator
identifier "flags"
= "="
object_creation_expression
new "new"
type_identifier "Flags"
argument_list
( "("
) ")"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "configResource"
= "="
string_literal
" "\""
string_fragment "com.google.javascript.jscomp.parsing.ParserConfig"
" "\""
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "isConfigValid"
= "="
false "false"
; ";"
block_comment "/**\n * Create a new command-line runner. You should only n"...
constructor_declaration (+36 nodes collapsed)
constructor_declaration (+44 nodes collapsed)
method_declaration
modifiers
private "private"
void_type "void"
identifier "initConfigFromFlags"
formal_parameters
( "("
formal_parameter
array_type
type_identifier "String"
dimensions
[ "["
] "]"
identifier "args"
, ","
formal_parameter
type_identifier "PrintStream"
identifier "err"
) ")"
block
{ "{"
line_comment "// Args4j has a different format that the old command-line p"...
line_comment "// So we use some voodoo to get the args into the format tha"...
line_comment "// expects."
local_variable_declaration
type_identifier "Pattern"
variable_declarator
identifier "argPattern"
= "="
method_invocation
identifier "Pattern"
. "."
identifier "compile"
argument_list
( "("
string_literal
" "\""
string_fragment "(--[a-zA-Z_]+)=(.*)"
" "\""
) ")"
; ";"
local_variable_declaration (+21 nodes collapsed)
local_variable_declaration
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "String"
> ">"
variable_declarator
identifier "processedArgs"
= "="
method_invocation
identifier "Lists"
. "."
identifier "newArrayList"
argument_list
( "("
) ")"
; ";"
enhanced_for_statement (+145 nodes collapsed)
local_variable_declaration
type_identifier "CmdLineParser"
variable_declarator
identifier "parser"
= "="
object_creation_expression
new "new"
type_identifier "CmdLineParser"
argument_list
( "("
identifier "flags"
) ")"
; ";"
expression_statement
assignment_expression
identifier "isConfigValid"
= "="
true "true"
; ";"
try_statement (+63 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
field_access
identifier "flags"
. "."
identifier "version"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "ResourceBundle"
variable_declarator
identifier "config"
= "="
method_invocation
identifier "ResourceBundle"
. "."
identifier "getBundle"
argument_list
( "("
identifier "configResource"
) ")"
; ";"
expression_statement
method_invocation
identifier "err"
. "."
identifier "println"
argument_list
( "("
binary_expression
binary_expression
binary_expression
binary_expression
binary_expression
string_literal
" "\""
string_fragment "Closure Compiler (http://code.google.com/p/closure/compiler)"
escape_sequence "\\n"
" "\""
+ "+"
string_literal
" "\""
string_fragment "Version: "
" "\""
+ "+"
method_invocation
identifier "config"
. "."
identifier "getString"
argument_list
( "("
string_literal
" "\""
string_fragment "compiler.version"
" "\""
) ")"
+ "+"
string_literal
" "\""
escape_sequence "\\n"
" "\""
+ "+"
string_literal
" "\""
string_fragment "Built on: "
" "\""
+ "+"
method_invocation
identifier "config"
. "."
identifier "getString"
argument_list
( "("
string_literal
" "\""
string_fragment "compiler.date"
" "\""
) ")"
) ")"
; ";"
expression_statement
method_invocation
identifier "err"
. "."
identifier "flush"
argument_list
( "("
) ")"
; ";"
} "}"
if_statement (+349 nodes collapsed)
} "}"
method_declaration (+143 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration (+99 nodes collapsed)
line_comment "// The externs expected in externs.zip, in sorted order."
field_declaration (+206 nodes collapsed)
block_comment "/**\n * @return a mutable list\n * @throws IOException\n "...
method_declaration (+253 nodes collapsed)
block_comment "/**\n * @return Whether the configuration is valid.\n */"
method_declaration
modifiers
public "public"
boolean_type "boolean"
identifier "shouldRunCompiler"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
field_access
this "this"
. "."
identifier "isConfigValid"
; ";"
} "}"
block_comment "/**\n * Runs the Compiler. Exits cleanly in the event of an"...
method_declaration (+72 nodes collapsed)
} "}"