|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--bsh.SimpleNode
|
+--bsh.BSHCastExpression
Implement casts. I think it should be possible to simplify some of the code here by using the NameSpace.getAssignableForm() method, but I haven't looked into it.
| Field Summary | |
protected Node[] |
children
|
(package private) Token |
firstToken
|
protected int |
id
|
(package private) Token |
lastToken
|
protected Node |
parent
|
(package private) java.lang.String |
sourceFile
the source of the text from which this was parsed |
| Constructor Summary | |
BSHCastExpression(int id)
|
|
| Method Summary | |
static void |
castError(java.lang.Class from,
java.lang.Class to)
Wrap up the ClassCastException in a TargetError so that it can be caught... |
static void |
castError(java.lang.String from,
java.lang.String to)
|
static java.lang.Object |
castObject(java.lang.Object fromValue,
java.lang.Class toType)
Cast an object to a new type. |
static Primitive |
castPrimitive(Primitive primValue,
java.lang.Class toType)
Cast the bsh.Primitive value to a new bsh.Primitive value This is usually a numeric type cast. |
void |
dump(java.lang.String prefix)
|
java.lang.Object |
eval(CallStack callstack,
Interpreter interpreter)
This is the general signature for evaluation of a node. |
java.lang.Object |
eval(NameSpace namespace)
Some nodes require only a namespace for evaluation. |
SimpleNode |
getChild(int i)
|
int |
getLineNumber()
Get the line number of the starting token |
java.lang.String |
getSourceFile()
Get the name of the source file (or more generally source) of the text from which this node was parsed. |
java.lang.String |
getText()
Get the text of the tokens comprising this node. |
void |
jjtAddChild(Node n,
int i)
This method tells the node to add its argument to the node's list of children. |
void |
jjtClose()
This method is called after all the child nodes have been added. |
Node |
jjtGetChild(int i)
This method returns a child node. |
int |
jjtGetNumChildren()
Return the number of children the node has. |
Node |
jjtGetParent()
|
void |
jjtOpen()
This method is called after the node has been made the current node. |
void |
jjtSetParent(Node n)
This pair of methods are used to inform the node of its parent. |
void |
prune()
Detach this node from its parent. |
void |
setSourceFile(java.lang.String sourceFile)
Set the name of the source file (or more generally source) of the text from which this node was parsed. |
java.lang.String |
toString()
|
java.lang.String |
toString(java.lang.String prefix)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected Node parent
protected Node[] children
protected int id
Token firstToken
Token lastToken
java.lang.String sourceFile
| Constructor Detail |
public BSHCastExpression(int id)
| Method Detail |
public java.lang.Object eval(CallStack callstack,
Interpreter interpreter)
throws EvalError
SimpleNode
eval in class SimpleNodeEvalError
public static java.lang.Object castObject(java.lang.Object fromValue,
java.lang.Class toType)
throws EvalError
fromValue - an Object or bsh.Primitive primitive valuetoType - the class type of the cast result, which may include
primitive types, e.g. Byte.TYPE
EvalError
public static void castError(java.lang.Class from,
java.lang.Class to)
throws EvalError
EvalError
public static void castError(java.lang.String from,
java.lang.String to)
throws EvalError
EvalError
public static Primitive castPrimitive(Primitive primValue,
java.lang.Class toType)
throws EvalError
EvalErrorpublic void jjtOpen()
Node
jjtOpen in interface Nodepublic void jjtClose()
Node
jjtClose in interface Nodepublic void jjtSetParent(Node n)
Node
jjtSetParent in interface Nodepublic Node jjtGetParent()
jjtGetParent in interface Node
public void jjtAddChild(Node n,
int i)
Node
jjtAddChild in interface Nodepublic Node jjtGetChild(int i)
Node
jjtGetChild in interface Nodepublic SimpleNode getChild(int i)
public int jjtGetNumChildren()
Node
jjtGetNumChildren in interface Nodepublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String toString(java.lang.String prefix)
public void dump(java.lang.String prefix)
public void prune()
public java.lang.Object eval(NameSpace namespace)
throws EvalError
EvalErrorpublic void setSourceFile(java.lang.String sourceFile)
public java.lang.String getSourceFile()
public int getLineNumber()
public java.lang.String getText()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||