test_class.declarator: PARSER = PHPParserBuilder.createParser()
test_class.modifier: private static final
test_class.original_string: private static final ActionParser<Tree> PARSER = PHPParserBuilder.createParser();
test_class.type: ActionParser<Tree>
test_class.var_name: PARSER
test_class.declarator: file
test_class.modifier: private
test_class.original_string: private File file;
test_class.type: File
test_class.var_name: file
test_class.declarator: context
test_class.modifier: private
test_class.original_string: private SensorContextTester context;
test_class.type: SensorContextTester
test_class.var_name: context
test_class.declarator: tempFolder = new TemporaryFolder()
test_class.modifier: @Rule
    public
test_class.original_string: @Rule
    public TemporaryFolder tempFolder = new TemporaryFolder();
test_class.type: TemporaryFolder
test_class.var_name: tempFolder
test_class.declarator: fileSystem
test_class.modifier: private
test_class.original_string: private DefaultFileSystem fileSystem;
test_class.type: DefaultFileSystem
test_class.var_name: fileSystem
test_class.file: php-frontend/src/test/java/org/sonar/php/highlighter/SymbolHighlighterTest.java
test_class.identifier: SymbolHighlighterTest
test_case.body: @Test
    public void test_use_clause() throws Exception {
      highlight("<?php $b = 42; $f = function() use($b) { echo $b; };");
  
      // there are 3 symbols: global $b, local $b, $f
      checkSymbolExistence(1, 15); // $f
  
      // global $b
      checkSymbolReferences(1, 6, ImmutableList.of(textRange(1, 35, 1, 37)));
      // local $b
      checkSymbolReferences(1, 35, ImmutableList.of(textRange(1, 46, 1, 48)));
    }
test_case.class_method_signature: SymbolHighlighterTest.test_use_clause()
test_case.full_signature: @Test public void test_use_clause()
test_case.identifier: test_use_clause
test_case.invocations: highlight checkSymbolExistence checkSymbolReferences of textRange checkSymbolReferences of textRange
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test_use_clause()
focal_class.file: php-frontend/src/main/java/org/sonar/php/highlighter/SymbolHighlighter.java
focal_class.identifier: SymbolHighlighter
focal_class.class_method_signature: SymbolHighlighter.highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_class.full_signature: public void highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_class.identifier: highlight
focal_class.modifiers: public
focal_class.parameters: (SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_class.return: void
focal_class.signature: void highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_method.body: public void highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable) {
      for (Symbol symbol : ((SymbolTableImpl) symbolTable).getSymbols()) {
        SyntaxToken token = symbol.declaration().token();
        NewSymbol newSymbol = newSymbolTable.newSymbol(token.line(), token.column(), token.endLine(), token.endColumn());
        for (SyntaxToken usageToken : symbol.usages()) {
          newSymbol.newReference(usageToken.line(), usageToken.column(), usageToken.endLine(), usageToken.endColumn());
        }
      }
    }
focal_method.class_method_signature: SymbolHighlighter.highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_method.full_signature: public void highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_method.identifier: highlight
focal_method.invocations: getSymbols token declaration newSymbol line column endLine endColumn usages newReference line column endLine endColumn
focal_method.modifiers: public
focal_method.parameters: (SymbolTable symbolTable, NewSymbolTable newSymbolTable)
focal_method.return: void
focal_method.signature: void highlight(SymbolTable symbolTable, NewSymbolTable newSymbolTable)