类 org.eclipse.jdt.internal.compiler.codegen.BranchLabel
的使用

使用 BranchLabel 的软件包
org.eclipse.jdt.internal.compiler.ast   
org.eclipse.jdt.internal.compiler.codegen   
org.eclipse.jdt.internal.compiler.flow   
 

org.eclipse.jdt.internal.compiler.astBranchLabel 的使用
 

声明为 BranchLabelorg.eclipse.jdt.internal.compiler.ast 中的字段
 BranchLabel SwitchStatement.breakLabel
           
 BranchLabel LabeledStatement.targetLabel
           
 BranchLabel CaseStatement.targetLabel
           
 BranchLabel BranchStatement.targetLabel
           
 

参数类型为 BranchLabelorg.eclipse.jdt.internal.compiler.ast 中的方法
 void SwitchStatement.branchChainTo(BranchLabel label)
          Dispatch the call on its last statement.
 void Statement.branchChainTo(BranchLabel label)
          INTERNAL USE ONLY.
 void Block.branchChainTo(BranchLabel label)
          Dispatch the call on its last statement.
 void UnaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: &&, ||, <, <=, >, >=, &, |, ^
 void TrueLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
           
 void OR_OR_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: ||
 void FalseLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
           
 void Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Default generation of a boolean value
 void EqualExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: == and !
 void ConditionalExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Optimized boolean code generation for the conditional operator ?
 void BinaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: <, <=, >, >=, &, |, ^
 void AND_AND_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: &&
 void EqualExpression.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 !!!!
 void BinaryExpression.generateOptimizedGreaterThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for >
 void BinaryExpression.generateOptimizedGreaterThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for >=
 void BinaryExpression.generateOptimizedLessThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for <
 void BinaryExpression.generateOptimizedLessThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for <=
 void BinaryExpression.generateOptimizedLogicalAnd(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for &
 void BinaryExpression.generateOptimizedLogicalOr(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for |
 void BinaryExpression.generateOptimizedLogicalXor(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for ^
 void EqualExpression.generateOptimizedNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for == with non-boolean operands
 

org.eclipse.jdt.internal.compiler.codegenBranchLabel 的使用
 

org.eclipse.jdt.internal.compiler.codegenBranchLabel 的子类
 class CaseLabel
           
 

声明为 BranchLabelorg.eclipse.jdt.internal.compiler.codegen 中的字段
 BranchLabel[] CodeStream.labels
           
 

参数类型为 BranchLabelorg.eclipse.jdt.internal.compiler.codegen 中的方法
 void CodeStream.addLabel(BranchLabel aLabel)
           
 void BranchLabel.becomeDelegateFor(BranchLabel otherLabel)
          Makes the current label inline all references to the other label
 void CodeStream.generateWideRevertedConditionalBranch(byte revertedOpcode, BranchLabel wideTarget)
           
 void StackMapFrameCodeStream.goto_(BranchLabel label)
           
 void CodeStream.goto_(BranchLabel label)
          We didn't call it goto, because there is a conflit with the goto keyword
 void StackMapFrameCodeStream.goto_w(BranchLabel label)
           
 void CodeStream.goto_w(BranchLabel label)
           
 void CodeStream.if_acmpeq(BranchLabel lbl)
           
 void CodeStream.if_acmpne(BranchLabel lbl)
           
 void CodeStream.if_icmpeq(BranchLabel lbl)
           
 void CodeStream.if_icmpge(BranchLabel lbl)
           
 void CodeStream.if_icmpgt(BranchLabel lbl)
           
 void CodeStream.if_icmple(BranchLabel lbl)
           
 void CodeStream.if_icmplt(BranchLabel lbl)
           
 void CodeStream.if_icmpne(BranchLabel lbl)
           
 void CodeStream.ifeq(BranchLabel lbl)
           
 void CodeStream.ifge(BranchLabel lbl)
           
 void CodeStream.ifgt(BranchLabel lbl)
           
 void CodeStream.ifle(BranchLabel lbl)
           
 void CodeStream.iflt(BranchLabel lbl)
           
 void CodeStream.ifne(BranchLabel lbl)
           
 void CodeStream.ifnonnull(BranchLabel lbl)
           
 void CodeStream.ifnull(BranchLabel lbl)
           
 boolean CodeStream.inlineForwardReferencesFromLabelsTargeting(BranchLabel targetLabel, int gotoLocation)
          Some placed labels might be branching to a goto bytecode which we can optimize better.
 void CodeStream.jsr_w(BranchLabel lbl)
           
 void CodeStream.jsr(BranchLabel lbl)
           
 void StackMapFrameCodeStream.optimizeBranch(int oldPosition, BranchLabel lbl)
           
 void CodeStream.optimizeBranch(int oldPosition, BranchLabel lbl)
           
protected  void StackMapFrameCodeStream.writePosition(BranchLabel label)
           
protected  void CodeStream.writePosition(BranchLabel label)
           
protected  void StackMapFrameCodeStream.writePosition(BranchLabel label, int forwardReference)
           
protected  void CodeStream.writePosition(BranchLabel label, int forwardReference)
           
protected  void StackMapFrameCodeStream.writeWidePosition(BranchLabel label)
           
protected  void CodeStream.writeWidePosition(BranchLabel label)
           
 

org.eclipse.jdt.internal.compiler.flowBranchLabel 的使用
 

声明为 BranchLabelorg.eclipse.jdt.internal.compiler.flow 中的字段
 BranchLabel SwitchFlowContext.breakLabel
           
 BranchLabel LoopingFlowContext.continueLabel
           
 

返回 BranchLabelorg.eclipse.jdt.internal.compiler.flow 中的方法
 BranchLabel SwitchFlowContext.breakLabel()
           
 BranchLabel FlowContext.breakLabel()
           
 BranchLabel LoopingFlowContext.continueLabel()
           
 BranchLabel FlowContext.continueLabel()
           
 

参数类型为 BranchLabelorg.eclipse.jdt.internal.compiler.flow 中的构造方法
LabelFlowContext(FlowContext parent, ASTNode associatedNode, char[] labelName, BranchLabel breakLabel, BlockScope scope)
           
LoopingFlowContext(FlowContext parent, FlowInfo upstreamNullFlowInfo, ASTNode associatedNode, BranchLabel breakLabel, BranchLabel continueLabel, Scope associatedScope)
           
SwitchFlowContext(FlowContext parent, ASTNode associatedNode, BranchLabel breakLabel)
           
 



Copyright © 2013. All Rights Reserved.