anvil.script.statements
Class DefinitionStatement

java.lang.Object
  |
  +--anvil.script.statements.Statement
        |
        +--anvil.script.statements.ScopedStatement
              |
              +--anvil.script.statements.DefinitionStatement
All Implemented Interfaces:
Scope, Type
Direct Known Subclasses:
ClassStatement, FunctionStatement, InterfaceStatement, ModuleStatement, NamespaceStatement

public abstract class DefinitionStatement
extends ScopedStatement
implements Scope

class DefinitionStatement


Field Summary
protected  int _contentstate
           
protected  java.lang.String _descriptor
           
protected  Doc _document
           
protected  java.util.HashMap _externals
           
protected  java.util.ArrayList _imports
           
protected  java.lang.String _name
           
protected  DefinitionStatement _parent
           
protected  Scope[] _parents
           
protected  boolean _private
           
protected  TagLibraryBundle _taglibs
           
protected  SymbolTable _types
           
 
Fields inherited from class anvil.script.statements.Statement
CONTENT_COMPRESS, CONTENT_PACK, CONTENT_PRESERVE, CONTENT_PROCESSING, CONTENT_SILENT, DEFAULT_NAMESPACE, EMPTY, ST_ASSERT, ST_BLOCK, ST_BREAK, ST_CALL, ST_CASE, ST_CATCH, ST_CDATA, ST_CLASS, ST_COMPRESS, ST_CONST, ST_CONTINUE, ST_CUSTOM_TAG, ST_DEFAULT, ST_DO, ST_DOCUMENT, ST_ELSE, ST_ELSEIF, ST_ENDCASE, ST_ENDCLASS, ST_ENDCONST, ST_ENDDEFAULT, ST_ENDEVAL, ST_ENDFOR, ST_ENDFOREACH, ST_ENDFUNCTION, ST_ENDIF, ST_ENDINNER, ST_ENDMODULE, ST_ENDNAMESPACE, ST_ENDOUTER, ST_ENDREPLACE, ST_ENDSWITCH, ST_ENDVAR, ST_ENDWHILE, ST_EVAL, ST_EXIT, ST_FINALLY, ST_FOR, ST_FOREACH, ST_FUNCTION, ST_IF, ST_IMPLICIT_BLOCK, ST_IMPORT, ST_INNER, ST_INTERFACE, ST_INVALID, ST_INVOKE, ST_MODULE, ST_NAMESPACE, ST_NONE, ST_OUTER, ST_PACK, ST_PRESERVE, ST_PRINT, ST_REPLACE, ST_RETURN, ST_SILENT, ST_SWITCH, ST_SYNCHRONIZED, ST_TAG, ST_THROW, ST_TRY, ST_VAR, ST_WHILE, ST_YIELD
 
Fields inherited from interface anvil.script.Type
CLASS, CONSTANT_VARIABLE, CONSTRUCTOR, FUNCTION, FUNCTION_PARAMETER, GLOBAL_NAMESPACE, IMPORT, INTERFACE, INTERFACE_METHOD, LOCAL_VARIABLE, MEMBER_VARIABLE, METHOD, MODULE, NAMESPACE, SCOPE0, STATIC_VARIABLE, SYSTEM_NAMESPACE, TYPE_NAMES
 
Constructor Summary
DefinitionStatement(DefinitionStatement parent, java.lang.String name, Modifiers mods, Doc document)
           
 
Method Summary
 void addEntityImport(ErrorListener listener, Location location, Name entity, Name[] decls, boolean withStar)
           
protected  void addExternal(ErrorListener listener, Location location, java.lang.Object source, java.lang.String as, Type type)
           
protected  void addExternal(java.lang.String name, Type type)
           
protected  void addExternals(ErrorListener listener, Location location, java.lang.Object source, Scope scope)
           
 void addHrefImport(ErrorListener listener, Location location, java.lang.String href, java.lang.String as, Name[] decls, boolean withStar)
           
protected  void addImport(Import imprt)
           
 void addTaglib(ErrorListener listener, Location location, java.lang.String source, java.lang.String namespace, java.lang.String tagns)
           
 void check(ErrorListener context)
           
 void compile(ByteCompiler context)
           
protected  void compileMembers(ByteCompiler context)
           
 VariableStatement declare(java.lang.String name, Expression expr, Modifiers mods)
           
 void declare(java.lang.String name, Type type)
           
 void declare(Type type)
           
protected static Type follow(Type type, Name name)
           
 int getContentState()
           
 java.util.Iterator getDeclarations()
           
 java.lang.String getDescriptor()
           
 Doc getDocument()
           
protected  Modifiers getModifiers(TemplateParser parser, Tag tag, Modifiers set)
           
 java.lang.String getName()
           
protected  java.lang.String getName(TemplateParser parser, Tag tag, java.lang.String type)
           
 int getNextInlined()
           
 Scope getParent()
           
 Statement getParentDefinition()
           
 Scope[] getParents()
           
 java.lang.String getQualifiedName()
           
 Tag getTag(java.lang.String ns, java.lang.String name)
           
 int getTypeRef(ConstantPool pool)
           
 void importExternals(ErrorListener listener)
           
 boolean isEntityReserved(java.lang.String name)
           
 boolean isPrivate()
           
 Type lookupDeclaration(java.lang.String name)
           
 Type lookupLocalDeclaration(java.lang.String name)
           
protected  void onClass(TemplateParser parser, int type, Tag tag)
           
protected  void onConst(TemplateParser parser, Tag tag)
           
protected  void onFunction(TemplateParser parser, int type, Tag tag)
           
protected  void onImport(TemplateParser parser, Tag tag)
           
protected  void onNamespace(TemplateParser parser, int type, Tag tag)
           
 boolean onTag(TemplateParser parser, int type, Tag tag)
           
