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

#include <Intermediate.h>

Public Member Functions

 POOL_ALLOCATOR_NEW_DELETE ()
 
 TIntermediate ()
 
TIntermSymbol * addSymbol (int id, const TString &, const TType &, const TSourceLoc &)
 
TIntermTyped * addIndex (TOperator op, TIntermTyped *base, TIntermTyped *index, const TSourceLoc &line, TDiagnostics *diagnostics)
 
TIntermTyped * addUnaryMath (TOperator op, TIntermTyped *child, const TSourceLoc &line, const TType *funcReturnType)
 
TIntermAggregate * growAggregate (TIntermNode *left, TIntermNode *right, const TSourceLoc &)
 
TIntermAggregate * setAggregateOperator (TIntermNode *, TOperator, const TSourceLoc &)
 
TIntermNode * addIfElse (TIntermTyped *cond, TIntermNodePair code, const TSourceLoc &line)
 
TIntermSwitch * addSwitch (TIntermTyped *init, TIntermBlock *statementList, const TSourceLoc &line)
 
TIntermCase * addCase (TIntermTyped *condition, const TSourceLoc &line)
 
TIntermConstantUnion * addConstantUnion (const TConstantUnion *constantUnion, const TType &type, const TSourceLoc &line)
 
TIntermNode * addLoop (TLoopType, TIntermNode *, TIntermTyped *, TIntermTyped *, TIntermNode *, const TSourceLoc &)
 
TIntermBranch * addBranch (TOperator, const TSourceLoc &)
 
TIntermBranch * addBranch (TOperator, TIntermTyped *, const TSourceLoc &)
 
TIntermTyped * foldAggregateBuiltIn (TIntermAggregate *aggregate, TDiagnostics *diagnostics)
 

Static Public Member Functions

static TIntermAggregate * MakeAggregate (TIntermNode *node, const TSourceLoc &line)
 
static TIntermBlock * EnsureBlock (TIntermNode *node)
 
static TIntermTyped * AddTernarySelection (TIntermTyped *cond, TIntermTyped *trueExpression, TIntermTyped *falseExpression, const TSourceLoc &line)
 
static TIntermTyped * AddComma (TIntermTyped *left, TIntermTyped *right, const TSourceLoc &line, int shaderVersion)
 
static TIntermTyped * AddSwizzle (TIntermTyped *baseExpression, const TVectorFields &fields, const TSourceLoc &dotLocation)
 
static void outputTree (TIntermNode *, TInfoSinkBase &)
 

Constructor & Destructor Documentation

◆ TIntermediate()

TIntermediate::TIntermediate ( )
inline

Member Function Documentation

◆ addBranch() [1/2]

TIntermBranch * TIntermediate::addBranch ( TOperator  branchOp,
const TSourceLoc &  line 
)

◆ addBranch() [2/2]

TIntermBranch * TIntermediate::addBranch ( TOperator  branchOp,
TIntermTyped *  expression,
const TSourceLoc &  line 
)

◆ addCase()

TIntermCase * TIntermediate::addCase ( TIntermTyped *  condition,
const TSourceLoc &  line 
)

◆ AddComma()

TIntermTyped * TIntermediate::AddComma ( TIntermTyped *  left,
TIntermTyped *  right,
const TSourceLoc &  line,
int  shaderVersion 
)
static

◆ addConstantUnion()

TIntermConstantUnion * TIntermediate::addConstantUnion ( const TConstantUnion *  constantUnion,
const TType &  type,
const TSourceLoc &  line 
)

◆ addIfElse()

TIntermNode * TIntermediate::addIfElse ( TIntermTyped *  cond,
TIntermNodePair  code,
const TSourceLoc &  line 
)

◆ addIndex()

TIntermTyped * TIntermediate::addIndex ( TOperator  op,
TIntermTyped *  base,
TIntermTyped *  index,
const TSourceLoc &  line,
TDiagnostics *  diagnostics 
)

◆ addLoop()

TIntermNode * TIntermediate::addLoop ( TLoopType  type,
TIntermNode *  init,
TIntermTyped *  cond,
TIntermTyped *  expr,
TIntermNode *  body,
const TSourceLoc &  line 
)

◆ addSwitch()

TIntermSwitch * TIntermediate::addSwitch ( TIntermTyped *  init,
TIntermBlock *  statementList,
const TSourceLoc &  line 
)

◆ AddSwizzle()

TIntermTyped * TIntermediate::AddSwizzle ( TIntermTyped *  baseExpression,
const TVectorFields &  fields,
const TSourceLoc &  dotLocation 
)
static

◆ addSymbol()

TIntermSymbol * TIntermediate::addSymbol ( int  id,
const TString &  name,
const TType &  type,
const TSourceLoc &  line 
)

◆ AddTernarySelection()

TIntermTyped * TIntermediate::AddTernarySelection ( TIntermTyped *  cond,
TIntermTyped *  trueExpression,
TIntermTyped *  falseExpression,
const TSourceLoc &  line 
)
static

◆ addUnaryMath()

TIntermTyped* TIntermediate::addUnaryMath ( TOperator  op,
TIntermTyped *  child,
const TSourceLoc &  line,
const TType *  funcReturnType 
)

◆ EnsureBlock()

TIntermBlock * TIntermediate::EnsureBlock ( TIntermNode *  node)
static

◆ foldAggregateBuiltIn()

TIntermTyped * TIntermediate::foldAggregateBuiltIn ( TIntermAggregate *  aggregate,
TDiagnostics *  diagnostics 
)

◆ growAggregate()

TIntermAggregate * TIntermediate::growAggregate ( TIntermNode *  left,
TIntermNode *  right,
const TSourceLoc &  line 
)

◆ MakeAggregate()

TIntermAggregate * TIntermediate::MakeAggregate ( TIntermNode *  node,
const TSourceLoc &  line 
)
static

◆ outputTree()

void TIntermediate::outputTree ( TIntermNode *  root,
TInfoSinkBase &  infoSink 
)
static

◆ POOL_ALLOCATOR_NEW_DELETE()

TIntermediate::POOL_ALLOCATOR_NEW_DELETE ( )

◆ setAggregateOperator()

TIntermAggregate * TIntermediate::setAggregateOperator ( TIntermNode *  node,
TOperator  op,
const TSourceLoc &  line 
)

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