本文整理汇总了C++中Statement::buildSplitTree方法的典型用法代码示例。如果您正苦于以下问题:C++ Statement::buildSplitTree方法的具体用法?C++ Statement::buildSplitTree怎么用?C++ Statement::buildSplitTree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Statement
的用法示例。
在下文中一共展示了Statement::buildSplitTree方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: build
void SplitTree::build( FunctionDef* inFunctionDef, const std::vector<SplitNode*>& inArguments )
{
// TIM: hack to make temporaries have a shared position stream
_outputPositionInterpolant = new InputInterpolantSplitNode( -1, 0, kSplitBasicType_Float2 );
FunctionType* functionType = getFunctionType( inFunctionDef );
SplitTreeBuilder builder( *this );
// std::cerr << "function args: " << functionType->nArgs << " args passed: " << inArguments.size();
assert( functionType->nArgs == inArguments.size() );
unsigned int i;
for( i = 0; i < functionType->nArgs; i++ )
{
Decl* argumentDecl = functionType->args[i];
builder.addArgument( argumentDecl, i, inArguments[i] );
}
Statement* statement = inFunctionDef->head;
while( statement )
{
statement->buildSplitTree( builder );
statement = statement->next;
}
_resultValue = builder.getResultValue();
// we were called with arguments
// thus we don't deal with creating
// output nodes, or with building
// the dominator tree...
}