Class SyntheticAst

  • All Implemented Interfaces:
    SourceAst, java.io.Serializable

    public final class SyntheticAst
    extends java.lang.Object
    implements SourceAst
    An AST generated totally by the compiler.
    See Also:
    Serialized Form
    • Constructor Detail

      • SyntheticAst

        public SyntheticAst​(Node root)
    • Method Detail

      • emptyWithFileName

        public static SyntheticAst emptyWithFileName​(java.lang.String sourceName)
      • getAstRoot

        public Node getAstRoot​(AbstractCompiler compiler)
        Description copied from interface: SourceAst
        Gets the root node of the AST for the source file this represents. The AST is lazily instantiated and cached. This node is always non-null, even in the case of parse errors.
        Specified by:
        getAstRoot in interface SourceAst
      • 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.
        Specified by:
        clearAst in interface SourceAst
      • getInputId

        public InputId getInputId()
        Specified by:
        getInputId in interface SourceAst
        Returns:
        The input id associated with this AST
      • 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 interface SourceAst