protected  void onVar(TemplateParser parser, Tag tag)
           
 void parse(TemplateParser parser, Tag tag)
           
 void setContentState(int state)
           
 java.lang.String toString()
           
 java.lang.StringBuffer toString(java.lang.StringBuffer buffer, boolean addDot)
           
 
Methods inherited from class anvil.script.statements.ScopedStatement
hasEnd, isBlocked, parseCondition
 
Methods inherited from class anvil.script.statements.Statement
addChild, allowBreak, allowContinue, allowLabel, allowYield, callFinalizer, compress, eliminate, getBlockStatement, getCatchStatement, getChildStatement, getClassStatement, getDefinitionStatement, getFunctionStatement, getInterfaceStatement, getLabelDepth, getLabeled, getLocation, getModuleStatement, getParentStatement, getScopeStatement, getStaticContent, getSwitch, getTagId, getTypeRef, hasStaticContent, isDeclared, isStaticRegion, lookupAnyDeclaration, name, onCharacters, onProcessingInstruction, pack, parseLabel, setChildStatement, setLocation, setParentStatement, typeOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface anvil.script.Type
getType
 

Field Detail

_types

protected SymbolTable _types

_imports

protected java.util.ArrayList _imports

_externals

protected java.util.HashMap _externals

_taglibs

protected TagLibraryBundle _taglibs

_parent

protected DefinitionStatement _parent

_parents

protected Scope[] _parents

_name

protected java.lang.String _name

_private

protected boolean _private

_descriptor

protected java.lang.String _descriptor

_document

protected Doc _document

_contentstate

protected int _contentstate
Constructor Detail

DefinitionStatement

public DefinitionStatement(DefinitionStatement parent,
                           java.lang.String name,
                           Modifiers mods,
                           Doc document)
Method Detail

toString

public java.lang.StringBuffer toString(java.lang.StringBuffer buffer,
                                       boolean addDot)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getQualifiedName

public java.lang.String getQualifiedName()
Specified by:
getQualifiedName in interface Type

getName

public java.lang.String getName()
Specified by:
getName in interface Type

isPrivate

public boolean isPrivate()
Specified by:
isPrivate in interface Type

getParentDefinition

public Statement getParentDefinition()

getParent

public Scope getParent()
Specified by:
getParent in interface Type

getParents

public Scope[] getParents()
Specified by:
getParents in interface Type

getDocument

public Doc getDocument()
Specified by:
getDocument in interface Type

getContentState

public int getContentState()
Overrides:
getContentState in class Statement

setContentState

public void setContentState(int state)

getTypeRef

public int getTypeRef(ConstantPool pool)
Specified by:
getTypeRef in interface Type

getDescriptor

public java.lang.String getDescriptor()

getDeclarations

public java.util.Iterator getDeclarations()
Specified by:
getDeclarations in interface Scope

lookupDeclaration

public Type lookupDeclaration(java.lang.String name)
Specified by:
lookupDeclaration in interface Scope

isEntityReserved

public boolean isEntityReserved(java.lang.String name)

getNextInlined

public int getNextInlined()

lookupLocalDeclaration

public Type lookupLocalDeclaration(java.lang.String name)

declare

public void declare(Type type)

declare

public void declare(java.lang.String name,
                    Type type)

declare

public VariableStatement declare(java.lang.String name,
                                 Expression expr,
                                 Modifiers mods)

onTag

public boolean onTag(TemplateParser parser,
                     int type,
                     Tag tag)
Overrides:
onTag in class Statement

parse

public void parse(TemplateParser parser,
                  Tag tag)
Overrides:
parse in class Statement

check

public void check(ErrorListener context)
Overrides:
check in class Statement

compile

public void compile(ByteCompiler context)
Overrides:
compile in class Statement

compileMembers

protected void compileMembers(ByteCompiler context)

addExternal

protected void addExternal(java.lang.String name,
                           Type type)

addImport

protected void addImport(Import imprt)

addExternal

protected void addExternal(ErrorListener listener,
                           Location location,
                           java.lang.Object source,
                           java.lang.String as,
                           Type type)

follow

protected static final Type follow(Type type,
                                   Name name)

addExternals

protected void addExternals(ErrorListener listener,
                            Location location,
                            java.lang.Object source,
                            Scope scope)

importExternals

public void importExternals(ErrorListener listener)
Overrides:
importExternals in class Statement

addEntityImport

public void addEntityImport(ErrorListener listener,
                            Location location,
                            Name entity,
                            Name[] decls,
                            boolean withStar)

addHrefImport

public void addHrefImport(ErrorListener listener,
                          Location location,
                          java.lang.String href,
                          java.lang.String as,
                          Name[] decls,
                          boolean withStar)

addTaglib

public void addTaglib(ErrorListener listener,
                      Location location,
                      java.lang.String source,
                      java.lang.String namespace,
                      java.lang.String tagns)

getTag

public Tag getTag(java.lang.String ns,
                  java.lang.String name)
Overrides:
getTag in class Statement

onImport

protected void onImport(TemplateParser parser,
                        Tag tag)

getName

protected java.lang.String getName(TemplateParser parser,
                                   Tag tag,
                                   java.lang.String type)

getModifiers

protected Modifiers getModifiers(TemplateParser parser,
                                 Tag tag,
                                 Modifiers set)

onVar

protected void onVar(TemplateParser parser,
                     Tag tag)

onConst

protected void onConst(TemplateParser parser,
                       Tag tag)

onFunction

protected void onFunction(TemplateParser parser,
                          int type,
                          Tag tag)

onNamespace

protected void onNamespace(TemplateParser parser,
                           int type,
                           Tag tag)

onClass

protected void onClass(TemplateParser parser,
                       int type,
                       Tag tag)