Class ThreadSafeDelegatingErrorManager
- All Implemented Interfaces:
ErrorHandler,ErrorManager
ErrorManager that provides a thread-safe wrapper
for the one being delegated.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidWrites a report to an implementation-specific medium.intGets the number of reported errors.com.google.common.collect.ImmutableList<JSError> Gets all the errors.doubleGets the percentage of typed expressions.intGets the number of reported warnings.com.google.common.collect.ImmutableList<JSError> Gets all the warnings.booleanReturns if the error manager has errors that should make compilation halt.voidreport(CheckLevel level, JSError error) Reports an error.voidsetTypedPercent(double typedPercent) Sets the percentage of typed expressions.booleanshouldReportConformanceViolation(com.google.javascript.jscomp.Requirement requirement, com.google.common.base.Optional<com.google.javascript.jscomp.Requirement.WhitelistEntry> whitelistEntry, JSError diagnostic, com.google.javascript.jscomp.ConformanceConfig.LibraryLevelNonAllowlistedConformanceViolationsBehavior behavior, boolean isAllowlisted) Return true if the conformance violation should be reported.
-
Constructor Details
-
ThreadSafeDelegatingErrorManager
-
-
Method Details
-
report
Description copied from interface:ErrorManagerReports an error. The errors will be displayed by theErrorManager.generateReport()at the discretion of the implementation.- Specified by:
reportin interfaceErrorHandler- Specified by:
reportin interfaceErrorManager- Parameters:
level- the reporting levelerror- the error to report
-
generateReport
public void generateReport()Description copied from interface:ErrorManagerWrites a report to an implementation-specific medium. The compiler calls this method after any and allErrorManager.report(com.google.javascript.jscomp.CheckLevel, com.google.javascript.jscomp.JSError)calls.- Specified by:
generateReportin interfaceErrorManager
-
hasHaltingErrors
public boolean hasHaltingErrors()Description copied from interface:ErrorManagerReturns if the error manager has errors that should make compilation halt. This, for example, omits errors that were promoted from warnings by using the --strict flag.- Specified by:
hasHaltingErrorsin interfaceErrorManager
-
getErrorCount
public int getErrorCount()Description copied from interface:ErrorManagerGets the number of reported errors.- Specified by:
getErrorCountin interfaceErrorManager
-
getWarningCount
public int getWarningCount()Description copied from interface:ErrorManagerGets the number of reported warnings.- Specified by:
getWarningCountin interfaceErrorManager
-
getErrors
Description copied from interface:ErrorManagerGets all the errors.- Specified by:
getErrorsin interfaceErrorManager
-
getWarnings
Description copied from interface:ErrorManagerGets all the warnings.- Specified by:
getWarningsin interfaceErrorManager
-
setTypedPercent
public void setTypedPercent(double typedPercent) Description copied from interface:ErrorManagerSets the percentage of typed expressions.- Specified by:
setTypedPercentin interfaceErrorManager
-
getTypedPercent
public double getTypedPercent()Description copied from interface:ErrorManagerGets the percentage of typed expressions.- Specified by:
getTypedPercentin interfaceErrorManager
-
shouldReportConformanceViolation
public boolean shouldReportConformanceViolation(com.google.javascript.jscomp.Requirement requirement, com.google.common.base.Optional<com.google.javascript.jscomp.Requirement.WhitelistEntry> whitelistEntry, JSError diagnostic, com.google.javascript.jscomp.ConformanceConfig.LibraryLevelNonAllowlistedConformanceViolationsBehavior behavior, boolean isAllowlisted) Description copied from interface:ErrorManagerReturn true if the conformance violation should be reported. This is called even if the violation is allowlisted and override implementations all can return true despite allowlisting.This method's name is misleading.
It is called by the
AbstractRule.reportmethod, but none of the implementations of this method actually check whether the violation is allowlisted or not. The actual checking of allowlists is done later at the call-site in theAbstractRule.reportmethod. See - https://source.corp.google.com/piper///depot/google3/third_party/java_src/jscomp/java/com/google/javascript/jscomp/ConformanceRules.java;rcl=783510053;l=364The implementations of this method always delegate to this method (return true) as long as the violation is not in a generated code file (which is always safe and never reported) or is being used by ConformanceAllowlister to generate allowlist updates (therefore not reported). For all violations other violations (except in generated code), this method returns true.
- Specified by:
shouldReportConformanceViolationin interfaceErrorManager
-