Package com.strobel.expressions
Class LabelInfo
- java.lang.Object
-
- com.strobel.expressions.LabelInfo
-
final class LabelInfo extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
_acrossBlockJump
private boolean
_canReturn
private java.util.HashSet<LabelScopeInfo>
_definitions
private CodeGenerator
_generator
private Label
_label
private boolean
_labelDefined
private LabelTarget
_node
private OpCode
_opCode
private java.util.ArrayList<LabelScopeInfo>
_references
private LocalBuilder
_value
-
Constructor Summary
Constructors Constructor Description LabelInfo(CodeGenerator generator, LabelTarget label, boolean canReturn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
canBranch()
(package private) boolean
canReturn()
(package private) void
define(LabelScopeInfo block)
(package private) void
emitJump()
private void
ensureLabelAndValue()
(package private) Label
getLabel()
(package private) void
mark()
(package private) void
markWithEmptyStack()
(package private) void
reference(LabelScopeInfo block)
private void
storeValue()
(package private) void
validateFinish()
private void
validateJump(LabelScopeInfo reference)
-
-
-
Field Detail
-
_node
private final LabelTarget _node
-
_label
private Label _label
-
_labelDefined
private boolean _labelDefined
-
_value
private LocalBuilder _value
-
_definitions
private final java.util.HashSet<LabelScopeInfo> _definitions
-
_references
private final java.util.ArrayList<LabelScopeInfo> _references
-
_canReturn
private final boolean _canReturn
-
_acrossBlockJump
private boolean _acrossBlockJump
-
_opCode
private OpCode _opCode
-
_generator
private final CodeGenerator _generator
-
-
Constructor Detail
-
LabelInfo
public LabelInfo(CodeGenerator generator, LabelTarget label, boolean canReturn)
-
-
Method Detail
-
getLabel
final Label getLabel()
-
canReturn
final boolean canReturn()
-
canBranch
final boolean canBranch()
-
reference
final void reference(LabelScopeInfo block)
-
define
final void define(LabelScopeInfo block)
-
validateJump
private void validateJump(LabelScopeInfo reference)
-
validateFinish
void validateFinish()
-
emitJump
void emitJump()
-
storeValue
private void storeValue()
-
mark
final void mark()
-
markWithEmptyStack
final void markWithEmptyStack()
-
ensureLabelAndValue
private void ensureLabelAndValue()
-
-