|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoscript.data.Value
The base class of all values in the interpreter. This class provides
methods (which throw script-exceptions if not overloaded), so that the
interpreter has a handy way of calling the methods needed to evaluate
a program. This methods can be overloaded by built-in (ie native java)
methods for the built-in types, or via ScriptObject
for
script types.
Field Summary | |
static boolean |
DEBUG
|
static java.lang.String[] |
MEMBER_NAMES
|
static Value |
NULL
|
static java.lang.String |
PARENT_TYPE_NAME
|
static BuiltinType |
TYPE
The type object for an instance of Value... |
static java.lang.String |
TYPE_NAME
|
static Value |
UNDEFINED
Various and asundry special values. |
Constructor Summary | |
Value()
Class Constructor. |
Method Summary | |
static Value |
_getTypeMember(Value type,
Value obj,
int id)
|
static void |
_populateTypeMemberSet(Value type,
java.util.Set s,
boolean d)
|
Value |
bopBitwiseAnd(Value val)
Perform the bitwise AND operation. |
Value |
bopBitwiseAndR(Value val,
PackagedScriptObjectException e)
|
Value |
bopBitwiseOr(Value val)
Perform the bitwise OR operation. |
Value |
bopBitwiseOrR(Value val,
PackagedScriptObjectException e)
|
Value |
bopBitwiseXor(Value val)
Perform the bitwise XOR operation. |
Value |
bopBitwiseXorR(Value val,
PackagedScriptObjectException e)
|
Value |
bopCast(Value val)
Perform the cast operation, (a)b is equivalent to a.bopCast(b) |
Value |
bopCastR(Value val,
PackagedScriptObjectException e)
|
Value |
bopDivide(Value val)
Perform the "/" operation. |
Value |
bopDivideR(Value val,
PackagedScriptObjectException e)
|
Value |
bopEquals(Value val)
Perform the "==" operation. |
Value |
bopEqualsR(Value val,
PackagedScriptObjectException e)
|
Value |
bopGreaterThan(Value val)
Perform the ">" operation. |
Value |
bopGreaterThanOrEquals(Value val)
Perform the ">=" operation. |
Value |
bopGreaterThanOrEqualsR(Value val,
PackagedScriptObjectException e)
|
Value |
bopGreaterThanR(Value val,
PackagedScriptObjectException e)
|
Value |
bopInstanceOf(Value val)
Perform the instanceof operation. |
Value |
bopInstanceOfR(Value val,
PackagedScriptObjectException e)
|
Value |
bopLeftShift(Value val)
Perform the "<<" operation. |
Value |
bopLeftShiftR(Value val,
PackagedScriptObjectException e)
|
Value |
bopLessThan(Value val)
Perform the "<" operation. |
Value |
bopLessThanOrEquals(Value val)
Perform the "<=" operation. |
Value |
bopLessThanOrEqualsR(Value val,
PackagedScriptObjectException e)
|
Value |
bopLessThanR(Value val,
PackagedScriptObjectException e)
|
Value |
bopLogicalAnd(Value val)
Perform the logical AND operation. |
Value |
bopLogicalAndR(Value val,
PackagedScriptObjectException e)
|
Value |
bopLogicalOr(Value val)
Perform the logical OR operation. |
Value |
bopLogicalOrR(Value val,
PackagedScriptObjectException e)
|
Value |
bopMinus(Value val)
Perform the "-" operation. |
Value |
bopMinusR(Value val,
PackagedScriptObjectException e)
|
Value |
bopMultiply(Value val)
Perform the "*" operation. |
Value |
bopMultiplyR(Value val,
PackagedScriptObjectException e)
|
Value |
bopNotEquals(Value val)
Perform the "!=" operation. |
Value |
bopNotEqualsR(Value val,
PackagedScriptObjectException e)
|
Value |
bopPlus(Value val)
Perform the "+" operation. |
Value |
bopPlusR(Value val,
PackagedScriptObjectException e)
|
Value |
bopRemainder(Value val)
Perform the "%" operation. |
Value |
bopRemainderR(Value val,
PackagedScriptObjectException e)
|
Value |
bopSignedRightShift(Value val)
Perform the ">>" operation. |
Value |
bopSignedRightShiftR(Value val,
PackagedScriptObjectException e)
|
Value |
bopUnsignedRightShift(Value val)
Perform the ">>>" operation. |
Value |
bopUnsignedRightShiftR(Value val,
PackagedScriptObjectException e)
|
Value |
callAsConstructor(StackFrame sf,
MemberTable args)
Call this object as a constructor. |
Value |
callAsConstructor(StackFrame sf,
Value[] args)
Deprecated. |
Value |
callAsConstructor(Value[] args)
|
Value |
callAsExtends(Scope scope,
MemberTable args)
|
Value |
callAsExtends(StackFrame sf,
Scope scope,
MemberTable args)
Call this object as a parent class constructor. |
Value |
callAsExtends(StackFrame sf,
Scope scope,
Value[] args)
Deprecated. |
Value |
callAsFunction(StackFrame sf,
MemberTable args)
Call this object as a function. |
Value |
callAsFunction(StackFrame sf,
Value[] args)
Deprecated. |
Value |
callAsFunction(Value[] args)
|
boolean |
castToBoolean()
Convert this object to a native java boolean value. |
long |
castToExactNumber()
Convert this object to a native java long value. |
double |
castToInexactNumber()
Convert this object to a native java double value. |
java.lang.Object |
castToJavaObject()
Convert this object to a native java Object value. |
java.lang.String |
castToString()
Convert this object to a native java String value. |
Value |
elementAt(Value idx)
Get the specified index of this object, if this object is an array. |
Value |
elementsAt(Value idx1,
Value idx2)
Get the specified range of this object, if this object is an array. |
Value |
getMember(int id)
Get a member of this object. |
Value |
getMember(int id,
boolean exception)
|
Value |
getMember(java.lang.String name)
Get a member of this object. |
Value |
getMember(java.lang.String name,
boolean exception)
This isn't really part of the public interface, but is provided for the generated wrapper classes. |
Value |
getMember(Value name)
Get a member of this object. |
Value |
getMember(Value name,
boolean exception)
|
java.lang.Object |
getMonitor()
Return the object used for implementing synchronized. |
Value |
getType()
Get the type of this object. |
protected abstract Value |
getTypeImpl()
Get the type of this object. |
protected Value |
getTypeMember(Value obj,
int id)
Get a member of this type. |
protected Value |
getTypeMember(Value obj,
Value name)
Deprecated. use other getTypeMember |
boolean |
isA(Value type)
If this object is a type, determine if an instance of this type is an instance of the specified type, ie. |
int |
length()
For types that implement elementAt , this returns the
number of elements. |
java.util.Set |
memberSet()
Returns the names of the members of this object. |
protected PackagedScriptObjectException |
noSuchMember(java.lang.String member)
|
void |
opAssign(Value val)
Perform assignment. |
protected void |
populateMemberSet(java.util.Set s,
boolean debugger)
Derived classes that implement getMember(java.lang.String) should also
implement this. |
protected void |
populateTypeMemberSet(java.util.Set s,
boolean debugger)
Derived classes that implement getTypeMember(oscript.data.Value, int) should also
implement this. |
void |
readExternal(java.io.ObjectInput in)
Derived class that implements Externalizable must
call this if it overrides it, or call #_externalInit from the
readExternal(java.io.ObjectInput) method. |
java.lang.String |
toString()
Convert this value to a string, for the benefit of java code. |
Value |
unhand()
For references to an object (ie variables), this returns the actual value this is a reference to, otherwise this return this . |
Value |
uopBitwiseNot()
Perform the "~" operation. |
Value |
uopDecrement()
Perform the "--" operation. |
Value |
uopIncrement()
Perform the "++" operation. |
Value |
uopLogicalNot()
Perform the "!" operation. |
Value |
uopMinus()
Perform the "-" operation. |
Value |
uopPlus()
Perform the "+" operation. |
void |
writeExternal(java.io.ObjectOutput out)
Derived class that implements Externalizable must
call this if it overrides it, or call #setType from the
readExternal(java.io.ObjectInput) method. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final Value UNDEFINED
public static final Value NULL
public static final BuiltinType TYPE
public static final java.lang.String PARENT_TYPE_NAME
public static final java.lang.String TYPE_NAME
public static final java.lang.String[] MEMBER_NAMES
public static final boolean DEBUG
Constructor Detail |
public Value()
Method Detail |
public Value unhand()
this
.
public java.lang.Object getMonitor()
JavaObjectWrapper
.
public boolean isA(Value type)
type
,
or a subclass.
type
- the type to compare this type to
true
or false
PackagedScriptObjectException(NoSuchMemberException)
public Value getType()
protected abstract Value getTypeImpl()
getType()
.
public boolean castToBoolean() throws PackagedScriptObjectException
boolean
value.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public java.lang.String castToString() throws PackagedScriptObjectException
String
value.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public long castToExactNumber() throws PackagedScriptObjectException
long
value.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public double castToInexactNumber() throws PackagedScriptObjectException
double
value.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public java.lang.Object castToJavaObject() throws PackagedScriptObjectException
Object
value.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopCast(Value val) throws PackagedScriptObjectException
(a)b
is equivalent to a.bopCast(b)
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopCastR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopInstanceOf(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopInstanceOfR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopLogicalOr(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLogicalOrR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopLogicalAnd(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLogicalAndR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopBitwiseOr(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseOrR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopBitwiseXor(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseXorR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopBitwiseAnd(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseAndR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopEquals(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopNotEquals(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopNotEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopLessThan(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLessThanR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopGreaterThan(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopGreaterThanR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopLessThanOrEquals(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLessThanOrEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopGreaterThanOrEquals(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopGreaterThanOrEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopLeftShift(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLeftShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopSignedRightShift(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopSignedRightShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopUnsignedRightShift(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopUnsignedRightShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopPlus(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopPlusR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopMinus(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopMinusR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopMultiply(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopMultiplyR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopDivide(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopDivideR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value bopRemainder(Value val) throws PackagedScriptObjectException
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopRemainderR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value uopIncrement() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopDecrement() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopPlus() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopMinus() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopBitwiseNot() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopLogicalNot() throws PackagedScriptObjectException
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public void opAssign(Value val) throws PackagedScriptObjectException
val
- the value to set this reference to
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value callAsFunction(StackFrame sf, MemberTable args) throws PackagedScriptObjectException
sf
- the current stack frameargs
- the arguments to the function, or null
if none
PackagedScriptObjectException
Function
public final Value callAsFunction(Value[] args) throws PackagedScriptObjectException
PackagedScriptObjectException
public final Value callAsFunction(StackFrame sf, Value[] args)
public Value callAsConstructor(StackFrame sf, MemberTable args) throws PackagedScriptObjectException
sf
- the current stack frameargs
- the arguments to the function, or null
if none
PackagedScriptObjectException
Function
public final Value callAsConstructor(Value[] args) throws PackagedScriptObjectException
PackagedScriptObjectException
public final Value callAsConstructor(StackFrame sf, Value[] args)
public Value callAsExtends(StackFrame sf, Scope scope, MemberTable args) throws PackagedScriptObjectException
sf
- the current stack framescope
- the objectargs
- the arguments to the function, or null
if none
PackagedScriptObjectException
Function
public final Value callAsExtends(Scope scope, MemberTable args) throws PackagedScriptObjectException
PackagedScriptObjectException
public final Value callAsExtends(StackFrame sf, Scope scope, Value[] args)
public final Value getMember(java.lang.String name) throws PackagedScriptObjectException
name
- the name of the member
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
populateMemberSet(java.util.Set, boolean)
public Value getMember(Value name) throws PackagedScriptObjectException
name
- the name of the member
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
populateMemberSet(java.util.Set, boolean)
public final Value getMember(int id) throws PackagedScriptObjectException
id
- the id of the symbol that maps to the member
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
populateMemberSet(java.util.Set, boolean)
public final Value getMember(java.lang.String name, boolean exception) throws PackagedScriptObjectException
PackagedScriptObjectException
public final Value getMember(Value name, boolean exception) throws PackagedScriptObjectException
PackagedScriptObjectException
public Value getMember(int id, boolean exception) throws PackagedScriptObjectException
PackagedScriptObjectException
protected Value getTypeMember(Value obj, int id)
obj
- an object of this typeid
- the id of the symbol that maps to the member
populateTypeMemberSet(java.util.Set, boolean)
public static Value _getTypeMember(Value type, Value obj, int id)
public static void _populateTypeMemberSet(Value type, java.util.Set s, boolean d)
protected final Value getTypeMember(Value obj, Value name)
public int length() throws PackagedScriptObjectException
elementAt
, this returns the
number of elements.
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
elementAt(oscript.data.Value)
,
elementsAt(oscript.data.Value, oscript.data.Value)
public Value elementAt(Value idx) throws PackagedScriptObjectException
idx
- the index to get
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
length()
,
elementsAt(oscript.data.Value, oscript.data.Value)
public Value elementsAt(Value idx1, Value idx2) throws PackagedScriptObjectException
idx1
- the index index of the beginning of the range, inclusiveidx2
- the index of the end of the range, inclusive
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
length()
,
elementAt(oscript.data.Value)
public java.util.Set memberSet()
protected void populateMemberSet(java.util.Set s, boolean debugger)
getMember(java.lang.String)
should also
implement this.
s
- the set to populatedebugger
- true
if being used by debugger, in
which case both public and private/protected field names should
be returnedgetMember(java.lang.String)
protected void populateTypeMemberSet(java.util.Set s, boolean debugger)
getTypeMember(oscript.data.Value, int)
should also
implement this.
s
- the set to populatedebugger
- true
if being used by debugger, in
which case both public and private/protected field names should
be returnedgetTypeMember(oscript.data.Value, int)
public java.lang.String toString()
protected PackagedScriptObjectException noSuchMember(java.lang.String member)
public void readExternal(java.io.ObjectInput in) throws java.lang.ClassNotFoundException, java.io.IOException
Externalizable
must
call this if it overrides it, or call #_externalInit
from the
readExternal(java.io.ObjectInput)
method. This class doesn't (yet!) implement
Externalizable
because that would force all subclasses
to implement it too (ie. override this methods).
java.lang.ClassNotFoundException
java.io.IOException
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
Externalizable
must
call this if it overrides it, or call #setType
from the
readExternal(java.io.ObjectInput)
method. This class doesn't (yet!) implement
Externalizable
because that would force all subclasses
to implement it too (ie. override this methods).
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |