webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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::PreprocessorgetPreprocessor () const
 
pp::PreprocessorgetPreprocessor ()
 
voidgetScanner () const
 
void setScanner (void *scanner)
 
int getShaderVersion () const
 
sh::GLenum getShaderType () const
 
ShShaderSpec getShaderSpec () const
 
int numErrors () const
 
TInfoSinkinfoSink ()
 
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="")
 
TIntermBlockgetTreeRoot () 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 TVariablegetNamedVariable (const TSourceLoc &location, const TString *name, const TSymbol *symbol)
 
TIntermTypedparseVariableIdentifier (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 TPragmapragma () const
 
const TExtensionBehaviorextensionBehavior () 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 TFunctionfindFunction (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)
 
TIntermAggregateparseSingleDeclaration (TPublicType &publicType, const TSourceLoc &identifierOrTypeLocation, const TString &identifier)
 
TIntermAggregateparseSingleArrayDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression)
 
TIntermAggregateparseSingleInitDeclaration (const TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregateparseSingleArrayInitDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregateparseInvariantDeclaration (const TTypeQualifierBuilder &typeQualifierBuilder, const TSourceLoc &identifierLoc, const TString *identifier, const TSymbol *symbol)
 
TIntermAggregateparseDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier)
 
TIntermAggregateparseArrayDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &arrayLocation, TIntermTyped *indexExpression)
 
TIntermAggregateparseInitDeclarator (const TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer)
 
TIntermAggregateparseArrayInitDeclarator (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)
 
TIntermAggregateaddFunctionPrototypeDeclaration (const TFunction &parsedFunction, const TSourceLoc &location)
 
TIntermFunctionDefinitionaddFunctionDefinition (const TFunction &function, TIntermAggregate *functionParameters, TIntermBlock *functionBody, const TSourceLoc &location)
 
void parseFunctionDefinitionHeader (const TSourceLoc &location, TFunction **function, TIntermAggregate **aggregateOut)
 
TFunctionparseFunctionDeclarator (const TSourceLoc &location, TFunction *function)
 
TFunctionparseFunctionHeader (const TPublicType &type, const TString *name, const TSourceLoc &location)
 
TFunctionaddConstructorFunc (const TPublicType &publicType)
 
TIntermTypedaddConstructor (TIntermNode *arguments, TOperator op, TFunction *fnCall, const TSourceLoc &line)
 
TIntermTypedaddIndexExpression (TIntermTyped *baseExpression, const TSourceLoc &location, TIntermTyped *indexExpression)
 
TIntermTypedaddFieldSelectionExpression (TIntermTyped *baseExpression, const TSourceLoc &dotLocation, const TString &fieldString, const TSourceLoc &fieldLocation)
 
TFieldListaddStructDeclaratorListWithQualifiers (const TTypeQualifierBuilder &typeQualifierBuilder, TPublicType *typeSpecifier, TFieldList *fieldList)
 
TFieldListaddStructDeclaratorList (const TPublicType &typeSpecifier, TFieldList *fieldList)
 
TTypeSpecifierNonArray addStructure (const TSourceLoc &structLine, const TSourceLoc &nameLine, const TString *structName, TFieldList *fieldList)
 
TIntermAggregateaddInterfaceBlock (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)
 
TTypeQualifierBuildercreateTypeQualifierBuilder (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)
 
TIntermSwitchaddSwitch (TIntermTyped *init, TIntermBlock *statementList, const TSourceLoc &loc)
 
TIntermCaseaddCase (TIntermTyped *condition, const TSourceLoc &loc)
 
TIntermCaseaddDefault (const TSourceLoc &loc)
 
TIntermTypedaddUnaryMath (TOperator op, TIntermTyped *child, const TSourceLoc &loc)
 
TIntermTypedaddUnaryMathLValue (TOperator op, TIntermTyped *child, const TSourceLoc &loc)
 
TIntermTypedaddBinaryMath (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTypedaddBinaryMathBooleanResult (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTypedaddAssign (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermTypedaddComma (TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc)
 
TIntermBranchaddBranch (TOperator op, const TSourceLoc &loc)
 
TIntermBranchaddBranch (TOperator op, TIntermTyped *returnValue, const TSourceLoc &loc)
 
void checkTextureOffsetConst (TIntermAggregate *functionCall)
 
TIntermTypedaddFunctionCallOrMethod (TFunction *fnCall, TIntermNode *paramNode, TIntermNode *thisNode, const TSourceLoc &loc, bool *fatalError)
 
TIntermTypedaddTernarySelection (TIntermTyped *cond, TIntermTyped *trueExpression, TIntermTyped *falseExpression, const TSourceLoc &line)
 

Public Attributes

TIntermediate intermediate
 
TSymbolTablesymbolTable
 

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: