zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TType Class Reference

#include <Types.h>

Public Member Functions

 TType ()
 
 TType (TBasicType t, TPrecision p, TQualifier q=EvqTemporary, int s=1, bool m=false, bool a=false)
 
 TType (const TPublicType &p)
 
 TType (TStructure *userDef, TPrecision p=EbpUndefined)
 
void clearArrayness ()
 
int elementRegisterCount () const
 
int getArraySize () const
 
const char * getBasicString () const
 
TBasicType getBasicType () const
 
TString getCompleteString () const
 
int getDeepestStructNesting () const
 
const TStringgetMangledName () const
 
int getNominalSize () const
 
size_t getObjectSize () const
 
TPrecision getPrecision () const
 
const char * getPrecisionString () const
 
TQualifier getQualifier () const
 
const char * getQualifierString () const
 
TStructuregetStruct () const
 
bool isArray () const
 
bool isMatrix () const
 
bool isScalar () const
 
bool isStructureContainingArrays () const
 
bool isVector () const
 
bool operator!= (const TType &right) const
 
bool operator< (const TType &right) const
 
bool operator== (const TType &right) const
 
 POOL_ALLOCATOR_NEW_DELETE ()
 
bool sameElementType (const TType &right) const
 
void setArraySize (int s)
 
void setBasicType (TBasicType t)
 
void setMatrix (bool m)
 
void setNominalSize (int s)
 
void setPrecision (TPrecision p)
 
void setQualifier (TQualifier q)
 
void setStruct (TStructure *s)
 
int totalRegisterCount () const
 

Detailed Description

Definition at line 93 of file Types.h.

Constructor & Destructor Documentation

TType::TType ( )
inline

Definition at line 97 of file Types.h.

TType::TType ( TBasicType  t,
TPrecision  p,
TQualifier  q = EvqTemporary,
int  s = 1,
bool  m = false,
bool  a = false 
)
inline

Definition at line 98 of file Types.h.

TType::TType ( const TPublicType p)
explicit

Definition at line 22 of file SymbolTable.cpp.

References getStruct(), and TPublicType::userDef.

TType::TType ( TStructure userDef,
TPrecision  p = EbpUndefined 
)
inline

Definition at line 103 of file Types.h.

Member Function Documentation

void TType::clearArrayness ( )
inline
int TType::elementRegisterCount ( ) const
inline

Definition at line 123 of file Types.h.

References TStructure::fields(), getNominalSize(), getStruct(), i, and isMatrix().

Referenced by totalRegisterCount().

const char* TType::getBasicString ( ) const
inline
TString TType::getCompleteString ( ) const
int TType::getDeepestStructNesting ( ) const
inline

Definition at line 226 of file Types.h.

References TStructure::deepestNesting().

Referenced by TParseContext::structNestingErrorCheck().

const TString& TType::getMangledName ( ) const
inline

Definition at line 173 of file Types.h.

Referenced by TFunction::addParameter().

TPrecision TType::getPrecision ( ) const
inline
const char* TType::getPrecisionString ( ) const
inline

Definition at line 210 of file Types.h.

References getPrecisionString().

Referenced by getCompleteString().

const char* TType::getQualifierString ( ) const
inline
bool TType::isScalar ( ) const
inline

Definition at line 168 of file Types.h.

Referenced by sh::OutputHLSL::addConstructor(), and sh::OutputHLSL::glVariableType().

bool TType::isStructureContainingArrays ( ) const
inline
bool TType::operator!= ( const TType right) const
inline

Definition at line 195 of file Types.h.

References operator==().

bool TType::operator< ( const TType right) const
inline

Definition at line 198 of file Types.h.

bool TType::operator== ( const TType right) const
inline

Definition at line 187 of file Types.h.

Referenced by operator!=().

TType::POOL_ALLOCATOR_NEW_DELETE ( )
bool TType::sameElementType ( const TType right) const
inline

Definition at line 181 of file Types.h.

Referenced by TParseContext::arrayErrorCheck().

void TType::setArraySize ( int  s)
inline

Definition at line 164 of file Types.h.

Referenced by TParseContext::arrayErrorCheck(), IdentifyBuiltIns(), and switch().

void TType::setBasicType ( TBasicType  t)
inline

Definition at line 109 of file Types.h.

Referenced by switch().

void TType::setMatrix ( bool  m)
inline

Definition at line 160 of file Types.h.

References m.

Referenced by switch().

void TType::setNominalSize ( int  s)
inline

Definition at line 119 of file Types.h.

Referenced by switch().

void TType::setPrecision ( TPrecision  p)
inline

Definition at line 112 of file Types.h.

Referenced by sh::OutputHLSL::addConstructor(), TIntermBinary::promote(), and switch().

void TType::setStruct ( TStructure s)
inline

Definition at line 171 of file Types.h.

Referenced by switch().

int TType::totalRegisterCount ( ) const
inline

Definition at line 147 of file Types.h.

References elementRegisterCount().

Referenced by sh::OutputHLSL::declareUniform().


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