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

#include <ParseContext.h>

Inheritance diagram for TParseContext:
angle::NonCopyable

Public Member Functions

 TParseContext (TSymbolTable &symt, TExtensionBehavior &ext, sh::GLenum type, ShShaderSpec spec, ShCompileOptions options, bool checksPrecErrors, TInfoSink &is, const ShBuiltInResources &resources)
 
const pp::Preprocessor & getPreprocessor () const
 
pp::Preprocessor & getPreprocessor ()
 
void * getScanner () const
 
void setScanner (void *scanner)
 
int getShaderVersion () const
 
sh::GLenum getShaderType () const
 
ShShaderSpec getShaderSpec () const
 
int numErrors () const
 
TInfoSink & infoSink ()
 
void error (const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="")
 
void warning (const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="")
 
void outOfRangeError (bool isError, const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="")
 
TIntermBlock * getTreeRoot () const
 
void setTreeRoot (TIntermBlock *treeRoot)
 
bool getFragmentPrecisionHigh () const
 
void setFragmentPrecisionHighOnESSL1 (bool fragmentPrecisionHigh)
 
void setLoopNestingLevel (int loopNestintLevel)
 
void incrLoopNestingLevel ()
 
void decrLoopNestingLevel ()
 
void incrSwitchNestingLevel ()
 
void decrSwitchNestingLevel ()
 
bool isComputeShaderLocalSizeDeclared () const
 
sh::WorkGroupSize getComputeShaderLocalSize () const
 
void enterFunctionDeclaration ()
 
void exitFunctionDeclaration ()
 
bool declaringFunction () const
 
const TVariable * getNamedVariable (const TSourceLoc &location, const TString *name, const TSymbol *symbol)
 
TIntermTyped * parseVariableIdentifier (const TSourceLoc &location, const TString *name, const TSymbol *symbol)
 
bool parseVectorFields (const TString &, int vecSize, TVectorFields &, const TSourceLoc &line)
 
void assignError (const TSourceLoc &line, const char *op, TString left, TString right)
 
void unaryOpError (const TSourceLoc &line, const char *op, TString operand)
 
void binaryOpError (const TSourceLoc &line, const char *op, TString left, TString right)
 
bool checkIsNotReserved (const TSourceLoc &line, const TString &identifier)
 
void checkPrecisionSpecified (const TSourceLoc &line, TPrecision precision, TBasicType type)
 
bool checkCanBeLValue (const TSourceLoc &line, const char *op, TIntermTyped *node)
 
void checkIsConst (TIntermTyped *node)
 
void checkIsScalarInteger (TIntermTyped *node, const char *token)
 
bool checkIsAtGlobalLevel (const TSourceLoc &line, const char *token)
 
bool checkConstructorArguments (const TSourceLoc &line, TIntermNode *argumentsNode, const TFunction &function, TOperator op, const TType &type)
 
unsigned int checkIsValidArraySize (const TSourceLoc &line, TIntermTyped *expr)
 
bool checkIsValidQualifierForArray (const TSourceLoc &line, const TPublicType &elementQualifier)
 
bool checkIsValidTypeForArray (const TSourceLoc &line, const TPublicType &elementType)
 
bool checkIsNonVoid (const TSourceLoc &line, const TString &identifier, const TBasicType &type)
 
void checkIsScalarBool (const TSourceLoc &line, const TIntermTyped *type)
 
void checkIsScalarBool (const TSourceLoc &line, const TPublicType &pType)
 
bool checkIsNotSampler (const TSourceLoc &line, const TTypeSpecifierNonArray &pType, const char *reason)
 
void checkDeclaratorLocationIsNotSpecified (const TSourceLoc &line, const TPublicType &pType)
 
void checkLocationIsNotSpecified (const TSourceLoc &location, const TLayoutQualifier &layoutQualifier)
 
void checkOutParameterIsNotSampler (const TSourceLoc &line, TQualifier qualifier, const TType &type)
 
