RexxCompoundTail Class Reference

#include <RexxCompoundTail.hpp>

Public Member Functions

 RexxCompoundTail (RexxVariableDictionary *dictionary, RexxObject **tails, size_t tailCount)
 
 RexxCompoundTail (RexxActivation *context, RexxObject **tails, size_t tailCount)
 
 RexxCompoundTail (RexxObject **tails, size_t count)
 
 RexxCompoundTail (RexxString *tails, size_t count)
 
 RexxCompoundTail (RexxString *tailString)
 
 RexxCompoundTail (const char *tailString)
 
 RexxCompoundTail (size_t index)
 
 RexxCompoundTail (RexxObject **tails, size_t count, bool resolve)
 
 ~RexxCompoundTail ()
 
void ensureCapacity (size_t needed)
 
void expandCapacity (size_t needed)
 
void append (const char *newData, size_t stringLen)
 
void append (char newData)
 
RexxStringcreateCompoundName (RexxString *)
 
RexxStringmakeString ()
 
void init ()
 
void buildTail (RexxVariableDictionary *dictionary, RexxObject **tails, size_t tailCount)
 
void buildTail (RexxActivation *context, RexxObject **tails, size_t tailCount)
 
void buildTail (RexxObject **tails, size_t count)
 
void buildTail (RexxString *tail)
 
void buildTail (RexxString *tail, size_t index)
 
void buildTail (size_t index)
 
void buildTail (const char *index)
 
void buildUnresolvedTail (RexxObject **tails, size_t count)
 
void addDot ()
 
int compare (RexxString *name)
 
size_t getLength ()
 
const char * getTail ()
 

Protected Attributes

size_t length
 
size_t remainder
 
char * tail
 
char * current
 
char buffer [MAX_SYMBOL_LENGTH]
 
RexxStringvalue
 
RexxBuffertemp
 
ProtectedObject p
 

Private Types

enum  { ALLOCATION_PAD = 100 }
 

Detailed Description

Definition at line 52 of file RexxCompoundTail.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
ALLOCATION_PAD 

Definition at line 54 of file RexxCompoundTail.hpp.

Constructor & Destructor Documentation

◆ RexxCompoundTail() [1/8]

RexxCompoundTail::RexxCompoundTail ( RexxVariableDictionary dictionary,
RexxObject **  tails,
size_t  tailCount 
)
inline

Definition at line 57 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [2/8]

RexxCompoundTail::RexxCompoundTail ( RexxActivation context,
RexxObject **  tails,
size_t  tailCount 
)
inline

Definition at line 63 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [3/8]

RexxCompoundTail::RexxCompoundTail ( RexxObject **  tails,
size_t  count 
)
inline

Definition at line 69 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [4/8]

RexxCompoundTail::RexxCompoundTail ( RexxString tails,
size_t  count 
)
inline

Definition at line 74 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [5/8]

RexxCompoundTail::RexxCompoundTail ( RexxString tailString)
inline

Definition at line 80 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [6/8]

RexxCompoundTail::RexxCompoundTail ( const char *  tailString)
inline

Definition at line 86 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [7/8]

RexxCompoundTail::RexxCompoundTail ( size_t  index)
inline

Definition at line 92 of file RexxCompoundTail.hpp.

References buildTail(), and init().

◆ RexxCompoundTail() [8/8]

RexxCompoundTail::RexxCompoundTail ( RexxObject **  tails,
size_t  count,
bool  resolve 
)
inline

Definition at line 99 of file RexxCompoundTail.hpp.

References buildTail(), buildUnresolvedTail(), and init().

◆ ~RexxCompoundTail()

RexxCompoundTail::~RexxCompoundTail ( )
inline

Definition at line 111 of file RexxCompoundTail.hpp.

Member Function Documentation

◆ addDot()

void RexxCompoundTail::addDot ( )
inline

Definition at line 153 of file RexxCompoundTail.hpp.

References append().

Referenced by buildTail(), and buildUnresolvedTail().

◆ append() [1/2]

void RexxCompoundTail::append ( char  newData)
inline

Definition at line 124 of file RexxCompoundTail.hpp.

References current, ensureCapacity(), and remainder.

◆ append() [2/2]

