本文整理汇总了C++中FunctionDecoder::mg方法的典型用法代码示例。如果您正苦于以下问题:C++ FunctionDecoder::mg方法的具体用法?C++ FunctionDecoder::mg怎么用?C++ FunctionDecoder::mg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FunctionDecoder
的用法示例。
在下文中一共展示了FunctionDecoder::mg方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DecodeCallWithSig
static bool
DecodeCall(FunctionDecoder& f, ExprType* type)
{
uint32_t funcIndex;
if (!f.d().readVarU32(&funcIndex))
return f.fail("unable to read import index");
if (funcIndex >= f.mg().numFuncSigs())
return f.fail("callee index out of range");
return DecodeCallWithSig(f, f.mg().funcSig(funcIndex), type);
}
示例2: DecodeCallWithSig
static bool
DecodeCallIndirect(FunctionDecoder& f, ExprType expected)
{
uint32_t sigIndex;
if (!f.d().readVarU32(&sigIndex))
return f.fail("unable to read indirect call signature index");
if (sigIndex >= f.mg().numSigs())
return f.fail("signature index out of range");
if (!DecodeExpr(f, ExprType::I32))
return false;
return DecodeCallWithSig(f, f.mg().sig(sigIndex), expected);
}
示例3: CheckType
static bool
DecodeCallImport(FunctionDecoder& f, ExprType expected)
{
uint32_t importIndex;
if (!f.d().readU32(&importIndex))
return f.fail("unable to read import index");
if (importIndex >= f.mg().numImports())
return f.fail("import index out of range");
const DeclaredSig& sig = *f.mg().import(importIndex).sig;
for (ValType argType : sig.args()) {
if (!DecodeExpr(f, ToExprType(argType)))
return false;
}
return CheckType(f, sig.ret(), expected);
}