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_acrossBlockJumpprivate boolean_canReturnprivate java.util.HashSet<LabelScopeInfo>_definitionsprivate CodeGenerator_generatorprivate Label_labelprivate boolean_labelDefinedprivate LabelTarget_nodeprivate OpCode_opCodeprivate java.util.ArrayList<LabelScopeInfo>_referencesprivate 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) booleancanBranch()(package private) booleancanReturn()(package private) voiddefine(LabelScopeInfo block)(package private) voidemitJump()private voidensureLabelAndValue()(package private) LabelgetLabel()(package private) voidmark()(package private) voidmarkWithEmptyStack()(package private) voidreference(LabelScopeInfo block)private voidstoreValue()(package private) voidvalidateFinish()private voidvalidateJump(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()
-
-