Uses of Class
de.inetsoftware.jwebassembly.module.BranchManager.BranchNode
Packages that use BranchManager.BranchNode
-
Uses of BranchManager.BranchNode in de.inetsoftware.jwebassembly.module
Fields in de.inetsoftware.jwebassembly.module declared as BranchManager.BranchNodeModifier and TypeFieldDescriptionprivate BranchManager.BranchNode
BranchManager.BreakBlock.branch
private BranchManager.BranchNode
BranchManager.BranchNode.parent
private final BranchManager.BranchNode
BranchManager.root
Methods in de.inetsoftware.jwebassembly.module with parameters of type BranchManager.BranchNodeModifier and TypeMethodDescriptionvoid
BranchManager.BranchNode.add
(int index, BranchManager.BranchNode node) boolean
BranchManager.BranchNode.add
(BranchManager.BranchNode node) private boolean
BranchManager.addBreakIfLoopContinue
(BranchManager.BranchNode parent, BranchManager.ParsedBlock startBlock) Add a break to the node if the block jump to the continue position of an outer loop.private void
BranchManager.addUnboxExnref
(BranchManager.BranchNode catchNode, TryCatchFinally tryCatch) Add an unboxing of the WASm exnref on the stackprivate void
BranchManager.calculate
(BranchManager.BranchNode parent, List<BranchManager.ParsedBlock> parsedOperations) Calculate the branch tree for the given branch and parsed sub operations.private int
BranchManager.calculateBreakDeep
(BranchManager.BranchNode parent, int endPos) Calculate the deep of a break.private int
BranchManager.calculateContinueDeep
(BranchManager.BranchNode parent, int startPos) Calculate the break deep for a continue in a do while(condition) loop.private void
BranchManager.calculateGoto
(BranchManager.BranchNode parent, BranchManager.ParsedBlock gotoBlock, List<BranchManager.ParsedBlock> parsedOperations) The not consumed GOTO operators of IF THEN ELSE must be break or continue in a loop.private void
BranchManager.calculateIf
(BranchManager.BranchNode parent, BranchManager.IfParsedBlock startBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the ELSE and END position of an IF control structure.private void
BranchManager.calculateLoop
(BranchManager.BranchNode parent, BranchManager.ParsedBlock loopBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the needed nodes for a loop.private void
BranchManager.calculateSwitch
(BranchManager.BranchNode parent, BranchManager.SwitchParsedBlock switchBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the blocks of a switch.private void
BranchManager.calculateTry
(BranchManager.BranchNode parent, BranchManager.TryCatchParsedBlock tryBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the needed nodes for try/catch Sample: The follow Java code:private void
BranchManager.calculateTrySubOperations
(BranchManager.BranchNode catchNode, BranchManager.BranchNode node, List<BranchManager.ParsedBlock> parsedOperations) Calculate branch operations inside the CATCH/FINALLY blocks.private void
BranchManager.patchBrDeep
(BranchManager.BranchNode newNode) Patch the existing BR instructions after a new BLOCK node was injected in the hierarchy.private void
BranchManager.patchBrDeepInTree
(BranchManager.BranchNode newNode, int deep) Patch the existing BR instructions in the tree after a new BLOCK node was injected in the hierarchy.Constructors in de.inetsoftware.jwebassembly.module with parameters of type BranchManager.BranchNodeModifierConstructorDescriptionBreakBlock
(BranchManager.BranchNode branch, int breakPos, int endPosition) Create Break