Class JsonMLAst
- java.lang.Object
-
- com.google.javascript.jscomp.jsonml.JsonMLAst
-
- All Implemented Interfaces:
SourceAst
,java.io.Serializable
public class JsonMLAst extends java.lang.Object implements SourceAst
Generates an AST from a JsonML source file. JsonML format for representation of JavaScript is specified here.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearAst()
Removes any references to root node of the AST.JsonML
convertToJsonML()
Node
getAstRoot(AbstractCompiler compiler)
Generates AST based on AST representationJsonML
getElementPreOrder(int n)
Returns a JsonML element with the specified number from the tree in pre-order walk.InputId
getInputId()
SourceFile
getSourceFile()
Returns the source file the generated AST represents.java.lang.String
getSourceName()
void
setSourceFile(SourceFile file)
Sets the source file the generated AST represents.
-
-
-
Constructor Detail
-
JsonMLAst
public JsonMLAst(JsonML jsonml)
-
-
Method Detail
-
clearAst
public void clearAst()
Description copied from interface:SourceAst
Removes any references to root node of the AST. If it is requested again, another parse will be performed. This method is needed to allow the ASTs to be garbage collected if the inputs are still around after compilation.
-
getAstRoot
public Node getAstRoot(AbstractCompiler compiler)
Generates AST based on AST representation- Specified by:
getAstRoot
in interfaceSourceAst
- See Also:
SourceAst.getAstRoot(AbstractCompiler)
-
getSourceFile
public SourceFile getSourceFile()
Description copied from interface:SourceAst
Returns the source file the generated AST represents.- Specified by:
getSourceFile
in interfaceSourceAst
-
setSourceFile
public void setSourceFile(SourceFile file)
Description copied from interface:SourceAst
Sets the source file the generated AST represents. This can be called after deserializing if access to the source file is needed. If a different file is provided than that with which this was created, an IllegalStateException will be thrown.- Specified by:
setSourceFile
in interfaceSourceAst
-
getSourceName
public java.lang.String getSourceName()
-
convertToJsonML
public JsonML convertToJsonML()
-
getElementPreOrder
public JsonML getElementPreOrder(int n)
Returns a JsonML element with the specified number from the tree in pre-order walk.- Returns:
- nth node or null if the node does not exists
-
getInputId
public InputId getInputId()
- Specified by:
getInputId
in interfaceSourceAst
- Returns:
- The input id associated with this AST
-
-