Uses of Class
org.aspectj.org.eclipse.jdt.internal.compiler.codegen.BranchLabel
Packages that use BranchLabel
Package
Description
-
Uses of BranchLabel in org.aspectj.org.eclipse.jdt.internal.compiler.ast
Fields in org.aspectj.org.eclipse.jdt.internal.compiler.ast declared as BranchLabelModifier and TypeFieldDescriptionSwitchStatement.breakLabelBranchStatement.targetLabelCaseStatement.targetLabelLabeledStatement.targetLabelCaseStatement.targetLabelsMethods in org.aspectj.org.eclipse.jdt.internal.compiler.ast with parameters of type BranchLabelModifier and TypeMethodDescriptionvoidBlock.branchChainTo(BranchLabel label) Dispatch the call on its last statement.voidStatement.branchChainTo(BranchLabel label) INTERNAL USE ONLY.voidSwitchStatement.branchChainTo(BranchLabel label) Dispatch the call on its last statement.voidAND_AND_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: &&voidBinaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: <, <=, >, >=, &, |, ^voidConditionalExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Optimized boolean code generation for the conditional operator ?voidEqualExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: == and !voidExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Default generation of a boolean valuevoidFalseLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidInstanceOfExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidOR_OR_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: ||voidTrueLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) voidUnaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean operator code generation Optimized operations are: &&, ||, <, <=, >, >=, &, |, ^voidEqualExpression.generateOptimizedBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!voidBinaryExpression.generateOptimizedGreaterThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for >voidBinaryExpression.generateOptimizedGreaterThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for >=voidBinaryExpression.generateOptimizedLessThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for <voidBinaryExpression.generateOptimizedLessThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for <=voidBinaryExpression.generateOptimizedLogicalAnd(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for &voidBinaryExpression.generateOptimizedLogicalOr(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for |voidBinaryExpression.generateOptimizedLogicalXor(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for ^voidEqualExpression.generateOptimizedNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired) Boolean generation for == with non-boolean operandsMethod parameters in org.aspectj.org.eclipse.jdt.internal.compiler.ast with type arguments of type BranchLabelModifier and TypeMethodDescriptionvoidPattern.setTargetSupplier(Supplier<BranchLabel> targetSupplier) -
Uses of BranchLabel in org.aspectj.org.eclipse.jdt.internal.compiler.codegen
Subclasses of BranchLabel in org.aspectj.org.eclipse.jdt.internal.compiler.codegenFields in org.aspectj.org.eclipse.jdt.internal.compiler.codegen declared as BranchLabelMethods in org.aspectj.org.eclipse.jdt.internal.compiler.codegen with parameters of type BranchLabelModifier and TypeMethodDescriptionvoidCodeStream.addLabel(BranchLabel aLabel) voidBranchLabel.becomeDelegateFor(BranchLabel otherLabel) Makes the current label inline all references to the other labelvoidCodeStream.generateWideRevertedConditionalBranch(byte revertedOpcode, BranchLabel wideTarget) voidCodeStream.goto_(BranchLabel label) We didn't call it goto, because there is a conflit with the goto keywordvoidStackMapFrameCodeStream.goto_(BranchLabel label) voidCodeStream.goto_w(BranchLabel label) voidStackMapFrameCodeStream.goto_w(BranchLabel label) voidCodeStream.if_acmpeq(BranchLabel lbl) voidCodeStream.if_acmpne(BranchLabel lbl) voidCodeStream.if_icmpeq(BranchLabel lbl) voidCodeStream.if_icmpge(BranchLabel lbl) voidCodeStream.if_icmpgt(BranchLabel lbl) voidCodeStream.if_icmple(BranchLabel lbl) voidCodeStream.if_icmplt(BranchLabel lbl) voidCodeStream.if_icmpne(BranchLabel lbl) voidCodeStream.ifeq(BranchLabel lbl) voidCodeStream.ifge(BranchLabel lbl) voidCodeStream.ifgt(BranchLabel lbl) voidCodeStream.ifle(BranchLabel lbl) voidCodeStream.iflt(BranchLabel lbl) voidCodeStream.ifne(BranchLabel lbl) voidCodeStream.ifnonnull(BranchLabel lbl) voidCodeStream.ifnull(BranchLabel lbl) booleanCodeStream.inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation) Some placed labels might be branching to a goto bytecode which we can optimize better.final voidCodeStream.jsr(BranchLabel lbl) final voidCodeStream.jsr_w(BranchLabel lbl) voidCodeStream.optimizeBranch(int oldPosition, BranchLabel lbl) voidStackMapFrameCodeStream.optimizeBranch(int oldPosition, BranchLabel lbl) protected voidCodeStream.writePosition(BranchLabel label) protected voidCodeStream.writePosition(BranchLabel label, int forwardReference) protected voidStackMapFrameCodeStream.writePosition(BranchLabel label) protected voidStackMapFrameCodeStream.writePosition(BranchLabel label, int forwardReference) protected voidCodeStream.writeWidePosition(BranchLabel label) protected voidStackMapFrameCodeStream.writeWidePosition(BranchLabel label) -
Uses of BranchLabel in org.aspectj.org.eclipse.jdt.internal.compiler.flow
Fields in org.aspectj.org.eclipse.jdt.internal.compiler.flow declared as BranchLabelMethods in org.aspectj.org.eclipse.jdt.internal.compiler.flow that return BranchLabelModifier and TypeMethodDescriptionFlowContext.breakLabel()SwitchFlowContext.breakLabel()FlowContext.continueLabel()LoopingFlowContext.continueLabel()Constructors in org.aspectj.org.eclipse.jdt.internal.compiler.flow with parameters of type BranchLabelModifierConstructorDescriptionLabelFlowContext(FlowContext parent, ASTNode associatedNode, char[] labelName, BranchLabel breakLabel, BlockScope scope) LoopingFlowContext(FlowContext parent, FlowInfo upstreamNullFlowInfo, ASTNode associatedNode, BranchLabel breakLabel, BranchLabel continueLabel, Scope associatedScope, boolean isPreTest) SwitchFlowContext(FlowContext parent, ASTNode associatedNode, BranchLabel breakLabel, boolean isPreTest, boolean inheritNullFieldChecks)