|
|||||||||||
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 SimpleNode
EvalError
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
EvalError
public void jjtOpen()
Node
jjtOpen
in interface Node
public void jjtClose()
Node
jjtClose
in interface Node
public void jjtSetParent(Node n)
Node
jjtSetParent
in interface Node
public Node jjtGetParent()
jjtGetParent
in interface Node
public void jjtAddChild(Node n, int i)
Node
jjtAddChild
in interface Node
public Node jjtGetChild(int i)
Node
jjtGetChild
in interface Node
public SimpleNode getChild(int i)
public int jjtGetNumChildren()
Node
jjtGetNumChildren
in interface Node
public java.lang.String toString()
toString
in class java.lang.Object
public 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
EvalError
public 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 |