test_class.file: php-frontend/src/test/java/org/sonar/php/metrics/ExecutableLineVisitorTest.java
test_class.identifier: ExecutableLineVisitorTest
test_class.superclass: extends ParsingTestUtils
test_case.body: @Test
    public void test() throws Exception {
      String filename = "metrics/executable_lines.php";
      PhpFile file = FileTestUtils.getFile(new File("src/test/resources/"+filename));
      Set<Integer> executableLines = new ExecutableLineVisitor(parse(filename)).getExecutableLines();
      assertThat(executableLines).containsExactlyElementsOf(expectedExecutableLines(file));
    }
test_case.class_method_signature: ExecutableLineVisitorTest.test()
test_case.full_signature: @Test public void test()
test_case.identifier: test
test_case.invocations: getFile getExecutableLines parse containsExactlyElementsOf assertThat expectedExecutableLines
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test()
focal_class.declarator: executableLines = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<Integer> executableLines = new HashSet<>();
focal_class.type: Set<Integer>
focal_class.var_name: executableLines
focal_class.file: php-frontend/src/main/java/org/sonar/php/metrics/ExecutableLineVisitor.java
focal_class.identifier: ExecutableLineVisitor
focal_class.class_method_signature: ExecutableLineVisitor.ExecutableLineVisitor(Tree tree)
focal_class.full_signature:   ExecutableLineVisitor(Tree tree)
focal_class.identifier: ExecutableLineVisitor
focal_class.parameters: (Tree tree)
focal_class.signature:  ExecutableLineVisitor(Tree tree)
focal_class.class_method_signature: ExecutableLineVisitor.visitNode(Tree tree)
focal_class.full_signature: @Override public void visitNode(Tree tree)
focal_class.identifier: visitNode
focal_class.modifiers: @Override public
focal_class.parameters: (Tree tree)
focal_class.return: void
focal_class.signature: void visitNode(Tree tree)
focal_class.class_method_signature: ExecutableLineVisitor.nodesToVisit()
focal_class.full_signature: @Override public List<Kind> nodesToVisit()
focal_class.identifier: nodesToVisit
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<Kind>
focal_class.signature: List<Kind> nodesToVisit()
focal_class.class_method_signature: ExecutableLineVisitor.getExecutableLines()
focal_class.full_signature: public Set<Integer> getExecutableLines()
focal_class.identifier: getExecutableLines
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Set<Integer>
focal_class.signature: Set<Integer> getExecutableLines()
focal_class.superclass: extends PHPTreeSubscriber
focal_method.body: public Set<Integer> getExecutableLines() {
      return executableLines;
    }
focal_method.class_method_signature: ExecutableLineVisitor.getExecutableLines()
focal_method.full_signature: public Set<Integer> getExecutableLines()
focal_method.identifier: getExecutableLines
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Set<Integer>
focal_method.signature: Set<Integer> getExecutableLines()