|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoscript.data.Value
oscript.data.Reference
A reference forwards all method calls to the object it is a reference for, but additionally a reference is assignable. It is used when a variable (or array element) is looked up within a scope, and can be used as either an lval or rval.
When a property of an object (ie a scope) has attributes associated
with it, those attributes are attributes of the reference. The
attributes are partially enforced by this class (in the case of
"const"), and by ScriptObject
(in the case of "public").
Note that this could extends AbstractReference
, but doesn't
because I think that would have a performance impact... one of these
days I should actually verify that...
Field Summary | |
static int |
ATTR_CONST
|
static int |
ATTR_INVALID
|
static int |
ATTR_PRIVATE
|
static int |
ATTR_PROTECTED
|
static int |
ATTR_PUBLIC
|
static int |
ATTR_STATIC
|
Fields inherited from class oscript.data.Value |
DEBUG, MEMBER_NAMES, NULL, PARENT_TYPE_NAME, TYPE, TYPE_NAME, UNDEFINED |
Constructor Summary | |
Reference()
Class Constructor. |
|
Reference(int attr)
Class Constructor. |
|
Reference(Reference r)
Copy Constructor |
Method Summary | |
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 |
callAsExtends(StackFrame sf,
Scope scope,
MemberTable args)
Call this object as a parent class constructor. |
Value |
callAsFunction(StackFrame sf,
MemberTable args)
Call this object as a function. |
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. |
boolean |
equals(java.lang.Object obj)
Compare two objects for equality. |
Value |
getMember(int id,
boolean exception)
Get a member of this object. |
java.lang.Object |
getMonitor()
Return the object used for implementing synchronized. |
Value |
getType()
Get the type of this object. |
protected Value |
getTypeImpl()
Get the type of this object. |
protected Value |
getTypeMember(Value obj,
int id)
Get a member of this type. |
int |
hashCode()
Return a hash code value for this object. |
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. |
void |
opAssign(Value val)
Perform assignment. |
void |
reset()
|
void |
reset(Value val)
|
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. |
Methods inherited from class oscript.data.Value |
_getTypeMember, _populateTypeMemberSet, callAsConstructor, callAsConstructor, callAsExtends, callAsExtends, callAsFunction, callAsFunction, getMember, getMember, getMember, getMember, getMember, getTypeMember, noSuchMember, populateMemberSet, populateTypeMemberSet, readExternal, toString, writeExternal |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int ATTR_INVALID
public static final int ATTR_PRIVATE
public static final int ATTR_PROTECTED
public static final int ATTR_PUBLIC
public static final int ATTR_CONST
public static final int ATTR_STATIC
Constructor Detail |
public Reference()
public Reference(Reference r)
public Reference(int attr)
attr
- attribute bitmaskMethod Detail |
protected Value getTypeImpl()
getType()
.
getTypeImpl
in class Value
public final void reset(Value val)
public final void reset()
public int hashCode()
Object.hashCode()
public boolean equals(java.lang.Object obj)
obj
- the object to compare to this object
true
if equals, else false
Object.equals(java.lang.Object)
public Value unhand()
this
.
unhand
in class Value
public java.lang.Object getMonitor()
JavaObjectWrapper
.
getMonitor
in class Value
public boolean isA(Value type)
type
,
or a subclass.
isA
in class Value
type
- the type to compare this type to
true
or false
PackagedScriptObjectException(NoSuchMemberException)
public Value getType()
getType
in class Value
public boolean castToBoolean() throws PackagedScriptObjectException
boolean
value.
castToBoolean
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public java.lang.String castToString() throws PackagedScriptObjectException
String
value.
castToString
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public long castToExactNumber() throws PackagedScriptObjectException
long
value.
castToExactNumber
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public double castToInexactNumber() throws PackagedScriptObjectException
double
value.
castToInexactNumber
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public java.lang.Object castToJavaObject() throws PackagedScriptObjectException
Object
value.
castToJavaObject
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopCast(Value val) throws PackagedScriptObjectException
(a)b
is equivalent to a.bopCast(b)
bopCast
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopCastR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopCastR
in class Value
PackagedScriptObjectException
public Value bopInstanceOf(Value val) throws PackagedScriptObjectException
bopInstanceOf
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopInstanceOfR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopInstanceOfR
in class Value
PackagedScriptObjectException
public Value bopLogicalOr(Value val) throws PackagedScriptObjectException
bopLogicalOr
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLogicalOrR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopLogicalOrR
in class Value
PackagedScriptObjectException
public Value bopLogicalAnd(Value val) throws PackagedScriptObjectException
bopLogicalAnd
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLogicalAndR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopLogicalAndR
in class Value
PackagedScriptObjectException
public Value bopBitwiseOr(Value val) throws PackagedScriptObjectException
bopBitwiseOr
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseOrR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopBitwiseOrR
in class Value
PackagedScriptObjectException
public Value bopBitwiseXor(Value val) throws PackagedScriptObjectException
bopBitwiseXor
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseXorR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopBitwiseXorR
in class Value
PackagedScriptObjectException
public Value bopBitwiseAnd(Value val) throws PackagedScriptObjectException
bopBitwiseAnd
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopBitwiseAndR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopBitwiseAndR
in class Value
PackagedScriptObjectException
public Value bopEquals(Value val) throws PackagedScriptObjectException
bopEquals
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopEqualsR
in class Value
PackagedScriptObjectException
public Value bopNotEquals(Value val) throws PackagedScriptObjectException
bopNotEquals
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopNotEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopNotEqualsR
in class Value
PackagedScriptObjectException
public Value bopLessThan(Value val) throws PackagedScriptObjectException
bopLessThan
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLessThanR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopLessThanR
in class Value
PackagedScriptObjectException
public Value bopGreaterThan(Value val) throws PackagedScriptObjectException
bopGreaterThan
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopGreaterThanR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopGreaterThanR
in class Value
PackagedScriptObjectException
public Value bopLessThanOrEquals(Value val) throws PackagedScriptObjectException
bopLessThanOrEquals
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLessThanOrEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopLessThanOrEqualsR
in class Value
PackagedScriptObjectException
public Value bopGreaterThanOrEquals(Value val) throws PackagedScriptObjectException
bopGreaterThanOrEquals
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopGreaterThanOrEqualsR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopGreaterThanOrEqualsR
in class Value
PackagedScriptObjectException
public Value bopLeftShift(Value val) throws PackagedScriptObjectException
bopLeftShift
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopLeftShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopLeftShiftR
in class Value
PackagedScriptObjectException
public Value bopSignedRightShift(Value val) throws PackagedScriptObjectException
bopSignedRightShift
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopSignedRightShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopSignedRightShiftR
in class Value
PackagedScriptObjectException
public Value bopUnsignedRightShift(Value val) throws PackagedScriptObjectException
bopUnsignedRightShift
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopUnsignedRightShiftR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopUnsignedRightShiftR
in class Value
PackagedScriptObjectException
public Value bopPlus(Value val) throws PackagedScriptObjectException
bopPlus
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopPlusR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopPlusR
in class Value
PackagedScriptObjectException
public Value bopMinus(Value val) throws PackagedScriptObjectException
bopMinus
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopMinusR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopMinusR
in class Value
PackagedScriptObjectException
public Value bopMultiply(Value val) throws PackagedScriptObjectException
bopMultiply
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopMultiplyR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopMultiplyR
in class Value
PackagedScriptObjectException
public Value bopDivide(Value val) throws PackagedScriptObjectException
bopDivide
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopDivideR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopDivideR
in class Value
PackagedScriptObjectException
public Value bopRemainder(Value val) throws PackagedScriptObjectException
bopRemainder
in class Value
val
- the other value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value bopRemainderR(Value val, PackagedScriptObjectException e) throws PackagedScriptObjectException
bopRemainderR
in class Value
PackagedScriptObjectException
public Value uopIncrement() throws PackagedScriptObjectException
uopIncrement
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopDecrement() throws PackagedScriptObjectException
uopDecrement
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopPlus() throws PackagedScriptObjectException
uopPlus
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopMinus() throws PackagedScriptObjectException
uopMinus
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopBitwiseNot() throws PackagedScriptObjectException
uopBitwiseNot
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value uopLogicalNot() throws PackagedScriptObjectException
uopLogicalNot
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public void opAssign(Value val) throws PackagedScriptObjectException
opAssign
in class Value
val
- the value to set this reference to
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
public Value callAsFunction(StackFrame sf, MemberTable args) throws PackagedScriptObjectException
callAsFunction
in class Value
sf
- the current stack frameargs
- the arguments to the function
PackagedScriptObjectException
Function
public Value callAsConstructor(StackFrame sf, MemberTable args) throws PackagedScriptObjectException
callAsConstructor
in class Value
sf
- the current stack frameargs
- the arguments to the function
PackagedScriptObjectException
Function
public Value callAsExtends(StackFrame sf, Scope scope, MemberTable args) throws PackagedScriptObjectException
callAsExtends
in class Value
sf
- the current stack framescope
- the objectargs
- the arguments to the function
PackagedScriptObjectException
Function
public Value getMember(int id, boolean exception) throws PackagedScriptObjectException
getMember
in class Value
id
- the id of the symbol that maps to the memberexception
- whether an exception should be thrown if the
member object is not resolved
PackagedScriptObjectException(NoSuchMethodException)
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
protected Value getTypeMember(Value obj, int id)
getTypeMember
in class Value
obj
- an object of this typeid
- the id of the symbol that maps to the member
Value.populateTypeMemberSet(java.util.Set, boolean)
public int length() throws PackagedScriptObjectException
elementAt
, this returns the
number of elements.
length
in class Value
PackagedScriptObjectException(NoSuchMemberException)
PackagedScriptObjectException
elementAt(oscript.data.Value)
,
elementsAt(oscript.data.Value, oscript.data.Value)
public Value elementAt(Value idx) throws PackagedScriptObjectException
elementAt
in class Value
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
elementsAt
in class Value
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 final java.util.Set memberSet()
memberSet
in class Value
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |