test_class.file: lbjava/src/test/java/edu/illinois/cs/cogcomp/lbjava/MainTest.java
test_class.identifier: MainTest
test_case.body: @Test
      public void testPackageFeature() throws Exception {
          String input =
                  generateLBJavaScript("PackageFeatLearner", "testFeature1",
                          "import edu.illinois.cs.cogcomp.lbjava.features.*;");
          Yylex scanner = new Yylex(new ByteArrayInputStream(input.getBytes()));
          AST ast = (AST) new parser(scanner).parse().value;
  
          Main.runSemanticAnalysis(ast);
  
          assertEquals(3, SemanticAnalysis.dependorGraph.size());
          assertEquals(1, ast.declarations.size());
  
          ASTNode[] astNodes = ast.declarations.iterator().next().iterator().children;
          assertEquals(3, astNodes.length);
          assertTrue(astNodes[0] instanceof ClassifierReturnType);
          assertEquals("discrete", astNodes[0].toString());
          assertTrue(astNodes[2] instanceof LearningClassifierExpression);
          LearningClassifierExpression lce = (LearningClassifierExpression) astNodes[2];
          assertEquals("testFeature1", lce.extractor.getName());
          assertTrue(((ClassifierName) lce.extractor).isField);
          assertEquals("PredefinedFeature",
                  AST.globalSymbolTable.classForName(lce.extractor.getName()).getSimpleName());
  
          new RevisionAnalysis(ast).run(ast);
          new ClassifierCSE(ast).run(ast);
          new TranslateToJava(ast).run(ast);
          new Train(ast, 0).run(ast);
      }
