Package com.google.javascript.jscomp
Class CompilerInput
- java.lang.Object
-
- com.google.javascript.jscomp.deps.DependencyInfo.Base
-
- com.google.javascript.jscomp.CompilerInput
-
- All Implemented Interfaces:
DependencyInfo
public class CompilerInput extends DependencyInfo.Base
A class for the internal representation of an input to the compiler. Wraps aSourceAst
and maintain state such as module for the input and whether the input is an extern. Also calculates provided and required types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CompilerInput.ModuleType
JavaScript module type.-
Nested classes/interfaces inherited from interface com.google.javascript.jscomp.deps.DependencyInfo
DependencyInfo.Base, DependencyInfo.Require, DependencyInfo.Util
-
-
Constructor Summary
Constructors Constructor Description CompilerInput(SourceAst ast)
CompilerInput(SourceAst ast, boolean isExtern)
CompilerInput(SourceAst ast, InputId inputId, boolean isExtern)
Deprecated.the inputId is read from the SourceAst.CompilerInput(SourceAst ast, java.lang.String inputId, boolean isExtern)
Deprecated.the inputId is read from the SourceAst.CompilerInput(SourceFile file)
CompilerInput(SourceFile file, boolean isExtern)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addDynamicRequire(java.lang.String require)
Registers a type that this input depends on in the order seen in the file.boolean
addOrderedRequire(DependencyInfo.Require require)
Registers a type that this input depends on in the order seen in the file.void
addProvide(java.lang.String provide)
Registers a type that this input defines.void
addRequire(DependencyInfo.Require require)
Registers a type that this input depends on.void
clearAst()
Node
getAstRoot(AbstractCompiler compiler)
JSChunk
getChunk()
Returns the module to which the input belongs.java.lang.String
getCode()
com.google.common.collect.ImmutableList<java.lang.String>
getDynamicRequires()
Returns the types that this input dynamically depends on in the order seen in the file.boolean
getHasExternsAnnotation()
Whether the file '@externs' annotation.boolean
getHasNoCompileAnnotation()
Whether the file has the '@nocompile' annotation.InputId
getInputId()
Returns a name for this input.CompilerInput.ModuleType
getJsModuleType()
int
getLineOffset(int lineno)
com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>
getLoadFlags()
Gets the loading information for this file.java.lang.String
getName()
Returns a name for this input.int
getNumLines()
ModuleLoader.ModulePath
getPath()
java.lang.String
getPathRelativeToClosureBase()
Gets the path relative to closure-base, if one is available.com.google.common.collect.ImmutableList<java.lang.String>
getProvides()
Gets a list of types provided by this input.com.google.common.collect.ImmutableList<DependencyInfo.Require>
getRequires()
Gets a list of types depended on by this input.SourceFile
getSourceFile()
com.google.common.collect.ImmutableList<java.lang.String>
getTypeRequires()
Gets the symbols type-required by this file (i.e.boolean
isExtern()
void
setCompiler(AbstractCompiler compiler)
Sets an abstract compiler for doing parsing.void
setHasFullParseDependencyInfo(boolean hasFullParseDependencyInfo)
void
setJsModuleType(CompilerInput.ModuleType moduleType)
void
setModule(JSChunk module)
Sets the module to which the input belongs.java.lang.String
toString()
-
Methods inherited from class com.google.javascript.jscomp.deps.DependencyInfo.Base
getRequiredSymbols, isModule
-
-
-
-
Constructor Detail
-
CompilerInput
public CompilerInput(SourceAst ast)
-
CompilerInput
public CompilerInput(SourceAst ast, boolean isExtern)
-
CompilerInput
@Deprecated public CompilerInput(SourceAst ast, java.lang.String inputId, boolean isExtern)
Deprecated.the inputId is read from the SourceAst. Use CompilerInput(ast, isExtern)
-
CompilerInput
@Deprecated public CompilerInput(SourceAst ast, InputId inputId, boolean isExtern)
Deprecated.the inputId is read from the SourceAst. Use CompilerInput(ast, isExtern)
-
CompilerInput
public CompilerInput(SourceFile file)
-
CompilerInput
public CompilerInput(SourceFile file, boolean isExtern)
-
-
Method Detail
-
getInputId
public InputId getInputId()
Returns a name for this input. Must be unique across all inputs.
-
getName
public java.lang.String getName()
Returns a name for this input. Must be unique across all inputs.
-
getPathRelativeToClosureBase
public java.lang.String getPathRelativeToClosureBase()
Gets the path relative to closure-base, if one is available.
-
getAstRoot
public Node getAstRoot(AbstractCompiler compiler)
-
clearAst
public void clearAst()
-
getSourceFile
public SourceFile getSourceFile()
-
setCompiler
public void setCompiler(AbstractCompiler compiler)
Sets an abstract compiler for doing parsing.
-
getRequires
public com.google.common.collect.ImmutableList<DependencyInfo.Require> getRequires()
Gets a list of types depended on by this input.
-
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).
-
getProvides
public com.google.common.collect.ImmutableList<java.lang.String> getProvides()
Gets a list of types provided by this input.
-
getHasExternsAnnotation
public boolean getHasExternsAnnotation()
Description copied from interface:DependencyInfo
Whether the file '@externs' annotation.
-
getHasNoCompileAnnotation
public boolean getHasNoCompileAnnotation()
Description copied from interface:DependencyInfo
Whether the file has the '@nocompile' annotation.
-
addProvide
public void addProvide(java.lang.String provide)
Registers a type that this input defines. Includes both explicitly declared namespaces via goog.provide and goog.module calls as well as implicit namespaces provided by module rewriting.
-
addOrderedRequire
public boolean addOrderedRequire(DependencyInfo.Require require)
Registers a type that this input depends on in the order seen in the file.
-
getDynamicRequires
public com.google.common.collect.ImmutableList<java.lang.String> getDynamicRequires()
Returns the types that this input dynamically depends on in the order seen in the file. The returned types were loaded dynamically so while they are part of the dependency graph, they do not need sorted before this input.
-
addDynamicRequire
public boolean addDynamicRequire(java.lang.String require)
Registers a type that this input depends on in the order seen in the file. The type was loaded dynamically so while it is part of the dependency graph, it does not need sorted before this input.
-
setHasFullParseDependencyInfo
public void setHasFullParseDependencyInfo(boolean hasFullParseDependencyInfo)
-
getJsModuleType
public CompilerInput.ModuleType getJsModuleType()
-
setJsModuleType
public void setJsModuleType(CompilerInput.ModuleType moduleType)
-
addRequire
public void addRequire(DependencyInfo.Require require)
Registers a type that this input depends on.
-
getCode
public java.lang.String getCode() throws java.io.IOException
- Throws:
java.io.IOException
-
getChunk
public JSChunk getChunk()
Returns the module to which the input belongs.
-
setModule
public void setModule(JSChunk module)
Sets the module to which the input belongs.
-
isExtern
public boolean isExtern()
-
getLineOffset
public int getLineOffset(int lineno)
-
getNumLines
public int getNumLines()
- Returns:
- The number of lines in this input.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
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.
-
getPath
public ModuleLoader.ModulePath getPath()
-
-