void RexxCompoundTail::append ( const char *  newData,
size_t  stringLen 
)
inline

◆ buildTail() [1/7]

void RexxCompoundTail::buildTail ( const char *  t)

Build a tail directly from a single character string value.

Parameters
tThe pointer to the tail name (as an asciiz string);

Definition at line 251 of file RexxCompoundTail.cpp.

References length, remainder, and tail.

◆ buildTail() [2/7]

void RexxCompoundTail::buildTail ( RexxActivation context,
RexxObject **  tails,
size_t  tailCount 
)

◆ buildTail() [3/7]

void RexxCompoundTail::buildTail ( RexxObject **  tails,
size_t  count 
)

Definition at line 204 of file RexxCompoundTail.cpp.

References addDot(), RexxString::copyIntoTail(), current, length, OREF_NULL, and tail.

◆ buildTail() [4/7]

void RexxCompoundTail::buildTail ( RexxString tail)

◆ buildTail() [5/7]

void RexxCompoundTail::buildTail ( RexxString tail,
size_t  index 
)

◆ buildTail() [6/7]

void RexxCompoundTail::buildTail ( RexxVariableDictionary dictionary,
RexxObject **  tails,
size_t  tailCount 
)

◆ buildTail() [7/7]

void RexxCompoundTail::buildTail ( size_t  index)

Definition at line 276 of file RexxCompoundTail.cpp.

References current, Numerics::formatWholeNumber(), length, and remainder.

◆ buildUnresolvedTail()

void RexxCompoundTail::buildUnresolvedTail ( RexxObject **  tails,
size_t  count 
)

◆ compare()

int RexxCompoundTail::compare ( RexxString name)
inline

◆ createCompoundName()

◆ ensureCapacity()

void RexxCompoundTail::ensureCapacity ( size_t  needed)
inline

Definition at line 115 of file RexxCompoundTail.hpp.

References expandCapacity(), and remainder.

Referenced by append().

◆ expandCapacity()

void RexxCompoundTail::expandCapacity ( size_t  needed)

◆ getLength()

size_t RexxCompoundTail::getLength ( )
inline

Definition at line 164 of file RexxCompoundTail.hpp.

References length.

Referenced by RexxActivation::traceCompoundValue().

◆ getTail()

const char* RexxCompoundTail::getTail ( )
inline

Definition at line 165 of file RexxCompoundTail.hpp.

References tail.

Referenced by RexxActivation::traceCompoundValue().

◆ init()

void RexxCompoundTail::init ( void  )
inline

Definition at line 134 of file RexxCompoundTail.hpp.

References buffer, current, length, MAX_SYMBOL_LENGTH, OREF_NULL, remainder, tail, temp, and value.

Referenced by RexxCompoundTail().

◆ makeString()

RexxString * RexxCompoundTail::makeString ( )

Definition at line 343 of file RexxCompoundTail.cpp.

References length, new_string(), tail, and value.

Referenced by RexxCompoundTable::findEntry().

Member Data Documentation

◆ buffer

char RexxCompoundTail::buffer[MAX_SYMBOL_LENGTH]
protected

Definition at line 173 of file RexxCompoundTail.hpp.

Referenced by expandCapacity(), and init().

◆ current

char* RexxCompoundTail::current
protected

Definition at line 172 of file RexxCompoundTail.hpp.

Referenced by append(), buildTail(), buildUnresolvedTail(), expandCapacity(), and init().

◆ length

size_t RexxCompoundTail::length
protected

◆ p

ProtectedObject RexxCompoundTail::p
protected

Definition at line 176 of file RexxCompoundTail.hpp.

Referenced by expandCapacity().

◆ remainder

size_t RexxCompoundTail::remainder
protected

Definition at line 170 of file RexxCompoundTail.hpp.

Referenced by append(), buildTail(), ensureCapacity(), expandCapacity(), and init().

◆ tail

char* RexxCompoundTail::tail
protected

◆ temp

RexxBuffer* RexxCompoundTail::temp
protected

Definition at line 175 of file RexxCompoundTail.hpp.

Referenced by expandCapacity(), and init().

◆ value

RexxString* RexxCompoundTail::value
protected

Definition at line 174 of file RexxCompoundTail.hpp.

Referenced by buildTail(), init(), and makeString().


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