test_case.class_method_signature: MainTest.testPackageFeature()
test_case.full_signature: @Test public void testPackageFeature()
test_case.identifier: testPackageFeature
test_case.invocations: generateLBJavaScript getBytes parse runSemanticAnalysis assertEquals size assertEquals size iterator next iterator assertEquals assertTrue assertEquals toString assertTrue assertEquals getName assertTrue assertEquals getSimpleName classForName getName run run run run
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPackageFeature()
focal_class.declarator: printTokens = false
focal_class.modifier: private static
focal_class.original_string: private static boolean printTokens = false;
focal_class.type: boolean
focal_class.var_name: printTokens
focal_class.declarator: printAST = false
focal_class.modifier: private static
focal_class.original_string: private static boolean printAST = false;
focal_class.type: boolean
focal_class.var_name: printAST
focal_class.declarator: printSemantic = false
focal_class.modifier: private static
focal_class.original_string: private static boolean printSemantic = false;
focal_class.type: boolean
focal_class.var_name: printSemantic
focal_class.declarator: printRevisions = false
focal_class.modifier: private static
focal_class.original_string: private static boolean printRevisions = false;
focal_class.type: boolean
focal_class.var_name: printRevisions
focal_class.declarator: parserDebug = false
focal_class.modifier: private static
focal_class.original_string: private static boolean parserDebug = false;
focal_class.type: boolean
focal_class.var_name: parserDebug
focal_class.declarator: trainingOutput = 0
focal_class.modifier: private static
focal_class.original_string: private static int trainingOutput = 0;
focal_class.type: int
focal_class.var_name: trainingOutput
focal_class.declarator: clean = false
focal_class.modifier: public static
focal_class.original_string: public static boolean clean = false;
focal_class.type: boolean
focal_class.var_name: clean
focal_class.declarator: compileOnly = false
focal_class.modifier: private static
focal_class.original_string: private static boolean compileOnly = false;
focal_class.type: boolean
focal_class.var_name: compileOnly
focal_class.declarator: concurrentTraining = false
focal_class.modifier: public static
focal_class.original_string: public static boolean concurrentTraining = false;
focal_class.type: boolean
focal_class.var_name: concurrentTraining
focal_class.declarator: warningsDisabled = false
focal_class.modifier: public static
focal_class.original_string: public static boolean warningsDisabled = false;
focal_class.type: boolean
focal_class.var_name: warningsDisabled
focal_class.declarator: printSymbols = false
focal_class.modifier: public static
focal_class.original_string: public static boolean printSymbols = false;
focal_class.type: boolean
focal_class.var_name: printSymbols
focal_class.declarator: sourceDirectory
focal_class.modifier: public static
focal_class.original_string: public static String sourceDirectory;
focal_class.type: String
focal_class.var_name: sourceDirectory
focal_class.declarator: sourceFilename
focal_class.modifier: public static
focal_class.original_string: public static String sourceFilename;
focal_class.type: String
focal_class.var_name: sourceFilename
focal_class.declarator: sourceFileBase
focal_class.modifier: public static
focal_class.original_string: public static String sourceFileBase;
focal_class.type: String
focal_class.var_name: sourceFileBase
focal_class.declarator: javacArguments = ""
focal_class.modifier: public static
focal_class.original_string: public static String javacArguments = "";
focal_class.type: String
focal_class.var_name: javacArguments
focal_class.declarator: fileNames
focal_class.modifier: public static
focal_class.original_string: public static HashSet<String> fileNames;
focal_class.type: HashSet<String>
focal_class.var_name: fileNames
focal_class.declarator: classDirectory
focal_class.modifier: public static
focal_class.original_string: public static String classDirectory;
focal_class.type: String
focal_class.var_name: classDirectory
focal_class.declarator: classPackageDirectory
focal_class.modifier: public static
focal_class.original_string: public static String classPackageDirectory;
focal_class.type: String
focal_class.var_name: classPackageDirectory
focal_class.declarator: classPath = System.getProperty("java.class.path")
focal_class.modifier: public static
focal_class.original_string: public static String classPath = System.getProperty("java.class.path");
focal_class.type: String
focal_class.var_name: classPath
focal_class.declarator: sourcePath = System.getProperty("java.class.path")
focal_class.modifier: public static
focal_class.original_string: public static String sourcePath = System.getProperty("java.class.path");
focal_class.type: String
focal_class.var_name: sourcePath
focal_class.declarator: generatedSourceDirectory
focal_class.modifier: public static
focal_class.original_string: public static String generatedSourceDirectory;
focal_class.type: String
focal_class.var_name: generatedSourceDirectory
focal_class.declarator: passes
focal_class.modifier: private static
focal_class.original_string: private static LinkedList<Pass> passes;
focal_class.type: LinkedList<Pass>
focal_class.var_name: passes
focal_class.file: lbjava/src/main/java/edu/illinois/cs/cogcomp/lbjava/Main.java
focal_class.identifier: Main
focal_class.class_method_signature: Main.main(String[] args)
focal_class.full_signature: public static void main(String[] args)
focal_class.identifier: main
focal_class.modifiers: public static
focal_class.parameters: (String[] args)
focal_class.return: void
focal_class.signature: void main(String[] args)
focal_class.class_method_signature: Main.runSemanticAnalysis(AST ast)
focal_class.full_signature: public static void runSemanticAnalysis(AST ast)
focal_class.identifier: runSemanticAnalysis
focal_class.modifiers: public static
focal_class.parameters: (AST ast)
focal_class.return: void
focal_class.signature: void runSemanticAnalysis(AST ast)
focal_class.class_method_signature: Main.ProcessCommandLine(String[] args)
focal_class.full_signature: private static FileInputStream ProcessCommandLine(String[] args)
focal_class.identifier: ProcessCommandLine
focal_class.modifiers: private static
focal_class.parameters: (String[] args)
focal_class.return: FileInputStream
focal_class.signature: FileInputStream ProcessCommandLine(String[] args)
focal_class.class_method_signature: Main.frontend(FileInputStream in)
focal_class.full_signature: private static AST frontend(FileInputStream in)
focal_class.identifier: frontend
focal_class.modifiers: private static
focal_class.parameters: (FileInputStream in)
focal_class.return: AST
focal_class.signature: AST frontend(FileInputStream in)
focal_class.class_method_signature: Main.dumpTokenStream(Yylex scanner)
focal_class.full_signature: private static void dumpTokenStream(Yylex scanner)
focal_class.identifier: dumpTokenStream
focal_class.modifiers: private static
focal_class.parameters: (Yylex scanner)
focal_class.return: void
focal_class.signature: void dumpTokenStream(Yylex scanner)
focal_class.class_method_signature: Main.PrintUsage()
focal_class.full_signature: public static void PrintUsage()
focal_class.identifier: PrintUsage
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void PrintUsage()
focal_method.body: public static void runSemanticAnalysis(AST ast) {
          new SemanticAnalysis(ast).run();
          Pass.printErrorsAndWarnings();
  
          if (generatedSourceDirectory != null) {
              if (AST.globalSymbolTable.getPackage().length() != 0)
                  generatedSourceDirectory +=
                          File.separator
                                  + AST.globalSymbolTable.getPackage().replace('.',
                                          File.separatorChar);
          } else if (sourceDirectory != null)
              generatedSourceDirectory = sourceDirectory;
  
          if (classPackageDirectory != null && AST.globalSymbolTable.getPackage().length() != 0)
              classDirectory =
                      classPackageDirectory + File.separator
                              + AST.globalSymbolTable.getPackage().replace('.', File.separatorChar);
          else
              classDirectory = classPackageDirectory;
      }
focal_method.class_method_signature: Main.runSemanticAnalysis(AST ast)
focal_method.full_signature: public static void runSemanticAnalysis(AST ast)
focal_method.identifier: runSemanticAnalysis
focal_method.invocations: run printErrorsAndWarnings length getPackage replace getPackage length getPackage replace getPackage
focal_method.modifiers: public static
focal_method.parameters: (AST ast)
focal_method.return: void
focal_method.signature: void runSemanticAnalysis(AST ast)