C# Class Rhino.IdScriptableObject

Inheritance: ScriptableObject, IdFunctionCall
Exibir arquivo Open project: hazzik/Rhino.Net Class Usage Examples

Public Methods

Method Description
ActivatePrototypeMap ( int maxPrototypeId ) : void
DefineOwnProperty ( Context cx, object key, ScriptableObject desc ) : void
Delete ( string name ) : void
ExecIdCall ( IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, object args ) : object

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.

ExportAsJSClass ( int maxPrototypeId, Scriptable scope, bool @sealed ) : IdFunctionObject
Get ( string name, Scriptable start ) : object
GetAttributes ( string name ) : int
Has ( string name, Scriptable start ) : bool
HasPrototypeMap ( ) : bool
IdScriptableObject ( ) : System
IdScriptableObject ( Scriptable scope, Scriptable prototype ) : System
InitPrototypeConstructor ( IdFunctionObject f ) : void
InitPrototypeMethod ( object tag, int id, string name, int arity ) : void
InitPrototypeValue ( int id, string name, object value, int attributes ) : void
Put ( string name, Scriptable start, object value ) : void
SetAttributes ( string name, int attributes ) : void

Protected Methods

Method Description
AddIdFunctionProperty ( Scriptable obj, object tag, int id, string name, int arity ) : void
DefaultGet ( string name ) : object
DefaultPut ( string name, object value ) : void
FillConstructorProperties ( IdFunctionObject ctor ) : void
FindInstanceIdInfo ( string name ) : int

Map name to id of instance property.

Map name to id of instance property. Should return 0 if not found or the result of InstanceIdInfo(int, int) .

FindPrototypeId ( string name ) : int
GetInstanceIdName ( int id ) : string

Map id back to property name it defines.

Map id back to property name it defines.

GetInstanceIdValue ( int id ) : object

Get id value.

Get id value. If id value is constant, descendant can call cacheIdValue to store value in the permanent cache. Default implementation creates IdFunctionObject instance for given id and cache its value

GetMaxInstanceId ( ) : int

Get maximum id findInstanceIdInfo can generate.

Get maximum id findInstanceIdInfo can generate.

GetOwnPropertyDescriptor ( Context cx, object id ) : ScriptableObject
IncompatibleCallError ( IdFunctionObject f ) : EcmaError

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible.

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible. Possible usage would be to have a private function like realThis:

 private static NativeSomething realThis(Scriptable thisObj, IdFunctionObject f) { if (!(thisObj instanceof NativeSomething)) throw incompatibleCallError(f); return (NativeSomething)thisObj; } 
Note that although such function can be implemented universally via java.lang.Class.isInstance(), it would be much more slower.
InitPrototypeId ( int id ) : void
InstanceIdInfo ( int attributes, int id ) : int
SetInstanceIdAttributes ( int id, int attr ) : void

Update the attributes of the given instance property.

Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.

SetInstanceIdValue ( int id, object value ) : void

Set or delete id value.

Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.

Private Methods

Method Description
GetBuiltInDescriptor ( string name ) : ScriptableObject
GetIds ( bool getAll ) : object[]
NewIdFunction ( object tag, int id, string name, int arity, Scriptable scope ) : IdFunctionObject
ReadObject ( ObjectInputStream stream ) : void
WriteObject ( ObjectOutputStream stream ) : void

Method Details

ActivatePrototypeMap() public method

public ActivatePrototypeMap ( int maxPrototypeId ) : void
maxPrototypeId int
return void

AddIdFunctionProperty() protected method

protected AddIdFunctionProperty ( Scriptable obj, object tag, int id, string name, int arity ) : void
obj Scriptable
tag object
id int
name string
arity int
return void

DefaultGet() protected method

protected DefaultGet ( string name ) : object
name string
return object

DefaultPut() protected method

protected DefaultPut ( string name, object value ) : void
name string
value object
return void

DefineOwnProperty() public method

public DefineOwnProperty ( Context cx, object key, ScriptableObject desc ) : void
cx Context
key object
desc ScriptableObject
return void

Delete() public method

public Delete ( string name ) : void
name string
return void

