/** * Creates a SuggestedFix for the given error. Note that some errors have multiple fixes * so getFixesForJsError should often be used instead of this. */ public static SuggestedFix getFixForJsError(JSError error, AbstractCompiler compiler) { String key = error.getType().key; if (key.equals("JSC_MISSING_SEMICOLON")) return getFixForMissingSemicolon(error); else if (key.equals("JSC_REQUIRES_NOT_SORTED")) return getFixForUnsortedRequiresOrProvides("goog.require", error, compiler); else if (key.equals("JSC_PROVIDES_NOT_SORTED")) return getFixForUnsortedRequiresOrProvides("goog.provide", error, compiler); else if (key.equals("JSC_DEBUGGER_STATEMENT_PRESENT") || key.equals("JSC_USELESS_EMPTY_STATEMENT")) return removeNode(error); else if (key.equals("JSC_INEXISTENT_PROPERTY")) return getFixForInexistentProperty(error); else if (key.equals("JSC_MISSING_CALL_TO_SUPER")) return getFixForMissingSuper(error); else if (key.equals("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION")) return getFixForInvalidSuper(error, compiler); else if (key.equals("JSC_MISSING_REQUIRE_WARNING") || key.equals("JSC_MISSING_REQUIRE_CALL_WARNING")) return getFixForMissingRequire(error, compiler); else if (key.equals("JSC_DUPLICATE_REQUIRE_WARNING") || key.equals("JSC_EXTRA_REQUIRE_WARNING")) return getFixForExtraRequire(error, compiler); else return null; }
public static List<SuggestedFix> getFixesForJsError(JSError error, AbstractCompiler compiler) { SuggestedFix fix = getFixForJsError(error, compiler); if (fix != null) { return ImmutableList.of(fix); } if (error.getType().key.equals("JSC_IMPLICITLY_NULLABLE_JSDOC")) return getFixesForImplicitlyNullableJsDoc(error); else return ImmutableList.of(); }
@Override public void report(CheckLevel level, JSError error) { super.report(level, error); fixes.putAll(error, ErrorToFixMapper.getFixesForJsError(error, compiler)); }
List<SuggestedFix> fixes = new ArrayList<SuggestedFix>(); for (JSError warning : concat(compiler.getErrors(), compiler.getWarnings(), JSError.class)) { SuggestedFix suggestedFix = ErrorToFixMapper.getFixForJsError(warning, compiler); if (suggestedFix != null) { fixes.add(suggestedFix);