forked from zhurui/management
4.7 KiB
4.7 KiB
@webassemblyjs/ast
AST utils for webassemblyjs
Installation
yarn add @webassemblyjs/ast
Usage
Traverse
import { traverse } from "@webassemblyjs/ast";
traverse(ast, {
Module(path) {
console.log(path.node);
}
});
Instruction signatures
import { signatures } from "@webassemblyjs/ast";
console.log(signatures);
Path methods
findParent: NodeLocator
replaceWith: Node => void
remove: () => void
insertBefore: Node => void
insertAfter: Node => void
stop: () => void
AST utils
- function
module(id, fields, metadata)
- function
moduleMetadata(sections, functionNames, localNames)
- function
moduleNameMetadata(value)
- function
functionNameMetadata(value, index)
- function
localNameMetadata(value, localIndex, functionIndex)
- function
binaryModule(id, blob)
- function
quoteModule(id, string)
- function
sectionMetadata(section, startOffset, size, vectorOfSize)
- function
loopInstruction(label, resulttype, instr)
- function
instruction(id, args, namedArgs)
- function
objectInstruction(id, object, args, namedArgs)
- function
ifInstruction(testLabel, test, result, consequent, alternate)
- function
stringLiteral(value)
- function
numberLiteralFromRaw(value, raw)
- function
longNumberLiteral(value, raw)
- function
floatLiteral(value, nan, inf, raw)
- function
elem(table, offset, funcs)
- function
indexInFuncSection(index)
- function
valtypeLiteral(name)
- function
typeInstruction(id, functype)
- function
start(index)
- function
globalType(valtype, mutability)
- function
leadingComment(value)
- function
blockComment(value)
- function
data(memoryIndex, offset, init)
- function
global(globalType, init, name)
- function
table(elementType, limits, name, elements)
- function
memory(limits, id)
- function
funcImportDescr(id, signature)
- function
moduleImport(module, name, descr)
- function
moduleExportDescr(exportType, id)
- function
moduleExport(name, descr)
- function
limit(min, max)
- function
signature(params, results)
- function
program(body)
- function
identifier(value, raw)
- function
blockInstruction(label, instr, result)
- function
callInstruction(index, instrArgs)
- function
callIndirectInstruction(signature, intrs)
- function
byteArray(values)
- function
func(name, signature, body, isExternal, metadata)
- Constant
isModule
- Constant
isModuleMetadata
- Constant
isModuleNameMetadata
- Constant
isFunctionNameMetadata
- Constant
isLocalNameMetadata
- Constant
isBinaryModule
- Constant
isQuoteModule
- Constant
isSectionMetadata
- Constant
isLoopInstruction
- Constant
isInstruction
- Constant
isObjectInstruction
- Constant
isIfInstruction
- Constant
isStringLiteral
- Constant
isNumberLiteral
- Constant
isLongNumberLiteral
- Constant
isFloatLiteral
- Constant
isElem
- Constant
isIndexInFuncSection
- Constant
isValtypeLiteral
- Constant
isTypeInstruction
- Constant
isStart
- Constant
isGlobalType
- Constant
isLeadingComment
- Constant
isBlockComment
- Constant
isData
- Constant
isGlobal
- Constant
isTable
- Constant
isMemory
- Constant
isFuncImportDescr
- Constant
isModuleImport
- Constant
isModuleExportDescr
- Constant
isModuleExport
- Constant
isLimit
- Constant
isSignature
- Constant
isProgram
- Constant
isIdentifier
- Constant
isBlockInstruction
- Constant
isCallInstruction
- Constant
isCallIndirectInstruction
- Constant
isByteArray
- Constant
isFunc
- Constant
assertModule
- Constant
assertModuleMetadata
- Constant
assertModuleNameMetadata
- Constant
assertFunctionNameMetadata
- Constant
assertLocalNameMetadata
- Constant
assertBinaryModule
- Constant
assertQuoteModule
- Constant
assertSectionMetadata
- Constant
assertLoopInstruction
- Constant
assertInstruction
- Constant
assertObjectInstruction
- Constant
assertIfInstruction
- Constant
assertStringLiteral
- Constant
assertNumberLiteral
- Constant
assertLongNumberLiteral
- Constant
assertFloatLiteral
- Constant
assertElem
- Constant
assertIndexInFuncSection
- Constant
assertValtypeLiteral
- Constant
assertTypeInstruction
- Constant
assertStart
- Constant
assertGlobalType
- Constant
assertLeadingComment
- Constant
assertBlockComment
- Constant
assertData
- Constant
assertGlobal
- Constant
assertTable
- Constant
assertMemory
- Constant
assertFuncImportDescr
- Constant
assertModuleImport
- Constant
assertModuleExportDescr
- Constant
assertModuleExport
- Constant
assertLimit
- Constant
assertSignature
- Constant
assertProgram
- Constant
assertIdentifier
- Constant
assertBlockInstruction
- Constant
assertCallInstruction
- Constant
assertCallIndirectInstruction
- Constant
assertByteArray
- Constant
assertFunc