Uses of Class
de.inetsoftware.jwebassembly.module.BranchManager.BranchNode
Packages that use BranchManager.BranchNode
-
Uses of BranchManager.BranchNode in de.inetsoftware.jwebassembly.module
Subclasses with type arguments of type BranchManager.BranchNode in de.inetsoftware.jwebassembly.moduleModifier and TypeClassDescriptionprivate static classDescribed a code branch/block node in a tree structure.Fields in de.inetsoftware.jwebassembly.module declared as BranchManager.BranchNodeModifier and TypeFieldDescriptionprivate BranchManager.BranchNodeBranchManager.BreakBlock.branchprivate BranchManager.BranchNodeBranchManager.BranchNode.parentprivate final BranchManager.BranchNodeBranchManager.rootMethods in de.inetsoftware.jwebassembly.module with parameters of type BranchManager.BranchNodeModifier and TypeMethodDescriptionvoidBranchManager.BranchNode.add(int index, BranchManager.BranchNode node) booleanBranchManager.BranchNode.add(BranchManager.BranchNode node) private booleanBranchManager.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 voidBranchManager.addUnboxExnref(BranchManager.BranchNode catchNode, TryCatchFinally tryCatch) Add an unboxing of the WASm exnref on the stackprivate voidBranchManager.calculate(BranchManager.BranchNode parent, List<BranchManager.ParsedBlock> parsedOperations) Calculate the branch tree for the given branch and parsed sub operations.private intBranchManager.calculateBreakDeep(BranchManager.BranchNode parent, int endPos) Calculate the deep of a break.private intBranchManager.calculateContinueDeep(BranchManager.BranchNode parent, int startPos) Calculate the break deep for a continue in a do while(condition) loop.private voidBranchManager.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 voidBranchManager.calculateIf(BranchManager.BranchNode parent, BranchManager.IfParsedBlock startBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the ELSE and END position of an IF control structure.private voidBranchManager.calculateLoop(BranchManager.BranchNode parent, BranchManager.ParsedBlock loopBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the needed nodes for a loop.private voidBranchManager.calculateSwitch(BranchManager.BranchNode parent, BranchManager.SwitchParsedBlock switchBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the blocks of a switch.private voidBranchManager.calculateTry(BranchManager.BranchNode parent, BranchManager.TryCatchParsedBlock tryBlock, List<BranchManager.ParsedBlock> parsedOperations) Calculate the needed nodes for try/catch Sample: The follow Java code:private voidBranchManager.calculateTrySubOperations(BranchManager.BranchNode catchNode, BranchManager.BranchNode node, List<BranchManager.ParsedBlock> parsedOperations) Calculate branch operations inside the CATCH/FINALLY blocks.private voidBranchManager.patchBrDeep(BranchManager.BranchNode newNode) Patch the existing BR instructions after a new BLOCK node was injected in the hierarchy.private voidBranchManager.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