webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | List of all members
TSymbolTable Class Reference

#include <SymbolTable.h>

Inheritance diagram for TSymbolTable:
angle::NonCopyable

Public Member Functions

 TSymbolTable ()
 
 ~TSymbolTable ()
 
bool isEmpty () const
 
bool atBuiltInLevel () const
 
bool atGlobalLevel () const
 
void push ()
 
void pop ()
 
bool declare (TSymbol *symbol)
 
bool insert (ESymbolLevel level, TSymbol *symbol)
 
bool insert (ESymbolLevel level, const char *ext, TSymbol *symbol)
 
bool insertConstInt (ESymbolLevel level, const char *name, int value, TPrecision precision)
 
bool insertConstIntExt (ESymbolLevel level, const char *ext, const char *name, int value)
 
bool insertConstIvec3 (ESymbolLevel level, const char *name, const std::array< int, 3 > &values, TPrecision precision)
 
void insertBuiltIn (ESymbolLevel level, TOperator op, const char *ext, const TType *rvalue, const char *name, const TType *ptype1, const TType *ptype2=0, const TType *ptype3=0, const TType *ptype4=0, const TType *ptype5=0)
 
void insertBuiltIn (ESymbolLevel level, const TType *rvalue, const char *name, const TType *ptype1, const TType *ptype2=0, const TType *ptype3=0, const TType *ptype4=0, const TType *ptype5=0)
 
void insertBuiltIn (ESymbolLevel level, const char *ext, const TType *rvalue, const char *name, const TType *ptype1, const TType *ptype2=0, const TType *ptype3=0, const TType *ptype4=0, const TType *ptype5=0)
 
void insertBuiltIn (ESymbolLevel level, TOperator op, const TType *rvalue, const char *name, const TType *ptype1, const TType *ptype2=0, const TType *ptype3=0, const TType *ptype4=0, const TType *ptype5=0)
 
TSymbolfind (const TString &name, int shaderVersion, bool *builtIn=NULL, bool *sameScope=NULL) const
 
TSymbolfindBuiltIn (const TString &name, int shaderVersion) const
 
TSymbolTableLevelgetOuterLevel ()
 
void dump (TInfoSink &infoSink) const
 
bool setDefaultPrecision (const TPublicType &type, TPrecision prec)
 
TPrecision getDefaultPrecision (TBasicType type) const
 
void addInvariantVarying (const std::string &originalName)
 
bool isVaryingInvariant (const std::string &originalName) const
 
void setGlobalInvariant (bool invariant)
 
bool hasUnmangledBuiltIn (const char *name)
 

Static Public Member Functions

static int nextUniqueId ()
 

Constructor & Destructor Documentation

◆ TSymbolTable()

TSymbolTable::TSymbolTable ( )
inline

◆ ~TSymbolTable()

TSymbolTable::~TSymbolTable ( )

Member Function Documentation

◆ addInvariantVarying()

void TSymbolTable::addInvariantVarying ( const std::string originalName)
inline

◆ atBuiltInLevel()

bool TSymbolTable::atBuiltInLevel ( ) const
inline

◆ atGlobalLevel()

bool TSymbolTable::atGlobalLevel ( ) const
inline

◆ declare()

bool TSymbolTable::declare ( TSymbol symbol)
inline

◆ dump()

void TSymbolTable::dump ( TInfoSink infoSink) const

◆ find()

TSymbol * TSymbolTable::find ( const TString name,
int  shaderVersion,
bool *  builtIn = NULL,
bool *  sameScope = NULL 
) const

◆ findBuiltIn()

TSymbol * TSymbolTable::findBuiltIn ( const TString name,
int  shaderVersion 
) const

◆ getDefaultPrecision()

TPrecision TSymbolTable::getDefaultPrecision ( TBasicType  type) const

◆ getOuterLevel()

TSymbolTableLevel* TSymbolTable::getOuterLevel ( )
inline

◆ hasUnmangledBuiltIn()

bool TSymbolTable::hasUnmangledBuiltIn ( const char *  name)
inline

◆ insert() [1/2]

bool TSymbolTable::insert ( ESymbolLevel  level,
TSymbol symbol 
)
inline

◆ insert() [2/2]

bool TSymbolTable::insert ( ESymbolLevel  level,
const char *  ext,
TSymbol symbol 
)
inline

◆ insertBuiltIn() [1/4]

void TSymbolTable::insertBuiltIn ( ESymbolLevel  level,
TOperator  op,
const char *  ext,
const TType rvalue,
const char *  name,
const TType ptype1,
const TType ptype2 = 0,
const TType ptype3 = 0,
const TType ptype4 = 0,
const TType ptype5 = 0 
)

◆ insertBuiltIn() [2/4]

void TSymbolTable::insertBuiltIn ( ESymbolLevel  level,
const TType rvalue,
const char *  name,
const TType ptype1,
const TType ptype2 = 0,
const TType ptype3 = 0,
const TType ptype4 = 0,
const TType ptype5 = 0 
)
inline

◆ insertBuiltIn() [3/4]

void TSymbolTable::insertBuiltIn ( ESymbolLevel  level,
const char *  ext,
const TType rvalue,
const char *  name,
const TType ptype1,
const TType ptype2 = 0,
const TType ptype3 = 0,
const TType ptype4 = 0,
const TType ptype5 = 0 
)
inline

◆ insertBuiltIn() [4/4]

void TSymbolTable::insertBuiltIn ( ESymbolLevel  level,
TOperator  op,
const TType rvalue,
const char *  name,
const TType ptype1,
const TType ptype2 = 0,
const TType ptype3 = 0,
const TType ptype4 = 0,
const TType ptype5 = 0 
)
inline

◆ insertConstInt()

bool TSymbolTable::insertConstInt ( ESymbolLevel  level,
const char *  name,
int  value,
TPrecision  precision 
)
inline

◆ insertConstIntExt()

bool TSymbolTable::insertConstIntExt ( ESymbolLevel  level,
const char *  ext,
const char *  name,
int  value 
)
inline

◆ insertConstIvec3()

bool TSymbolTable::insertConstIvec3 ( ESymbolLevel  level,
const char *  name,
const std::array< int, 3 > &  values,
TPrecision  precision 
)
inline

◆ isEmpty()

bool TSymbolTable::isEmpty ( void  ) const
inline

◆ isVaryingInvariant()

bool TSymbolTable::isVaryingInvariant ( const std::string originalName) const
inline

◆ nextUniqueId()

static int TSymbolTable::nextUniqueId ( )
inlinestatic

◆ pop()

void TSymbolTable::pop ( )
inline

◆ push()

void TSymbolTable::push ( )
inline

◆ setDefaultPrecision()

bool TSymbolTable::setDefaultPrecision ( const TPublicType type,
TPrecision  prec 
)
inline

◆ setGlobalInvariant()

void TSymbolTable::setGlobalInvariant ( bool  invariant)
inline

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