public Label defineLabel() { // Declares a new Label. This is just a token and does not yet represent any // particular location within the stream. In order to set the position of the // label within the stream, you must call markLabel(). if (_labelList == null) { _labelList = new int[DefaultLabelArraySize]; } if (_labelCount >= _labelList.length) { _labelList = enlargeArray(_labelList); } _labelList[_labelCount] = -1; return new Label(_labelCount++); }
public boolean equals(final Object o) { return o instanceof Label && equals((Label)o); }
private int getLabelPosition(final Label label) { // Gets the position in the stream of a particular label. // Verifies that the label exists and that it has been given a value. final int index = label.getLabelValue(); if (index < 0 || index >= _labelCount) { throw Error.badLabel(); } if (_labelList[index] < 0) { throw Error.badLabelContent(); } return _labelList[index]; }
private int getLabelPosition(final Label label) { // Gets the position in the stream of a particular label. // Verifies that the label exists and that it has been given a value. final int index = label.getLabelValue(); if (index < 0 || index >= _labelCount) { throw Error.badLabel(); } if (_labelList[index] < 0) { throw Error.badLabelContent(); } return _labelList[index]; }
private int getLabelPosition(final Label label) { // Gets the position in the stream of a particular label. // Verifies that the label exists and that it has been given a value. final int index = label.getLabelValue(); if (index < 0 || index >= _labelCount) { throw Error.badLabel(); } if (_labelList[index] < 0) { throw Error.badLabelContent(); } return _labelList[index]; }
public boolean equals(final Object o) { return o instanceof Label && equals((Label)o); }
public Label defineLabel() { // Declares a new Label. This is just a token and does not yet represent any // particular location within the stream. In order to set the position of the // label within the stream, you must call markLabel(). if (_labelList == null) { _labelList = new int[DefaultLabelArraySize]; } if (_labelCount >= _labelList.length) { _labelList = enlargeArray(_labelList); } _labelList[_labelCount] = -1; return new Label(_labelCount++); }
public void markLabel(final Label label) { // Defines a label by setting the position where that label is found // within the stream. Verifies the label is not defined more than once. final int labelIndex = label.getLabelValue(); // This should never happen. if (labelIndex < 0 || labelIndex >= _labelList.length) { throw Error.badLabel(); } if (_labelList[labelIndex] != -1) { throw Error.labelAlreadyDefined(); } _labelList[labelIndex] = _codeStream.getLength(); }
public boolean equals(final Object o) { return o instanceof Label && equals((Label)o); }
public Label defineLabel() { // Declares a new Label. This is just a token and does not yet represent any // particular location within the stream. In order to set the position of the // label within the stream, you must call markLabel(). if (_labelList == null) { _labelList = new int[DefaultLabelArraySize]; } if (_labelCount >= _labelList.length) { _labelList = enlargeArray(_labelList); } _labelList[_labelCount] = -1; return new Label(_labelCount++); }
public void markLabel(final Label label) { // Defines a label by setting the position where that label is found // within the stream. Verifies the label is not defined more than once. final int labelIndex = label.getLabelValue(); // This should never happen. if (labelIndex < 0 || labelIndex >= _labelList.length) { throw Error.badLabel(); } if (_labelList[labelIndex] != -1) { throw Error.labelAlreadyDefined(); } _labelList[labelIndex] = _codeStream.getLength(); }
public void markLabel(final Label label) { // Defines a label by setting the position where that label is found // within the stream. Verifies the label is not defined more than once. final int labelIndex = label.getLabelValue(); // This should never happen. if (labelIndex < 0 || labelIndex >= _labelList.length) { throw Error.badLabel(); } if (_labelList[labelIndex] != -1) { throw Error.labelAlreadyDefined(); } _labelList[labelIndex] = _codeStream.getLength(); }
public void endExceptionBlock() { if (_currentExceptionStackCount == 0) { throw Error.notInExceptionBlock(); } final __ExceptionInfo current = _currentExceptionStack[_currentExceptionStackCount - 1]; _currentExceptionStack[_currentExceptionStackCount - 1] = null; _currentExceptionStackCount--; final Label endLabel = current.getEndLabel(); final int state = current.getCurrentState(); if (state == __ExceptionInfo.State_Filter || state == __ExceptionInfo.State_Try) { throw Error.badExceptionCodeGenerated(); } if (_labelList[endLabel.getLabelValue()] == -1) { markLabel(endLabel); } else { markLabel(current.getFinallyEndLabel()); } current.done(offset()); }
public void endExceptionBlock() { if (_currentExceptionStackCount == 0) { throw Error.notInExceptionBlock(); } final __ExceptionInfo current = _currentExceptionStack[_currentExceptionStackCount - 1]; _currentExceptionStack[_currentExceptionStackCount - 1] = null; _currentExceptionStackCount--; final Label endLabel = current.getEndLabel(); final int state = current.getCurrentState(); if (state == __ExceptionInfo.State_Filter || state == __ExceptionInfo.State_Try) { throw Error.badExceptionCodeGenerated(); } if (_labelList[endLabel.getLabelValue()] == -1) { markLabel(endLabel); } else { markLabel(current.getFinallyEndLabel()); } current.done(offset()); }
public void endExceptionBlock() { if (_currentExceptionStackCount == 0) { throw Error.notInExceptionBlock(); } final __ExceptionInfo current = _currentExceptionStack[_currentExceptionStackCount - 1]; _currentExceptionStack[_currentExceptionStackCount - 1] = null; _currentExceptionStackCount--; final Label endLabel = current.getEndLabel(); final int state = current.getCurrentState(); if (state == __ExceptionInfo.State_Filter || state == __ExceptionInfo.State_Try) { throw Error.badExceptionCodeGenerated(); } if (_labelList[endLabel.getLabelValue()] == -1) { markLabel(endLabel); } else { markLabel(current.getFinallyEndLabel()); } current.done(offset()); }
final int tempVal = label.getLabelValue(); final int fixupOrigin = _codeStream.getLength();
final int tempVal = label.getLabelValue(); final int fixupOrigin = _codeStream.getLength();
final int tempVal = label.getLabelValue(); final int fixupOrigin = _codeStream.getLength();