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;
}