Package com.google.javascript.jscomp
Class WhitelistWarningsGuard
- java.lang.Object
-
- com.google.javascript.jscomp.WarningsGuard
-
- com.google.javascript.jscomp.WhitelistWarningsGuard
-
- All Implemented Interfaces:
java.io.Serializable
@GwtIncompatible("java.io, java.util.regex") public class WhitelistWarningsGuard extends WarningsGuard
An extension ofWarningsGuard
that provides functionality to maintain a list of warnings (white-list). It is subclasses' responsibility to decide what to do with the white-list by implementing thelevel
function. Warnings are defined by the name of the JS file and the first line of warnings description.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
WhitelistWarningsGuard.WhitelistBuilder
Whitelist builder-
Nested classes/interfaces inherited from class com.google.javascript.jscomp.WarningsGuard
WarningsGuard.Priority
-
-
Constructor Summary
Constructors Constructor Description WhitelistWarningsGuard()
WhitelistWarningsGuard(java.util.Set<java.lang.String> allowlist)
This class depends on an input set that contains the white-list.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
containWarning(java.lang.String formattedWarning)
Determines whether a given warning is included in the white-list.protected java.lang.String
formatWarning(JSError error)
If subclasses want to modify the formatting, they should override #formatWarning(JSError, boolean), not this method.protected java.lang.String
formatWarning(JSError error, boolean withMetaData)
static WhitelistWarningsGuard
fromFile(java.io.File file)
Creates a warnings guard from a file.static java.lang.String
getFirstLine(java.lang.String warning)
int
getPriority()
The priority in which warnings guards are applied.CheckLevel
level(JSError error)
Returns a new check level for a given error.protected static java.util.Set<java.lang.String>
loadWhitelistedJsWarnings(com.google.common.io.CharSource supplier)
Loads legacy warnings list from the file.static java.util.Set<java.lang.String>
loadWhitelistedJsWarnings(java.io.File file)
Loads legacy warnings list from the file.protected java.util.Set<java.lang.String>
normalizeWhitelist(java.util.Set<java.lang.String> allowlist)
Loads legacy warnings list from the set of strings.-
Methods inherited from class com.google.javascript.jscomp.WarningsGuard
disables, enables
-
-
-
-
Constructor Detail
-
WhitelistWarningsGuard
public WhitelistWarningsGuard()
-
WhitelistWarningsGuard
public WhitelistWarningsGuard(java.util.Set<java.lang.String> allowlist)
This class depends on an input set that contains the white-list. The format of each white-list string is:<file-name>:<line-number>? <warning-description>
# <optional-comment>
- Parameters:
allowlist
- The set of JS-warnings that are white-listed. This is expected to have similar format asformatWarning(JSError)
.
-
-
Method Detail
-
normalizeWhitelist
protected java.util.Set<java.lang.String> normalizeWhitelist(java.util.Set<java.lang.String> allowlist)
Loads legacy warnings list from the set of strings. During development line numbers are changed very often - we just cut them and compare without ones.- Returns:
- known legacy warnings without line numbers.
-
level
public CheckLevel level(JSError error)
Description copied from class:WarningsGuard
Returns a new check level for a given error. OFF - suppress it, ERROR - report as error. null means that this guard does not know what to do with the error. Null is extremely helpful when you have a chain of guards. If current guard returns null, then the next in the chain should process it.- Specified by:
level
in classWarningsGuard
- Parameters:
error
- a reported error.- Returns:
- what level given error should have.
-
containWarning
protected boolean containWarning(java.lang.String formattedWarning)
Determines whether a given warning is included in the white-list.- Parameters:
formattedWarning
- the warning formatted byformattedWarning
- Returns:
- whether the given warning is white-listed or not.
-
getPriority
public int getPriority()
Description copied from class:WarningsGuard
The priority in which warnings guards are applied. Lower means the guard will be applied sooner. Expressed on a scale of 1 to 100.- Overrides:
getPriority
in classWarningsGuard
-
fromFile
public static WhitelistWarningsGuard fromFile(java.io.File file)
Creates a warnings guard from a file.
-
loadWhitelistedJsWarnings
public static java.util.Set<java.lang.String> loadWhitelistedJsWarnings(java.io.File file)
Loads legacy warnings list from the file.- Returns:
- The lines of the file.
-
loadWhitelistedJsWarnings
protected static java.util.Set<java.lang.String> loadWhitelistedJsWarnings(com.google.common.io.CharSource supplier)
Loads legacy warnings list from the file.- Returns:
- The lines of the file.
-
formatWarning
protected java.lang.String formatWarning(JSError error)
If subclasses want to modify the formatting, they should override #formatWarning(JSError, boolean), not this method.
-
formatWarning
protected java.lang.String formatWarning(JSError error, boolean withMetaData)
- Parameters:
withMetaData
- If true, include metadata that's useful to humans This metadata won't be used for matching the warning.
-
getFirstLine
public static java.lang.String getFirstLine(java.lang.String warning)
-
-