org.apache.xalan.xsltc.compiler
Class SyntaxTreeNode

java.lang.Object
  |
  +--org.apache.xalan.xsltc.compiler.SyntaxTreeNode
Direct Known Subclasses:
org.apache.xalan.xsltc.compiler.Expression, Stylesheet, org.apache.xalan.xsltc.compiler.TopLevelElement

public abstract class SyntaxTreeNode
extends java.lang.Object
implements Constants


Field Summary
static SyntaxTreeNode Dummy
           
 
Constructor Summary
SyntaxTreeNode()
           
SyntaxTreeNode(int line)
           
 
Method Summary
 void addElement(SyntaxTreeNode element)
           
 int addParam(org.apache.xalan.xsltc.compiler.Param param)
           
 boolean contextDependent()
          Returns true if this expression/instruction depends on the context.
 boolean dependentContents()
          Return true if any of the expressions/instructions in the contents of this node is context dependent.
 void display(int indent)
           
 java.lang.Object elementAt(int i)
           
 int elementCount()
           
 java.util.Enumeration elements()
           
 java.util.Vector getContents()
           
 int getImportPrecedence()
           
 int getLineNumber()
           
 SyntaxTreeNode getParent()
           
 Parser getParser()
           
 XSLTC getXSLTC()
           
 boolean hasContents()
           
 boolean hasParams()
           
 boolean isDummy()
           
 void parseChildren(Element element, Parser parser)
          Parse all the children of element.
 void parseContents(Element element, Parser parser)
          This method is normally overriden by subclasses.
 void removeElement(SyntaxTreeNode element)
           
 void setParser(Parser parser)
           
abstract  void translate(ClassGenerator classGen, MethodGenerator methodGen)
          Translate this node into JVM bytecodes.
 void translateContents(ClassGenerator classGen, MethodGenerator methodGen)
          Call translate() on every children of this node.
abstract  Type typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable)
          Type check the children of this node.
 Type typeCheckContents(org.apache.xalan.xsltc.compiler.SymbolTable stable)
          Call typeCheck() on every children of this node.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Dummy

public static final SyntaxTreeNode Dummy
Constructor Detail

SyntaxTreeNode

public SyntaxTreeNode()

SyntaxTreeNode

public SyntaxTreeNode(int line)
Method Detail

setParser

public void setParser(Parser parser)

getParent

public final SyntaxTreeNode getParent()

getImportPrecedence

public int getImportPrecedence()

isDummy

public final boolean isDummy()

getParser

public final Parser getParser()

getXSLTC

public final XSLTC getXSLTC()

addParam

public int addParam(org.apache.xalan.xsltc.compiler.Param param)

hasParams

public final boolean hasParams()

parseContents

public void parseContents(Element element,
                          Parser parser)
This method is normally overriden by subclasses. By default, it parses all the children of element.

parseChildren

public final void parseChildren(Element element,
                                Parser parser)
Parse all the children of element. XSLT commands are recognized by the XSLT namespace

typeCheck

public abstract Type typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable)
                        throws TypeCheckError
Type check the children of this node. The type check phase may add coercions (CastExpr) to the AST.

typeCheckContents

public Type typeCheckContents(org.apache.xalan.xsltc.compiler.SymbolTable stable)
                       throws TypeCheckError
Call typeCheck() on every children of this node.

translate

public abstract void translate(ClassGenerator classGen,
                               MethodGenerator methodGen)
Translate this node into JVM bytecodes.

translateContents

public void translateContents(ClassGenerator classGen,
                              MethodGenerator methodGen)
Call translate() on every children of this node.

contextDependent

public boolean contextDependent()
Returns true if this expression/instruction depends on the context. By default, every expression/instruction depends on the context unless it overrides this method. Currently used to determine if result trees are compiled using procedures or little DOMs.

dependentContents

public boolean dependentContents()
Return true if any of the expressions/instructions in the contents of this node is context dependent.

addElement

public final void addElement(SyntaxTreeNode element)

removeElement

public final void removeElement(SyntaxTreeNode element)

getContents

public final java.util.Vector getContents()

hasContents

public final boolean hasContents()

elementCount

public final int elementCount()

elements

public final java.util.Enumeration elements()

elementAt

public final java.lang.Object elementAt(int i)

display

public void display(int indent)

getLineNumber

public final int getLineNumber()


Copyright © 2000 Apache XML Project. All Rights Reserved.