ExecIdCall() public method

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.
'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.
public ExecIdCall ( IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, object args ) : object
f IdFunctionObject
cx Context
scope Scriptable
thisObj Scriptable
args object
return object

ExportAsJSClass() public method

public ExportAsJSClass ( int maxPrototypeId, Scriptable scope, bool @sealed ) : IdFunctionObject
maxPrototypeId int
scope Scriptable
@sealed bool
return IdFunctionObject

FillConstructorProperties() protected method

protected FillConstructorProperties ( IdFunctionObject ctor ) : void
ctor IdFunctionObject
return void

FindInstanceIdInfo() protected method

Map name to id of instance property.
Map name to id of instance property. Should return 0 if not found or the result of InstanceIdInfo(int, int) .
protected FindInstanceIdInfo ( string name ) : int
name string
return int

FindPrototypeId() protected method

protected FindPrototypeId ( string name ) : int
name string
return int

Get() public method

public Get ( string name, Scriptable start ) : object
name string
start Scriptable
return object

GetAttributes() public method

public GetAttributes ( string name ) : int
name string
return int

GetInstanceIdName() protected method

Map id back to property name it defines.
Map id back to property name it defines.
protected GetInstanceIdName ( int id ) : string
id int
return string

GetInstanceIdValue() protected method

Get id value.
Get id value. If id value is constant, descendant can call cacheIdValue to store value in the permanent cache. Default implementation creates IdFunctionObject instance for given id and cache its value
protected GetInstanceIdValue ( int id ) : object
id int
return object

GetMaxInstanceId() protected method

Get maximum id findInstanceIdInfo can generate.
Get maximum id findInstanceIdInfo can generate.
protected GetMaxInstanceId ( ) : int
return int

GetOwnPropertyDescriptor() protected method

protected GetOwnPropertyDescriptor ( Context cx, object id ) : ScriptableObject
cx Context
id object
return ScriptableObject

Has() public method

public Has ( string name, Scriptable start ) : bool
name string
start Scriptable
return bool

HasPrototypeMap() public method

public HasPrototypeMap ( ) : bool
return bool

IdScriptableObject() public method

public IdScriptableObject ( ) : System
return System

IdScriptableObject() public method

public IdScriptableObject ( Scriptable scope, Scriptable prototype ) : System
scope Scriptable
prototype Scriptable
return System

IncompatibleCallError() protected static method

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible.
Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible. Possible usage would be to have a private function like realThis:
 private static NativeSomething realThis(Scriptable thisObj, IdFunctionObject f) { if (!(thisObj instanceof NativeSomething)) throw incompatibleCallError(f); return (NativeSomething)thisObj; } 
Note that although such function can be implemented universally via java.lang.Class.isInstance(), it would be much more slower.
if no more instanceof target can be found
protected static IncompatibleCallError ( IdFunctionObject f ) : EcmaError
f IdFunctionObject /// function that is attempting to convert 'this' /// object. ///
return EcmaError

InitPrototypeConstructor() public method

public InitPrototypeConstructor ( IdFunctionObject f ) : void
f IdFunctionObject
return void

InitPrototypeId() protected method

protected InitPrototypeId ( int id ) : void
id int
return void

InitPrototypeMethod() public method

public InitPrototypeMethod ( object tag, int id, string name, int arity ) : void
tag object
id int
name string
arity int
return void

InitPrototypeValue() public method

public InitPrototypeValue ( int id, string name, object value, int attributes ) : void
id int
name string
value object
attributes int
return void

InstanceIdInfo() protected static method

protected static InstanceIdInfo ( int attributes, int id ) : int
attributes int
id int
return int

Put() public method

public Put ( string name, Scriptable start, object value ) : void
name string
start Scriptable
value object
return void

SetAttributes() public method

public SetAttributes ( string name, int attributes ) : void
name string
attributes int
return void

SetInstanceIdAttributes() protected method

Update the attributes of the given instance property.
Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.
protected SetInstanceIdAttributes ( int id, int attr ) : void
id int the instance property id
attr int the new attribute bitset
return void

SetInstanceIdValue() protected method

Set or delete id value.
Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.
protected SetInstanceIdValue ( int id, object value ) : void
id int
value object
return void