void checkIsParameterQualifierValid (const TSourceLoc &line, const TTypeQualifierBuilder &typeQualifierBuilder, TType *type)
 
bool checkCanUseExtension (const TSourceLoc &line, const TString &extension)
 
void singleDeclarationErrorCheck (const TPublicType &publicType, const TSourceLoc &identifierLocation)
 
void checkLayoutQualifierSupported (const TSourceLoc &location, const TString &layoutQualifierName, int versionRequired)
 
bool checkWorkGroupSizeIsNotSpecified (const TSourceLoc &location, const TLayoutQualifier &layoutQualifier)
 
void functionCallLValueErrorCheck (const TFunction *fnCandidate, TIntermAggregate *fnCall)
 
void checkInvariantVariableQualifier (bool invariant, const TQualifier qualifier, const TSourceLoc &invariantLocation)
 
void checkInputOutputTypeIsValidES3 (const TQualifier qualifier, const TPublicType &type, const TSourceLoc &qualifierLocation)
 
const TPragma & pragma () const
 
const TExtensionBehavior & extensionBehavior () const
 
bool supportsExtension (const char *extension)
 
bool isExtensionEnabled (const char *extension) const
 
void handleExtensionDirective (const TSourceLoc &loc, const char *extName, const char *behavior)
 
void handlePragmaDirective (const TSourceLoc &loc, const char *name, const char *value, bool stdgl)
 
bool containsSampler (const TType &type)
 
const TFunction * findFunction (const TSourceLoc &line, TFunction *pfnCall, int inputShaderVersion, bool *builtIn=0)
 
bool executeInitializer (const TSourceLoc &line, const TString &identifier, const TPublicType &pType, TIntermTyped *initializer, TIntermNode **intermNode)
 
TPublicType addFullySpecifiedType (const TTypeQualifierBuilder &typeQualifierBuilder, const TPublicType &typeSpecifier)
 
TIntermAggregate * parseSingleDeclaration (TPublicType &publicType, const TSourceLoc &identifierOrTypeLocation, const TString &identifier)
 
TIntermAggregate * parseSingleArrayDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression)
 
TIntermAggregate * parseSingleInitDeclaration (const TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregate * parseSingleArrayInitDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregate * parseInvariantDeclaration (const TTypeQualifierBuilder &typeQualifierBuilder, const TSourceLoc &identifierLoc, const TString *identifier, const TSymbol *symbol)
 
TIntermAggregate * parseDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier)
 
TIntermAggregate * parseArrayDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &arrayLocation, TIntermTyped *indexExpression)
 
