org.omegahat.Environment.Parser.Parse
Class CastExpression

java.lang.Object
  |
  +--antlr.BaseAST
        |
        +--antlr.CommonAST
              |
              +--org.omegahat.Environment.Parser.Parse.BasicExpression
                    |
                    +--org.omegahat.Environment.Parser.Parse.Type
                          |
                          +--org.omegahat.Environment.Parser.Parse.CastExpression
All Implemented Interfaces:
antlr.collections.AST, Evaluable, ExpressionInt, OmegaTokenTypes, java.lang.Runnable, java.io.Serializable, Subsettable, TreeNodeInt

public class CastExpression
extends Type
implements ExpressionInt

Expression treating an object as an instance of a particular class, such as (int) 1.0.

See Also:
Serialized Form

Field Summary
protected  java.lang.Object array
           
protected  java.lang.Class castClass
           
protected  java.lang.Object evalued
           
protected  java.lang.Object expression
           
protected  boolean isSuper
           
 
Fields inherited from class org.omegahat.Environment.Parser.Parse.Type
Final, type
 
Fields inherited from class org.omegahat.Environment.Parser.Parse.BasicExpression
children, comments, isActive, parent, POST, PRE
 
Fields inherited from class antlr.BaseAST
down, right
 
Fields inherited from interface org.omegahat.Environment.Parser.AntlrParser.OmegaTokenTypes
ABSTRACT, ARG_LIST, ARRAY_DECLARATOR, ARRAY_INIT, ASSIGN, BAND, BAND_ASSIGN, BLOCK, BNOT, BOR, BOR_ASSIGN, BREAK, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CHAR_LITERAL, CLASS_DEF, COLON, COMMA, CONTINUE, CTOR_DEF, DEC, DIV, DIV_ASSIGN, DOT, DOTS, EAGER, ELEMENT_OP, EOF, EQUAL, ESC, EXPONENT, EXPONENT_OP, EXPR, EXTENDS_CLAUSE, FINAL, FLOAT_SUFFIX, FUNCTION, GE, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, IMPORT, INC, INDEX_OP, INSTANCE_INIT, INSTANCEOF, INTERFACE_DEF, LABELED_STAT, LAND, LAZY, LBRACK, LCURLY, LE, LITERAL_abstract, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_const, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_eager, LITERAL_else, LITERAL_extends, LITERAL_false, LITERAL_final, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_function, LITERAL_global, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_in, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_lazy, LITERAL_long, LITERAL_method, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_threadsafe, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_while, LNOT, LOR, LPAREN, LT, METHOD, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, MISSING_ARG, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_FLOAT, NUM_INT, NUM_LONG, OBJBLOCK, PACKAGE_DEF, PARAMETER_DEF, PARAMETERS, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RBRACK, RCURLY, RETURN, RPAREN, SEMI, SEQUENCE_OP, SL, SL_ASSIGN, SL_COMMENT, SLIST, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STATIC_INIT, STRING_LITERAL, SYNCHRONIZED, THROW, TRANSIENT, TYPE, TYPECAST, UNARY_MINUS, UNARY_PLUS, VARIABLE_DEF, VOCAB, WS
 
Constructor Summary
CastExpression(boolean isSuper, java.lang.Object expr)
           
