Package com.google.javascript.jscomp
Class JSChunk
- java.lang.Object
-
- com.google.javascript.jscomp.deps.DependencyInfo.Base
-
- com.google.javascript.jscomp.JSChunk
-
- All Implemented Interfaces:
DependencyInfo
,java.io.Serializable
public final class JSChunk extends DependencyInfo.Base implements java.io.Serializable
A JavaScript module has a unique name, consists of a list of compiler inputs, and can depend on other modules.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.javascript.jscomp.deps.DependencyInfo
DependencyInfo.Base, DependencyInfo.Require, DependencyInfo.Util
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
STRONG_MODULE_NAME
static java.lang.String
WEAK_MODULE_NAME
-
Constructor Summary
Constructors Constructor Description JSChunk(java.lang.String name)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(CompilerInput input)
Adds a source code input to this module.void
add(SourceFile file)
Adds a source file input to this module.void
addAfter(CompilerInput input, CompilerInput other)
Adds a source code input to this module directly after other.void
addDependency(JSChunk dep)
Adds a dependency on another module.java.util.Set<JSChunk>
getAllDependencies()
Returns the transitive closure of dependencies starting from the dependencies of this module.CompilerInput
getByName(java.lang.String name)
Returns the input with the given name or null if none.com.google.common.collect.ImmutableList<JSChunk>
getDependencies()
Gets the list of modules that this module depends on.int
getDepth()
boolean
getHasExternsAnnotation()
Whether the file '@externs' annotation.boolean
getHasNoCompileAnnotation()
Whether the file has the '@nocompile' annotation.int
getIndex()
CompilerInput
getInput(int i)
Returns the i-th source code input.int
getInputCount()
Returns the number of source code inputs.java.util.List<CompilerInput>
getInputs()
Gets this module's list of source code inputs.com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>
getLoadFlags()
Gets the loading information for this file.java.lang.String
getName()
Gets the module name.java.lang.String
getPathRelativeToClosureBase()
Gets the path of this file relative to Closure's base.js file.com.google.common.collect.ImmutableList<java.lang.String>
getProvides()
Gets the symbols provided by this file.com.google.common.collect.ImmutableList<DependencyInfo.Require>
getRequires()
Gets the symbols required by this file.java.util.Set<JSChunk>
getThisAndAllDependencies()
Returns this module and all of its dependencies in one list.com.google.common.collect.ImmutableList<java.lang.String>
getTypeRequires()
Gets the symbols type-required by this file (i.e.boolean
isModule()
Whether the symbol is provided by a moduleboolean
isSynthetic()
Returns whether this module is synthetic (i.e.boolean
isWeak()
void
remove(CompilerInput input)
Removes an input from this module.void
removeAll()
Removes all of the inputs from this module.boolean
removeByName(java.lang.String name)
Removes any input with the given name.void
setDepth(int dep)
void
setIndex(int index)
void
sortInputsByDeps(AbstractCompiler compiler)
Puts the JS files into a topologically sorted order by their dependencies.java.lang.String
toString()
Returns the module name (primarily for debugging).-
Methods inherited from class com.google.javascript.jscomp.deps.DependencyInfo.Base
getRequiredSymbols
-
-
-
-
Field Detail
-
STRONG_MODULE_NAME
public static final java.lang.String STRONG_MODULE_NAME
- See Also:
- Constant Field Values
-
WEAK_MODULE_NAME
public static final java.lang.String WEAK_MODULE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
public java.lang.String getName()
Gets the module name.- Specified by:
getName
in interfaceDependencyInfo
-
getProvides
public com.google.common.collect.ImmutableList<java.lang.String> getProvides()
Description copied from interface:DependencyInfo
Gets the symbols provided by this file.- Specified by:
getProvides
in interfaceDependencyInfo
-
getHasExternsAnnotation
public boolean getHasExternsAnnotation()
Description copied from interface:DependencyInfo
Whether the file '@externs' annotation.- Specified by:
getHasExternsAnnotation
in interfaceDependencyInfo
-
getHasNoCompileAnnotation
public boolean getHasNoCompileAnnotation()
Description copied from interface:DependencyInfo
Whether the file has the '@nocompile' annotation.- Specified by:
getHasNoCompileAnnotation
in interfaceDependencyInfo
-
getRequires
public com.google.common.collect.ImmutableList<DependencyInfo.Require> getRequires()
Description copied from interface:DependencyInfo
Gets the symbols required by this file.- Specified by:
getRequires
in interfaceDependencyInfo
-
getTypeRequires
public com.google.common.collect.ImmutableList<java.lang.String> getTypeRequires()
Description copied from interface:DependencyInfo
Gets the symbols type-required by this file (i.e. for typechecking only).- Specified by:
getTypeRequires
in interfaceDependencyInfo
-
getPathRelativeToClosureBase
public java.lang.String getPathRelativeToClosureBase()
Description copied from interface:DependencyInfo
Gets the path of this file relative to Closure's base.js file.- Specified by:
getPathRelativeToClosureBase
in interfaceDependencyInfo
-
getLoadFlags
public com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String> getLoadFlags()
Description copied from interface:DependencyInfo
Gets the loading information for this file.- Specified by:
getLoadFlags
in interfaceDependencyInfo
-
isModule
public boolean isModule()
Description copied from interface:DependencyInfo
Whether the symbol is provided by a module- Specified by:
isModule
in interfaceDependencyInfo
- Overrides:
isModule
in classDependencyInfo.Base
-
add
public void add(SourceFile file)
Adds a source file input to this module.
-
add
public void add(CompilerInput input)
Adds a source code input to this module.
-
addAfter
public void addAfter(CompilerInput input, CompilerInput other)
Adds a source code input to this module directly after other.
-
addDependency
public void addDependency(JSChunk dep)
Adds a dependency on another module.
-
remove
public void remove(CompilerInput input)
Removes an input from this module.
-
removeAll
public void removeAll()
Removes all of the inputs from this module.
-
getDependencies
public com.google.common.collect.ImmutableList<JSChunk> getDependencies()
Gets the list of modules that this module depends on.- Returns:
- A list that may be empty but not null
-
getAllDependencies
public java.util.Set<JSChunk> getAllDependencies()
Returns the transitive closure of dependencies starting from the dependencies of this module.
-
getThisAndAllDependencies
public java.util.Set<JSChunk> getThisAndAllDependencies()
Returns this module and all of its dependencies in one list.
-
getInputCount
public int getInputCount()
Returns the number of source code inputs.
-
getInput
public CompilerInput getInput(int i)
Returns the i-th source code input.
-
getInputs
public java.util.List<CompilerInput> getInputs()
Gets this module's list of source code inputs.- Returns:
- A list that may be empty but not null
-
getByName
public CompilerInput getByName(java.lang.String name)
Returns the input with the given name or null if none.
-
removeByName
public boolean removeByName(java.lang.String name)
Removes any input with the given name. Returns whether any were removed.
-
isSynthetic
public boolean isSynthetic()
Returns whether this module is synthetic (i.e. one of the special strong or weak modules created by the compiler.
-
isWeak
public boolean isWeak()
-
toString
public java.lang.String toString()
Returns the module name (primarily for debugging).- Overrides:
toString
in classjava.lang.Object
-
sortInputsByDeps
public void sortInputsByDeps(AbstractCompiler compiler)
Puts the JS files into a topologically sorted order by their dependencies.
-
setDepth
public void setDepth(int dep)
- Parameters:
dep
- the depth to set
-
getDepth
public int getDepth()
- Returns:
- the depth
-
setIndex
public void setIndex(int index)
-
getIndex
public int getIndex()
-
-