Code Duplication    Length = 30-31 lines in 2 locations

packages/analyzer/src/Declarations.php 1 location

@@ 66-95 (lines=30) @@
63
		}
64
	}
65
66
	public function scan_file( $root, $file_path ) {
67
		$file_path_relative = str_replace( $root, '', $file_path );
68
69
		$source = file_get_contents( $file_path );
70
		try {
71
			$ast = $this->parser->parse( $source );
72
		} catch ( \Error $error ) {
73
			echo "Parse error: {$error->getMessage()}\n";
74
			return;
75
		} catch ( \RuntimeException $error ) {
76
			echo "Parse error: {$error->getMessage()}\n";
77
			return;
78
		}
79
80
		// $dumper = new NodeDumper;
81
		// echo $dumper->dump($ast) . "\n";
82
83
		$traverser    = new NodeTraverser();
84
		$nameResolver = new NameResolver();
85
		$traverser->addVisitor( $nameResolver );
86
87
		// Resolve names
88
		$ast = $traverser->traverse( $ast );
89
90
		// now scan for public methods etc
91
		$traverser           = new NodeTraverser();
92
		$declaration_visitor = new Declarations\Visitor( $file_path_relative, $this );
93
		$traverser->addVisitor( $declaration_visitor );
94
		$ast = $traverser->traverse( $ast );
95
	}
96
97
	public function load( $file_path ) {
98
		$row = 1;

packages/analyzer/src/Invocations.php 1 location

@@ 68-98 (lines=31) @@
65
	/**
66
	 * Scans the file for any invocations that depend on missing or different classes, methods, properties and functions
67
	 */
68
	public function scan_file( $root, $file_path ) {
69
		$file_path_relative = str_replace( $root, '', $file_path );
70
71
		$source = file_get_contents( $file_path );
72
		try {
73
			$ast = $this->parser->parse( $source );
74
		} catch ( \Error $error ) {
75
			echo "Parse error: {$error->getMessage()}\n";
76
			return;
77
		} catch ( \RuntimeException $error ) {
78
			echo "Parse error: {$error->getMessage()}\n";
79
			return;
80
		}
81
82
		// $dumper = new NodeDumper;
83
		// echo $dumper->dump($ast) . "\n";
84
85
		// before parsing, make sure we try to resolve class names
86
		$traverser    = new NodeTraverser();
87
		$nameResolver = new NameResolver();
88
		$traverser->addVisitor( $nameResolver );
89
90
		// Resolve names
91
		$ast = $traverser->traverse( $ast );
92
93
		$traverser         = new NodeTraverser();
94
		$invocations       = new Invocations();
95
		$invocation_finder = new Invocations\Visitor( $file_path_relative, $this );
96
		$traverser->addVisitor( $invocation_finder );
97
		$ast = $traverser->traverse( $ast );
98
	}
99
}
100