TIntermAggregate * parseInitDeclarator (const TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregate * parseArrayInitDeclarator (const TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
void parseGlobalLayoutQualifier (const TTypeQualifierBuilder &typeQualifierBuilder)
 
TIntermAggregate * addFunctionPrototypeDeclaration (const TFunction &parsedFunction, const TSourceLoc &location)
 
TIntermFunctionDefinition * addFunctionDefinition (const TFunction &function, TIntermAggregate *functionParameters, TIntermBlock *functionBody, const TSourceLoc &location)
 
void parseFunctionDefinitionHeader (const TSourceLoc &location, TFunction **function, TIntermAggregate **aggregateOut)
 
TFunction * parseFunctionDeclarator (const TSourceLoc &location, TFunction *function)
 
TFunction * parseFunctionHeader (const TPublicType &type, const TString *name, const TSourceLoc &location)
 
TFunction * addConstructorFunc (const TPublicType &publicType)
 
TIntermTyped * addConstructor (TIntermNode *arguments, TOperator op, TFunction *fnCall, const TSourceLoc &line)
 
TIntermTyped * addIndexExpression (TIntermTyped *baseExpression, const TSourceLoc &location, TIntermTyped *indexExpression)
 
TIntermTyped * addFieldSelectionExpression (TIntermTyped *baseExpression, const TSourceLoc &dotLocation, const TString &fieldString, const TSourceLoc &fieldLocation)
 
TFieldList * addStructDeclaratorListWithQualifiers (const TTypeQualifierBuilder &typeQualifierBuilder, TPublicType *typeSpecifier, TFieldList *fieldList)
 
TFieldList * addStructDeclaratorList (const TPublicType &typeSpecifier, TFieldList *fieldList)
 
TTypeSpecifierNonArray addStructure (const TSourceLoc &structLine, const TSourceLoc &nameLine, const TString *structName, TFieldList *fieldList)
 
TIntermAggregate * addInterfaceBlock (const TTypeQualifierBuilder &typeQualifierBuilder, const TSourceLoc &nameLine, const TString &blockName, TFieldList *fieldList, const TString *instanceName, const TSourceLoc &instanceLine, TIntermTyped *arrayIndex, const TSourceLoc &arrayIndexLine)
 
void parseLocalSize (const TString &qualifierType, const TSourceLoc &qualifierTypeLine, int intValue, const TSourceLoc &intValueLine, const std::string &intValueString, size_t index, sh::WorkGroupSize *localSize)
 
TLayoutQualifier parseLayoutQualifier (const TString &qualifierType, const TSourceLoc &qualifierTypeLine)
 
TLayoutQualifier parseLayoutQualifier (const TString &qualifierType, const TSourceLoc &qualifierTypeLine, int intValue, const TSourceLoc &intValueLine)
 
TTypeQualifierBuilder * createTypeQualifierBuilder (const TSourceLoc &loc)
 
TLayoutQualifier joinLayoutQualifiers (TLayoutQualifier leftQualifier, TLayoutQualifier rightQualifier, const TSourceLoc &rightQualifierLocation)
 
void enterStructDeclaration (const TSourceLoc &line, const TString &identifier)
 
void exitStructDeclaration ()
 
void checkIsBelowStructNestingLimit (const TSourceLoc &line, const TField &field)
 
TIntermSwitch * addSwitch (TIntermTyped *init, TIntermBlock *statementList, const TSourceLoc &loc)
 
TIntermCase * addCase (TIntermTyped *condition, const TSourceLoc &loc)
 
TIntermCase * addDefault (const TSourceLoc &loc)
 
TIntermTyped * addUnaryMath (TOperator op, TIntermTyped *child, const TSourceLoc &loc)
 
TIntermTyped * addUnaryMathLValue (TOperator op, TIntermTyped *child, const TSourceLoc &loc)
 
TIntermTyped * addBinaryMath (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTyped * addBinaryMathBooleanResult (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTyped * addAssign (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTyped * addComma (TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermBranch * addBranch (TOperator op, const TSourceLoc &loc)
 
TIntermBranch * addBranch (TOperator op, TIntermTyped *returnValue, const TSourceLoc &loc)
 
void checkTextureOffsetConst (TIntermAggregate *functionCall)
 
TIntermTyped * addFunctionCallOrMethod (TFunction *fnCall, TIntermNode *paramNode, TIntermNode *thisNode, const TSourceLoc &loc, bool *fatalError)
 
TIntermTyped * addTernarySelection (TIntermTyped *cond, TIntermTyped *trueExpression, TIntermTyped *falseExpression, const TSourceLoc &line)
 

Public Attributes

TIntermediate intermediate
 
TSymbolTable & symbolTable
 

Constructor & Destructor Documentation

◆ TParseContext()

TParseContext::TParseContext ( TSymbolTable &  symt,
TExtensionBehavior &  ext,
sh::GLenum  type,
ShShaderSpec  spec,
ShCompileOptions  options,
bool  checksPrecErrors,
TInfoSink &  is,
const ShBuiltInResources &  resources 
)
inline

Member Function Documentation

◆ addAssign()

TIntermTyped * TParseContext::addAssign ( TOperator  op,
TIntermTyped *  left,
TIntermTyped *  right,
const TSourceLoc &  loc 
)

◆ addBinaryMath()

TIntermTyped * TParseContext::addBinaryMath ( TOperator  op,
TIntermTyped *  left,
TIntermTyped *  right,
const TSourceLoc &  loc 
)

◆ addBinaryMathBooleanResult()

TIntermTyped * TParseContext::addBinaryMathBooleanResult ( TOperator  op,
TIntermTyped *  left,
TIntermTyped *  right,
const TSourceLoc &  loc 
)

◆ addBranch() [1/2]

TIntermBranch * TParseContext::addBranch ( TOperator  op,
const TSourceLoc &  loc 
)

◆ addBranch() [2/2]

TIntermBranch * TParseContext::addBranch ( TOperator  op,
TIntermTyped *  returnValue,
const TSourceLoc &  loc 
)

◆ addCase()

TIntermCase * TParseContext::addCase ( TIntermTyped *  condition,
const TSourceLoc &  loc 
)

◆ addComma()

TIntermTyped * TParseContext::addComma ( TIntermTyped *  left,
TIntermTyped *  right,
const TSourceLoc &  loc 
)

◆ addConstructor()

TIntermTyped * TParseContext::addConstructor ( TIntermNode *  arguments,
TOperator  op,
TFunction *  fnCall,
const TSourceLoc &  line 
)

◆ addConstructorFunc()

TFunction * TParseContext::addConstructorFunc ( const TPublicType &  publicType)

◆ addDefault()

TIntermCase * TParseContext::addDefault ( const TSourceLoc &  loc)

◆ addFieldSelectionExpression()

TIntermTyped * TParseContext::addFieldSelectionExpression ( TIntermTyped *  baseExpression,
const TSourceLoc &  dotLocation,
const TString &  fieldString,
const TSourceLoc &  fieldLocation 
)

◆ addFullySpecifiedType()

TPublicType TParseContext::addFullySpecifiedType ( const TTypeQualifierBuilder &  typeQualifierBuilder,
const TPublicType &  typeSpecifier 
)

◆ addFunctionCallOrMethod()

TIntermTyped * TParseContext::addFunctionCallOrMethod ( TFunction *  fnCall,
TIntermNode *  paramNode,
TIntermNode *  thisNode,
const TSourceLoc &  loc,
bool *  fatalError 
)

◆ addFunctionDefinition()

TIntermFunctionDefinition * TParseContext::addFunctionDefinition ( const TFunction &  function,
TIntermAggregate *  functionParameters,
TIntermBlock *  functionBody,
const TSourceLoc &  location 
)

◆ addFunctionPrototypeDeclaration()

TIntermAggregate * TParseContext::addFunctionPrototypeDeclaration ( const TFunction &  parsedFunction,
const TSourceLoc &  location 
)

◆ addIndexExpression()

TIntermTyped * TParseContext::addIndexExpression ( TIntermTyped *  baseExpression,
const TSourceLoc &  location,
TIntermTyped *  indexExpression 
)

◆ addInterfaceBlock()

TIntermAggregate * TParseContext::addInterfaceBlock ( const TTypeQualifierBuilder &  typeQualifierBuilder,
const TSourceLoc &  nameLine,
const TString &  blockName,
TFieldList *  fieldList,
const TString *  instanceName,
const TSourceLoc &  instanceLine,
TIntermTyped *  arrayIndex,
const TSourceLoc &  arrayIndexLine 
)

◆ addStructDeclaratorList()

TFieldList * TParseContext::addStructDeclaratorList ( const TPublicType &  typeSpecifier,
TFieldList *  fieldList 
)

◆ addStructDeclaratorListWithQualifiers()

TFieldList * TParseContext::addStructDeclaratorListWithQualifiers ( const TTypeQualifierBuilder &  typeQualifierBuilder,
TPublicType *  typeSpecifier,
TFieldList *  fieldList 
)

◆ addStructure()

TTypeSpecifierNonArray TParseContext::addStructure ( const TSourceLoc &  structLine,
const TSourceLoc &  nameLine,
const TString *  structName,
TFieldList *  fieldList 
)

◆ addSwitch()

TIntermSwitch * TParseContext::addSwitch ( TIntermTyped *  init,
TIntermBlock *  statementList,
const TSourceLoc &  loc 
)

◆ addTernarySelection()

TIntermTyped * TParseContext::addTernarySelection ( TIntermTyped *  cond,
TIntermTyped *  trueExpression,
TIntermTyped *  falseExpression,
const TSourceLoc &  line 
)

◆ addUnaryMath()

TIntermTyped * TParseContext::addUnaryMath ( TOperator  op,
TIntermTyped *  child,
const TSourceLoc &  loc 
)

◆ addUnaryMathLValue()

TIntermTyped * TParseContext::addUnaryMathLValue ( TOperator  op,
TIntermTyped *  child,
const TSourceLoc &  loc 
)

◆ assignError()

void TParseContext::assignError ( const TSourceLoc &  line,
const char *  op,
TString  left,
TString  right 
)

◆ binaryOpError()

void TParseContext::binaryOpError ( const TSourceLoc &  line,
const char *  op,
TString  left,
TString  right 
)

◆ checkCanBeLValue()

bool TParseContext::checkCanBeLValue ( const TSourceLoc &  line,
const char *  op,
TIntermTyped *  node 
)

◆ checkCanUseExtension()

bool TParseContext::checkCanUseExtension ( const TSourceLoc &  line,
const TString &  extension 
)

◆ checkConstructorArguments()

bool TParseContext::checkConstructorArguments ( const TSourceLoc &  line,
TIntermNode *  argumentsNode,
const TFunction &  function,
TOperator  op,
const TType &  type 
)

◆ checkDeclaratorLocationIsNotSpecified()

void TParseContext::checkDeclaratorLocationIsNotSpecified ( const TSourceLoc &  line,
const TPublicType &  pType 
)

◆ checkInputOutputTypeIsValidES3()

void TParseContext::checkInputOutputTypeIsValidES3 ( const TQualifier  qualifier,
const TPublicType &  type,
const TSourceLoc &  qualifierLocation 
)

◆ checkInvariantVariableQualifier()

void TParseContext::checkInvariantVariableQualifier ( bool  invariant,
const TQualifier  qualifier,
const TSourceLoc &  invariantLocation 
)

◆ checkIsAtGlobalLevel()

bool TParseContext::checkIsAtGlobalLevel ( const TSourceLoc &  line,
const char *  token 
)

◆ checkIsBelowStructNestingLimit()

void TParseContext::checkIsBelowStructNestingLimit ( const TSourceLoc &  line,
const TField &  field 
)

◆ checkIsConst()

void TParseContext::checkIsConst ( TIntermTyped *  node)

◆ checkIsNonVoid()

bool TParseContext::checkIsNonVoid ( const TSourceLoc &  line,
const TString &  identifier,
const TBasicType &  type 
)

◆ checkIsNotReserved()

bool TParseContext::checkIsNotReserved ( const TSourceLoc &  line,
const TString &  identifier 
)

◆ checkIsNotSampler()

bool TParseContext::checkIsNotSampler ( const TSourceLoc &  line,
const TTypeSpecifierNonArray &  pType,
const char *  reason 
)

◆ checkIsParameterQualifierValid()

void TParseContext::checkIsParameterQualifierValid ( const TSourceLoc &  line,
const TTypeQualifierBuilder &  typeQualifierBuilder,
TType *  type 
)

◆ checkIsScalarBool() [1/2]

void TParseContext::checkIsScalarBool ( const TSourceLoc &  line,
const TIntermTyped *  type 
)

◆ checkIsScalarBool() [2/2]

void TParseContext::checkIsScalarBool ( const TSourceLoc &  line,
const TPublicType &  pType 
)

◆ checkIsScalarInteger()

void TParseContext::checkIsScalarInteger ( TIntermTyped *  node,
const char *  token 
)

◆ checkIsValidArraySize()

unsigned int TParseContext::checkIsValidArraySize ( const TSourceLoc &  line,
TIntermTyped *  expr 
)

◆ checkIsValidQualifierForArray()

bool TParseContext::checkIsValidQualifierForArray ( const TSourceLoc &  line,
const TPublicType &  elementQualifier 
)

◆ checkIsValidTypeForArray()

bool TParseContext::checkIsValidTypeForArray ( const TSourceLoc &  line,
const TPublicType &  elementType 
)

◆ checkLayoutQualifierSupported()

void TParseContext::checkLayoutQualifierSupported ( const TSourceLoc &  location,
const TString &  layoutQualifierName,
int  versionRequired 
)

◆ checkLocationIsNotSpecified()

void TParseContext::checkLocationIsNotSpecified ( const TSourceLoc &  location,
const TLayoutQualifier &  layoutQualifier 
)

◆ checkOutParameterIsNotSampler()

void TParseContext::checkOutParameterIsNotSampler ( const TSourceLoc &  line,
TQualifier  qualifier,
const TType &  type 
)

◆ checkPrecisionSpecified()

void TParseContext::checkPrecisionSpecified ( const TSourceLoc &  line,
TPrecision  precision,
TBasicType  type 
)

◆ checkTextureOffsetConst()

void TParseContext::checkTextureOffsetConst ( TIntermAggregate *  functionCall)

◆ checkWorkGroupSizeIsNotSpecified()

bool TParseContext::checkWorkGroupSizeIsNotSpecified ( const TSourceLoc &  location,
const TLayoutQualifier &  layoutQualifier 
)

◆ containsSampler()

bool TParseContext::containsSampler ( const TType &  type)

◆ createTypeQualifierBuilder()

TTypeQualifierBuilder * TParseContext::createTypeQualifierBuilder ( const TSourceLoc &  loc)

◆ declaringFunction()

bool TParseContext::declaringFunction ( ) const
inline

◆ decrLoopNestingLevel()

void TParseContext::decrLoopNestingLevel ( )
inline

◆ decrSwitchNestingLevel()

void TParseContext::decrSwitchNestingLevel ( )
inline

◆ enterFunctionDeclaration()

void TParseContext::enterFunctionDeclaration ( )
inline

◆ enterStructDeclaration()

void TParseContext::enterStructDeclaration ( const TSourceLoc &  line,
const TString &  identifier 
)

◆ error()

void TParseContext::error ( const TSourceLoc &  loc,
const char *  reason,
const char *  token,
const char *  extraInfo = "" 
)

◆ executeInitializer()

bool TParseContext::executeInitializer ( const TSourceLoc &  line,
const TString &  identifier,
const TPublicType &  pType,
TIntermTyped *  initializer,
TIntermNode **  intermNode 
)

◆ exitFunctionDeclaration()

void TParseContext::exitFunctionDeclaration ( )
inline

◆ exitStructDeclaration()

void TParseContext::exitStructDeclaration ( )

◆ extensionBehavior()

const TExtensionBehavior& TParseContext::extensionBehavior ( ) const
inline

◆ findFunction()

const TFunction * TParseContext::findFunction ( const TSourceLoc &  line,
TFunction *  pfnCall,
int  inputShaderVersion,
bool *  builtIn = 0 
)

◆ functionCallLValueErrorCheck()

void TParseContext::functionCallLValueErrorCheck ( const TFunction *  fnCandidate,
TIntermAggregate *  fnCall 
)

◆ getComputeShaderLocalSize()

sh::WorkGroupSize TParseContext::getComputeShaderLocalSize ( ) const

◆ getFragmentPrecisionHigh()

bool TParseContext::getFragmentPrecisionHigh ( ) const
inline

◆ getNamedVariable()

const TVariable * TParseContext::getNamedVariable ( const TSourceLoc &  location,
const TString *  name,
const TSymbol *  symbol 
)

◆ getPreprocessor() [1/2]

const pp::Preprocessor& TParseContext::getPreprocessor ( ) const
inline

◆ getPreprocessor() [2/2]

pp::Preprocessor& TParseContext::getPreprocessor ( )
inline

◆ getScanner()

void* TParseContext::getScanner ( ) const
inline

◆ getShaderSpec()

ShShaderSpec TParseContext::getShaderSpec ( ) const
inline

◆ getShaderType()

sh::GLenum TParseContext::getShaderType ( ) const
inline

◆ getShaderVersion()

int TParseContext::getShaderVersion ( ) const
inline

◆ getTreeRoot()

TIntermBlock* TParseContext::getTreeRoot ( ) const
inline

◆ handleExtensionDirective()

void TParseContext::handleExtensionDirective ( const TSourceLoc &  loc,
const char *  extName,
const char *  behavior 
)

◆ handlePragmaDirective()

void TParseContext::handlePragmaDirective ( const TSourceLoc &  loc,
const char *  name,
const char *  value,
bool  stdgl 
)

◆ incrLoopNestingLevel()

void TParseContext::incrLoopNestingLevel ( )
inline

◆ incrSwitchNestingLevel()

void TParseContext::incrSwitchNestingLevel ( )
inline

◆ infoSink()

TInfoSink& TParseContext::infoSink ( )
inline

◆ isComputeShaderLocalSizeDeclared()

bool TParseContext::isComputeShaderLocalSizeDeclared ( ) const
inline

◆ isExtensionEnabled()

bool TParseContext::isExtensionEnabled ( const char *  extension) const

◆ joinLayoutQualifiers()

TLayoutQualifier TParseContext::joinLayoutQualifiers ( TLayoutQualifier  leftQualifier,
TLayoutQualifier  rightQualifier,
const TSourceLoc &  rightQualifierLocation 
)

◆ numErrors()

int TParseContext::numErrors ( ) const
inline

◆ outOfRangeError()

void TParseContext::outOfRangeError ( bool  isError,
const TSourceLoc &  loc,
const char *  reason,
const char *  token,
const char *  extraInfo = "" 
)

◆ parseArrayDeclarator()

TIntermAggregate * TParseContext::parseArrayDeclarator ( TPublicType &  publicType,
TIntermAggregate *  aggregateDeclaration,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  arrayLocation,
TIntermTyped *  indexExpression 
)

◆ parseArrayInitDeclarator()

TIntermAggregate * TParseContext::parseArrayInitDeclarator ( const TPublicType &  publicType,
TIntermAggregate *  aggregateDeclaration,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  indexLocation,
TIntermTyped *  indexExpression,
const TSourceLoc &  initLocation,
TIntermTyped *  initializer 
)

◆ parseDeclarator()

TIntermAggregate * TParseContext::parseDeclarator ( TPublicType &  publicType,
TIntermAggregate *  aggregateDeclaration,
const TSourceLoc &  identifierLocation,
const TString &  identifier 
)

◆ parseFunctionDeclarator()

TFunction * TParseContext::parseFunctionDeclarator ( const TSourceLoc &  location,
TFunction *  function 
)

◆ parseFunctionDefinitionHeader()

void TParseContext::parseFunctionDefinitionHeader ( const TSourceLoc &  location,
TFunction **  function,
TIntermAggregate **  aggregateOut 
)

◆ parseFunctionHeader()

TFunction * TParseContext::parseFunctionHeader ( const TPublicType &  type,
const TString *  name,
const TSourceLoc &  location 
)

◆ parseGlobalLayoutQualifier()

void TParseContext::parseGlobalLayoutQualifier ( const TTypeQualifierBuilder &  typeQualifierBuilder)

◆ parseInitDeclarator()

TIntermAggregate * TParseContext::parseInitDeclarator ( const TPublicType &  publicType,
TIntermAggregate *  aggregateDeclaration,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  initLocation,
TIntermTyped *  initializer 
)

◆ parseInvariantDeclaration()

TIntermAggregate * TParseContext::parseInvariantDeclaration ( const TTypeQualifierBuilder &  typeQualifierBuilder,
const TSourceLoc &  identifierLoc,
const TString *  identifier,
const TSymbol *  symbol 
)

◆ parseLayoutQualifier() [1/2]

TLayoutQualifier TParseContext::parseLayoutQualifier ( const TString &  qualifierType,
const TSourceLoc &  qualifierTypeLine 
)

◆ parseLayoutQualifier() [2/2]

TLayoutQualifier TParseContext::parseLayoutQualifier ( const TString &  qualifierType,
const TSourceLoc &  qualifierTypeLine,
int  intValue,
const TSourceLoc &  intValueLine 
)

◆ parseLocalSize()

void TParseContext::parseLocalSize ( const TString &  qualifierType,
const TSourceLoc &  qualifierTypeLine,
int  intValue,
const TSourceLoc &  intValueLine,
const std::string &  intValueString,
size_t  index,
sh::WorkGroupSize *  localSize 
)

◆ parseSingleArrayDeclaration()

TIntermAggregate * TParseContext::parseSingleArrayDeclaration ( TPublicType &  publicType,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  indexLocation,
TIntermTyped *  indexExpression 
)

◆ parseSingleArrayInitDeclaration()

TIntermAggregate * TParseContext::parseSingleArrayInitDeclaration ( TPublicType &  publicType,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  indexLocation,
TIntermTyped *  indexExpression,
const TSourceLoc &  initLocation,
TIntermTyped *  initializer 
)

◆ parseSingleDeclaration()

TIntermAggregate * TParseContext::parseSingleDeclaration ( TPublicType &  publicType,
const TSourceLoc &  identifierOrTypeLocation,
const TString &  identifier 
)

◆ parseSingleInitDeclaration()

TIntermAggregate * TParseContext::parseSingleInitDeclaration ( const TPublicType &  publicType,
const TSourceLoc &  identifierLocation,
const TString &  identifier,
const TSourceLoc &  initLocation,
TIntermTyped *  initializer 
)

◆ parseVariableIdentifier()

TIntermTyped * TParseContext::parseVariableIdentifier ( const TSourceLoc &  location,
const TString *  name,
const TSymbol *  symbol 
)

◆ parseVectorFields()

bool TParseContext::parseVectorFields ( const TString &  compString,
int  vecSize,
TVectorFields &  fields,
const TSourceLoc &  line 
)

◆ pragma()

const TPragma& TParseContext::pragma ( ) const
inline

◆ setFragmentPrecisionHighOnESSL1()

void TParseContext::setFragmentPrecisionHighOnESSL1 ( bool  fragmentPrecisionHigh)
inline

◆ setLoopNestingLevel()

void TParseContext::setLoopNestingLevel ( int  loopNestintLevel)
inline

◆ setScanner()

void TParseContext::setScanner ( void *  scanner)
inline

◆ setTreeRoot()

void TParseContext::setTreeRoot ( TIntermBlock *  treeRoot)
inline

◆ singleDeclarationErrorCheck()

void TParseContext::singleDeclarationErrorCheck ( const TPublicType &  publicType,
const TSourceLoc &  identifierLocation 
)

◆ supportsExtension()

bool TParseContext::supportsExtension ( const char *  extension)

◆ unaryOpError()

void TParseContext::unaryOpError ( const TSourceLoc &  line,
const char *  op,
TString  operand 
)

◆ warning()

void TParseContext::warning ( const TSourceLoc &  loc,
const char *  reason,
const char *  token,
const char *  extraInfo = "" 
)

Member Data Documentation

◆ intermediate

TIntermediate TParseContext::intermediate

◆ symbolTable

TSymbolTable& TParseContext::symbolTable

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