RexxToken Class Reference

#include <Token.hpp>

Inheritance diagram for RexxToken:
[legend]

Public Member Functions

void * operator new (size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 RexxToken (int, int, RexxString *, SourceLocation &)
 
 RexxToken (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
void setStart (size_t l, size_t o)
 
void setEnd (size_t l, size_t o)
 
bool isType (TokenClass t)
 
bool isType (TokenClass t1, TokenClass t2)
 
bool isType (TokenClass t1, TokenClass t2, TokenClass t3)
 
bool isVariable ()
 
bool isLiteral ()
 
bool isSourceLiteral ()
 
bool isSymbolOrLiteral ()
 
bool isConstant ()
 
bool isSymbol ()
 
bool isOperator ()
 
bool isEndOfClause ()
 
void setNumeric (int v)
 
const SourceLocationgetLocation ()
 
void setLocation (SourceLocation &l)
 
void checkAssignment (RexxSource *source, RexxString *newValue)
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectcopy ()
 
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxStringmakeString ()
 
virtual RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
virtual RexxIntegerintegerValue (size_t)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
virtual RexxNumberStringnumberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethodinstanceMethod (RexxString *)
 
virtual RexxSupplierinstanceMethods (RexxClass *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual RexxObjectunflatten (RexxEnvelope *)
 

Static Public Member Functions

static const char * codeText (int code)
 
static const char * keywordText (int code)
 
- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 

Public Attributes

SourceLocation tokenLocation
 
RexxStringvalue
 
int classId
 
int subclass
 
int numeric
 
int precedence
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 

Additional Inherited Members

- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 412 of file Token.hpp.

Constructor & Destructor Documentation

◆ RexxToken() [1/2]

RexxToken::RexxToken ( int  _classId,
int  _subclass,
RexxString _value,
SourceLocation _location 
)

Definition at line 51 of file Token.cpp.

References classId, numeric, OrefSet, precedence, subclass, tokenLocation, and value.

◆ RexxToken() [2/2]

RexxToken::RexxToken ( RESTORETYPE  restoreType)
inline

Definition at line 423 of file Token.hpp.

Member Function Documentation

◆ checkAssignment()

void RexxToken::checkAssignment ( RexxSource source,
RexxString newValue 
)

Check and update this token for the special assignment forms (+=, -=, etc.).

Parameters
sourceThe source for the original operator token.

Definition at line 103 of file Token.cpp.

References classId, RexxSource::nextSpecial(), TOKEN_ASSIGNMENT, tokenLocation, and value.

◆ codeText()

const char * RexxToken::codeText ( int  code)
static

◆ flatten()

void RexxToken::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 84 of file Token.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ getLocation()

◆ isConstant()

bool RexxToken::isConstant ( )
inline

◆ isEndOfClause()

◆ isLiteral()

◆ isOperator()

bool RexxToken::isOperator ( )
inline

Definition at line 440 of file Token.hpp.

References classId, and TOKEN_OPERATOR.

Referenced by RexxSource::constantDirective().

◆ isSourceLiteral()

bool RexxToken::isSourceLiteral ( )
inline

◆ isSymbol()

◆ isSymbolOrLiteral()

◆ isType() [1/3]

bool RexxToken::isType ( TokenClass  t)
inline

Definition at line 430 of file Token.hpp.

References classId.

Referenced by RexxSource::fullSubExpression().

◆ isType() [2/3]

bool RexxToken::isType ( TokenClass  t1,
TokenClass  t2 
)
inline

Definition at line 431 of file Token.hpp.

References classId.

◆ isType() [3/3]

bool RexxToken::isType ( TokenClass  t1,
TokenClass  t2,
TokenClass  t3 
)
inline

Definition at line 432 of file Token.hpp.

References classId.

◆ isVariable()

bool RexxToken::isVariable ( )
inline

◆ keywordText()

◆ live()

void RexxToken::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 68 of file Token.cpp.

References memory_mark, and value.

◆ liveGeneral()

void RexxToken::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 76 of file Token.cpp.

References memory_mark_general, and value.

◆ operator delete() [1/2]

void RexxToken::operator delete ( void *  )
inline

Definition at line 419 of file Token.hpp.

◆ operator delete() [2/2]

void RexxToken::operator delete ( void *  ,
void *   
)
inline

Definition at line 420 of file Token.hpp.

◆ operator new() [1/2]

void* RexxToken::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 418 of file Token.hpp.

◆ operator new() [2/2]

void * RexxToken::operator new ( size_t  size)

Definition at line 116 of file Token.cpp.

References new_object(), and T_Token.

◆ setEnd()

void RexxToken::setEnd ( size_t  l,
size_t  o 
)
inline

Definition at line 428 of file Token.hpp.

References SourceLocation::setEnd(), and tokenLocation.

◆ setLocation()

void RexxToken::setLocation ( SourceLocation l)
inline

Definition at line 444 of file Token.hpp.

References tokenLocation.

◆ setNumeric()

void RexxToken::setNumeric ( int  v)
inline

Definition at line 442 of file Token.hpp.

References numeric.

Referenced by RexxSource::sourceNextToken().

◆ setStart()

void RexxToken::setStart ( size_t  l,
size_t  o 
)
inline

Definition at line 427 of file Token.hpp.

References SourceLocation::setStart(), and tokenLocation.

Member Data Documentation

◆ classId

◆ numeric

int RexxToken::numeric

Definition at line 451 of file Token.hpp.

Referenced by RexxSource::addText(), dumpTokensImpl(), RexxToken(), and setNumeric().

◆ precedence

int RexxToken::precedence

Definition at line 452 of file Token.hpp.

Referenced by RexxSource::precedence(), RexxToken(), and RexxSource::sourceNextToken().

◆ subclass

◆ tokenLocation

SourceLocation RexxToken::tokenLocation

◆ value


The documentation for this class was generated from the following files: