private static SuggestedFix getFixForMissingRequire(JSError error, AbstractCompiler compiler) { Matcher regexMatcher = MISSING_REQUIRE.matcher(error.description); Preconditions.checkState(regexMatcher.matches(), "Unexpected error description: %s", error.description); String namespaceToRequire = regexMatcher.group(1); NodeMetadata metadata = new NodeMetadata(compiler); Match match = new Match(error.node, metadata); return new SuggestedFix.Builder() .setOriginalMatchedNode(error.node) .addGoogRequire(match, namespaceToRequire) .build(); }
private static SuggestedFix getFixForExtraRequire(JSError error, AbstractCompiler compiler) { Matcher regexMatcher = EXTRA_REQUIRE.matcher(error.description); Preconditions.checkState(regexMatcher.matches(), "Unexpected error description: %s", error.description); String namespace = regexMatcher.group(1); NodeMetadata metadata = new NodeMetadata(compiler); Match match = new Match(error.node, metadata); return new SuggestedFix.Builder() .setOriginalMatchedNode(error.node) .removeGoogRequire(match, namespace) .build(); }
@Override public void visit(NodeTraversal t, Node n, Node parent) { NodeMetadata metadata = new NodeMetadata(t.getCompiler()); if (scanner.matches(n, metadata)) { Match match = new Match(n, metadata); fixes.addAll(scanner.processMatch(match)); matches.add(match); } } }