CastExpression(Name type, java.lang.Object expr)
           
 
Method Summary
 java.lang.Class castClass()
           
 java.lang.Class castClass(java.lang.Class c)
           
 java.lang.Class castClass(Evaluator evaluator)
           
 java.lang.Object convertToClass(java.lang.Class castTo, java.lang.Object value, Evaluator evaluator)
          Converts the value to an object of the class compatible with the target casting class.
 void error(java.lang.Class target, java.lang.Object value)
           
 java.lang.Object eval(Evaluator evaluator)
           
 java.lang.Object expression()
           
 java.lang.Object expression(java.lang.Object v)
           
 boolean isSuper()
           
 boolean isSuper(boolean v)
           
 java.lang.Object toBoolean(java.lang.Object value)
          Converts value to a Long.
 java.lang.Object toDouble(java.lang.Object value)
          Converts value to a Double.
 java.lang.Object toFloat(java.lang.Object value)
          Converts value to a Float.
 java.lang.Object toInt(java.lang.Object value)
          Converts value to an Integer.
 java.lang.Object toLong(java.lang.Object value)
          Converts value to a Long.
 java.lang.Object toShort(java.lang.Object value)
          Converts value to a Short.
 java.lang.String toString()
           
 java.lang.Object value()
           
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.Type
isFinal, isFinal, type, type, type
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.BasicExpression
addChild, addComment, apply, apply, apply, children, children, comment, comment, depth, error, eval, evalInit, evaluationFrame, evaluator, getReferencedVariables, getReferencedVariables, getReferencedVariables, isActive, isActive, parent, parent, postComment, postComment, preComment, preComment, render, replaceChild, resolve, run, setParent, setParent, setParent, setParent, showComments, showComments, subset, substitute, substitute
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, initialize, initialize, setText, setType
 
Methods inherited from class antlr.BaseAST
addChild, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getFirstChild, getNextSibling, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toStringList, toStringTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.omegahat.Environment.Parser.Parse.ExpressionInt
error, resolve, substitute
 
Methods inherited from interface org.omegahat.Environment.Parser.Parse.TreeNodeInt
addChild, children, depth, parent, parent, replaceChild
 
Methods inherited from interface org.omegahat.Environment.Language.Evaluable
eval
 

Field Detail

array

protected java.lang.Object array

expression

protected java.lang.Object expression

evalued

protected java.lang.Object evalued

isSuper

protected boolean isSuper

castClass

protected java.lang.Class castClass
Constructor Detail

CastExpression

public CastExpression(Name type,
                      java.lang.Object expr)

CastExpression

public CastExpression(boolean isSuper,
                      java.lang.Object expr)
Method Detail

eval

public java.lang.Object eval(Evaluator evaluator)
                      throws java.lang.Throwable
Specified by:
eval in interface Evaluable
Overrides:
eval in class BasicExpression

castClass

public java.lang.Class castClass(Evaluator evaluator)
                          throws java.lang.Exception

castClass

public java.lang.Class castClass()

castClass

public java.lang.Class castClass(java.lang.Class c)

value

public java.lang.Object value()

convertToClass

public java.lang.Object convertToClass(java.lang.Class castTo,
                                       java.lang.Object value,
                                       Evaluator evaluator)
                                throws java.lang.Exception
Converts the value to an object of the class compatible with the target casting class.
Parameters:
castTo - the class to which the value is being cast.
value - the object to be coerced to the target class.
Returns:
a value compatible with the target class.

toInt

public java.lang.Object toInt(java.lang.Object value)
                       throws java.lang.Exception
Converts value to an Integer.

toDouble

public java.lang.Object toDouble(java.lang.Object value)
                          throws java.lang.Exception
Converts value to a Double.

toFloat

public java.lang.Object toFloat(java.lang.Object value)
                         throws java.lang.Exception
Converts value to a Float.

toShort

public java.lang.Object toShort(java.lang.Object value)
                         throws java.lang.Exception
Converts value to a Short.

toLong

public java.lang.Object toLong(java.lang.Object value)
                        throws java.lang.Exception
Converts value to a Long.

toBoolean

public java.lang.Object toBoolean(java.lang.Object value)
                           throws java.lang.Exception
Converts value to a Long.

error

public void error(java.lang.Class target,
                  java.lang.Object value)
           throws java.lang.Exception

isSuper

public boolean isSuper()

isSuper

public boolean isSuper(boolean v)

expression

public java.lang.Object expression()

expression

public java.lang.Object expression(java.lang.Object v)

toString

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