Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members

CCM::Ref Class Reference

List of all members.

Detailed Description

Represents a variable or method reference.

To be able to resolve static method calls, you must call setClasses() before use.


Public Member Functions

 Ref (QID id, bool thisRef)
 Initializes a reference with the given id.

bool isQualified ()
 Return whether the reference is qualified.

QID getId ()
 Returns the qualified identifer of this reference.

bool isThis ()
 Returns whether this is a "this" reference.

Object call (List args)
 Call the method this reference points to and return its result.

override string ToString ()
 Returns a C# representation of this reference.

Class resolveClass ()
 Return the stub class of the referred variable.


Static Public Member Functions

void setClasses (Hashtable classes)
 This must be called with a dictionary of all available classes before code interpretation to allow resolution of static method calls.


Properties

Object Value
 Get/set the value of the referred variable.

QID id
bool thisRef
 True if this is a this.xxx reference.

Hashtable classes
 string -> Class dictionary of all available classes for static method call resolution.


Private Member Functions

Variable resolveVar ()
 Returns the variable this reference points to.


Constructor & Destructor Documentation

CCM::Ref::Ref QID  id,
bool  thisRef
 

Initializes a reference with the given id.

If thisRef == true, it becomes a reference to this.id.


Member Function Documentation

Object CCM::Ref::call List  args  ) 
 

Call the method this reference points to and return its result.

This also ensures that a MethodCallNode is created on stub method calls.

QID CCM::Ref::getId  ) 
 

Returns the qualified identifer of this reference.

bool CCM::Ref::isQualified  ) 
 

Return whether the reference is qualified.

bool CCM::Ref::isThis  ) 
 

Returns whether this is a "this" reference.

Class CCM::Ref::resolveClass  ) 
 

Return the stub class of the referred variable.

Also works for static method call references.

Variable CCM::Ref::resolveVar  )  [private]
 

Returns the variable this reference points to.

This does not yet support static class fields!

void CCM::Ref::setClasses Hashtable  classes  )  [static]
 

This must be called with a dictionary of all available classes before code interpretation to allow resolution of static method calls.

override string CCM::Ref::ToString  ) 
 

Returns a C# representation of this reference.


Property Documentation

Hashtable CCM::Ref::classes [static, private]
 

string -> Class dictionary of all available classes for static method call resolution.

QID CCM::Ref::id [private]
 

bool CCM::Ref::thisRef [private]
 

True if this is a this.xxx reference.

Object CCM::Ref::Value [get, set]
 

Get/set the value of the referred variable.

This also ensures that ValueInNodes and ValueOutNodes are created on stub accesses.


The documentation for this class was generated from the following file:
Generated on Mon Jun 21 01:20:50 2004 for cs2ccmb by doxygen 1.3.7