anvil.script.expression
Class ComprehensionNode

java.lang.Object
  |
  +--anvil.script.expression.Node
        |
        +--anvil.script.expression.ComprehensionNode
Direct Known Subclasses:
ArrayComprehensionNode, ListComprehensionNode

public abstract class ComprehensionNode
extends Node

class ComprehensionNode


Field Summary
protected  Statement _statement
           
protected  VariableNode _var
           
 
Fields inherited from class anvil.script.expression.Node
DELETE, EXPR_ADD, EXPR_AND, EXPR_ARRAY, EXPR_ASSIGN, EXPR_ASSIGN_ADD, EXPR_ASSIGN_CONCAT, EXPR_ASSIGN_DIVIDE, EXPR_ASSIGN_INIT, EXPR_ASSIGN_MODULO, EXPR_ASSIGN_MULTIPLY, EXPR_ASSIGN_SUBST, EXPR_ASSIGN_SUBTRACT, EXPR_ATTRIBUTE, EXPR_BOOLEAN_CAST, EXPR_CALL, EXPR_CLASSOF, EXPR_CLONE, EXPR_COMPARE, EXPR_COMPARISON_CHAIN, EXPR_CONCATENATION, EXPR_CONDITIONAL, EXPR_CONSTANT, EXPR_CONSTANT_VARIABLE, EXPR_COPY, EXPR_DEFAULT_MAPPING, EXPR_DEFINED, EXPR_DELETE, EXPR_DIVIDE, EXPR_EMPTY_REFERENCE, EXPR_EQUAL, EXPR_EXACT_EQUAL, EXPR_EXACT_NOT_EQUAL, EXPR_FLOAT_CAST, EXPR_FOREACH, EXPR_GREATER, EXPR_GREATER_EQUAL, EXPR_HAS, EXPR_IMPORT, EXPR_IN, EXPR_INT_CAST, EXPR_INVOKE, EXPR_IS, EXPR_LESS, EXPR_LESS_EQUAL, EXPR_LINK, EXPR_LIST, EXPR_MAPPING, EXPR_MATCH, EXPR_MODULO, EXPR_MULTIPLY, EXPR_NAMED, EXPR_NAMESPACE, EXPR_NEW, EXPR_NO_MATCH, EXPR_NOT, EXPR_NOT_EQUAL, EXPR_OR, EXPR_PIPE, EXPR_POSTFIX_DECREMENT, EXPR_POSTFIX_INCREMENT, EXPR_PREFIX_DECREMENT, EXPR_PREFIX_INCREMENT, EXPR_RANGE, EXPR_REFERENCE, EXPR_SELECT, EXPR_SIZEOF, EXPR_SPLICE, EXPR_STRING_BUFFER, EXPR_STRING_CAST, EXPR_SUBTRACT, EXPR_SYMBOL, EXPR_THIS, EXPR_THUNK, EXPR_TYPE, EXPR_TYPEOF, EXPR_UNARY_MINUS, EXPR_UNARY_PLUS, EXPR_VARIABLE, EXPR_XOR, GET, GET_BOOLEAN, GET_REF, GET_TYPE, GET_UNREF, NONE
 
Constructor Summary
ComprehensionNode()
           
 
Method Summary
 void check(ErrorListener context)
           
 void compile(ByteCompiler context, int operation)
           
abstract  int getClassReference(ConstantPool pool)
           
 void init(Statement statement, VariableNode var)
           
 Node optimize()
           
abstract  int typeOf()
           
 
Methods inherited from class anvil.script.expression.Node
compile, eval, isAssignable, isConstant, isUpdatable, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_statement

protected Statement _statement

_var

protected VariableNode _var
Constructor Detail

ComprehensionNode

public ComprehensionNode()
Method Detail

init

public void init(Statement statement,
                 VariableNode var)

getClassReference

public abstract int getClassReference(ConstantPool pool)

typeOf

public abstract int typeOf()
Overrides:
typeOf in class Node

optimize

public Node optimize()
Overrides:
optimize in class Node

check

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

compile

public void compile(ByteCompiler context,
                    int operation)
Overrides:
compile in class Node