org.eclipse.jdt.internal.compiler.codegen
Class StackMapFrameCodeStream
java.lang.Object
org.eclipse.jdt.internal.compiler.codegen.CodeStream
org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream
public class StackMapFrameCodeStream
- extends CodeStream
Fields inherited from class org.eclipse.jdt.internal.compiler.codegen.CodeStream |
allLocalsCounter, bCodeStream, classFile, classFileOffset, constantPool, countLabels, exceptionLabels, exceptionLabelsCounter, generateAttributes, ImplicitThis, labels, LABELS_INCREMENT, lastAbruptCompletion, lastEntryPC, lineNumberEnd, lineNumberStart, lineSeparatorPositions, locals, LOCALS_INCREMENT, maxFieldCount, maxLocals, methodDeclaration, pcToSourceMap, pcToSourceMapSize, position, preserveUnusedLocals, RESTART_CODE_GEN_FOR_UNUSED_LOCALS_MODE, RESTART_IN_WIDE_MODE, stackDepth, stackMax, startingClassFileOffset, targetLevel, visibleLocals, wideMode |
Method Summary |
void |
addDefinitelyAssignedVariables(Scope scope,
int initStateIndex)
|
void |
addExceptionMarker(int pc,
TypeBinding typeBinding)
|
void |
addFramePosition(int pc)
|
void |
addVariable(LocalVariableBinding localBinding)
|
void |
areturn()
|
void |
athrow()
|
void |
decrStackSize(int offset)
|
void |
dreturn()
|
void |
freturn()
|
void |
generateClassLiteralAccessForType(TypeBinding accessedType,
FieldBinding syntheticFieldBinding)
Macro for building a class descriptor object |
void |
generateOuterAccess(Object[] mappingSequence,
ASTNode invocationSite,
Binding target,
Scope scope)
|
StackMapFrameCodeStream.ExceptionMarker[] |
getExceptionMarkers()
|
int[] |
getFramePositions()
|
StackMapFrameCodeStream.StackDepthMarker[] |
getStackDepthMarkers()
|
StackMapFrameCodeStream.StackMarker[] |
getStackMarkers()
|
void |
goto_(BranchLabel label)
We didn't call it goto, because there is a conflit with the goto keyword |
void |
goto_w(BranchLabel label)
|
boolean |
hasFramePositions()
|
void |
init(ClassFile targetClassFile)
|
void |
initializeMaxLocals(MethodBinding methodBinding)
|
void |
ireturn()
|
void |
lreturn()
|
void |
optimizeBranch(int oldPosition,
BranchLabel lbl)
|
void |
popStateIndex()
|
void |
pushExceptionOnStack(TypeBinding binding)
|
void |
pushOnStack(TypeBinding binding)
|
void |
pushStateIndex(int naturalExitMergeInitStateIndex)
|
void |
recordExpressionType(TypeBinding typeBinding)
|
void |
removeFramePosition(int pc)
|
void |
removeNotDefinitelyAssignedVariables(Scope scope,
int initStateIndex)
|
void |
reset(ClassFile givenClassFile)
|
void |
resetForCodeGenUnusedLocals()
|
void |
resetInWideMode()
|
void |
resetSecretLocals()
|
void |
return_()
|
protected void |
writePosition(BranchLabel label)
|
protected void |
writePosition(BranchLabel label,
int forwardReference)
|
protected void |
writeSignedWord(int pos,
int value)
|
protected void |
writeWidePosition(BranchLabel label)
|
Methods inherited from class org.eclipse.jdt.internal.compiler.codegen.CodeStream |
aaload, aastore, aconst_null, addLabel, addVisibleLocalVariable, aload_0, aload_1, aload_2, aload_3, aload, anewarray, arrayAt, arrayAtPut, arraylength, astore_0, astore_1, astore_2, astore_3, astore, baload, bastore, bipush, caload, castore, checkcast, checkcast, d2f, d2i, d2l, dadd, daload, dastore, dcmpg, dcmpl, dconst_0, dconst_1, ddiv, dload_0, dload_1, dload_2, dload_3, dload, dmul, dneg, drem, dstore_0, dstore_1, dstore_2, dstore_3, dstore, dsub, dup_x1, dup_x2, dup, dup2_x1, dup2_x2, dup2, exitUserScope, exitUserScope, f2d, f2i, f2l, fadd, faload, fastore, fcmpg, fcmpl, fconst_0, fconst_1, fconst_2, fdiv, fieldAccess, fload_0, fload_1, fload_2, fload_3, fload, fmul, fneg, frem, fstore_0, fstore_1, fstore_2, fstore_3, fstore, fsub, generateBoxingConversion, generateCodeAttributeForProblemMethod, generateConstant, generateEmulatedReadAccessForField, generateEmulatedWriteAccessForField, generateEmulationForConstructor, generateEmulationForField, generateEmulationForMethod, generateImplicitConversion, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateInlinedValue, generateReturnBytecode, generateStringConcatenationAppend, generateSyntheticBodyForConstructorAccess, generateSyntheticBodyForEnumInitializationMethod, generateSyntheticBodyForEnumValueOf, generateSyntheticBodyForEnumValues, generateSyntheticBodyForFieldReadAccess, generateSyntheticBodyForFieldWriteAccess, generateSyntheticBodyForMethodAccess, generateSyntheticBodyForSwitchTable, generateSyntheticEnclosingInstanceValues, generateSyntheticOuterArgumentValues, generateUnboxingConversion, generateWideRevertedConditionalBranch, getBaseTypeValue, getConstantPoolDeclaringClass, getConstantPoolDeclaringClass, getContents, getPosition, getTYPE, i2b, i2c, i2d, i2f, i2l, i2s, iadd, iaload, iand, iastore, iconst_0, iconst_1, iconst_2, iconst_3, iconst_4, iconst_5, iconst_m1, idiv, if_acmpeq, if_acmpne, if_icmpeq, if_icmpge, if_icmpgt, if_icmple, if_icmplt, if_icmpne, ifeq, ifge, ifgt, ifle, iflt, ifne, ifnonnull, ifnull, iinc, iload_0, iload_1, iload_2, iload_3, iload, imul, indexOfSameLineEntrySincePC, ineg, inlineForwardReferencesFromLabelsTargeting, insertionIndex, instance_of, invoke, invoke, invokeAccessibleObjectSetAccessible, invokeArrayNewInstance, invokeAutoCloseableClose, invokeClassForName, invokeClassGetDeclaredConstructor, invokeClassGetDeclaredField, invokeClassGetDeclaredMethod, invokeEnumOrdinal, invokeIterableIterator, invokeJavaLangAssertionErrorConstructor, invokeJavaLangAssertionErrorDefaultConstructor, invokeJavaLangClassDesiredAssertionStatus, invokeJavaLangEnumvalueOf, invokeJavaLangEnumValues, invokeJavaLangErrorConstructor, invokeJavaLangReflectConstructorNewInstance, invokeJavaLangReflectFieldGetter, invokeJavaLangReflectFieldSetter, invokeJavaLangReflectMethodInvoke, invokeJavaUtilIteratorHasNext, invokeJavaUtilIteratorNext, invokeNoClassDefFoundErrorStringConstructor, invokeObjectGetClass, invokeStringConcatenationAppendForType, invokeStringConcatenationDefaultConstructor, invokeStringConcatenationStringConstructor, invokeStringConcatenationToString, invokeStringEquals, invokeStringHashCode, invokeStringIntern, invokeStringValueOf, invokeSystemArraycopy, invokeThrowableAddSuppressed, invokeThrowableGetMessage, ior, irem, isDefinitelyAssigned, ishl, ishr, istore_0, istore_1, istore_2, istore_3, istore, isub, iushr, ixor, jsr_w, jsr, l2d, l2f, l2i, ladd, laload, land, lastore, lcmp, lconst_0, lconst_1, ldc, ldc, ldc, ldc, ldc2_w, ldc2_w, ldcForIndex, ldiv, lload_0, lload_1, lload_2, lload_3, lload, lmul, lneg, load, load, lookupswitch, lor, lrem, lshl, lshr, lstore_0, lstore_1, lstore_2, lstore_3, lstore, lsub, lushr, lxor, monitorenter, monitorexit, multianewarray, new_, newArray, newarray, newJavaLangAssertionError, newJavaLangError, newNoClassDefFoundError, newStringContatenation, newWrapperFor, nop, pop, pop2, record, recordPositionsFrom, recordPositionsFrom, registerExceptionHandler, removeUnusedPcToSourceMapEntries, removeVariable, reset, resetForProblemClinit, ret, saload, sastore, sendOperator, sipush, sort, store, swap, tableswitch, throwAnyException, toString, updateLastRecordedEndPC, writeSignedWord |
stateIndexes
public int[] stateIndexes
stateIndexesCounter
public int stateIndexesCounter
exceptionMarkers
public Set exceptionMarkers
stackDepthMarkers
public ArrayList stackDepthMarkers
stackMarkers
public ArrayList stackMarkers
StackMapFrameCodeStream
public StackMapFrameCodeStream(ClassFile givenClassFile)
addDefinitelyAssignedVariables
public void addDefinitelyAssignedVariables(Scope scope,
int initStateIndex)
- Overrides:
addDefinitelyAssignedVariables
in class CodeStream
addExceptionMarker
public void addExceptionMarker(int pc,
TypeBinding typeBinding)
addFramePosition
public void addFramePosition(int pc)
optimizeBranch
public void optimizeBranch(int oldPosition,
BranchLabel lbl)
- Overrides:
optimizeBranch
in class CodeStream
removeFramePosition
public void removeFramePosition(int pc)
addVariable
public void addVariable(LocalVariableBinding localBinding)
- Overrides:
addVariable
in class CodeStream
decrStackSize
public void decrStackSize(int offset)
- Overrides:
decrStackSize
in class CodeStream
recordExpressionType
public void recordExpressionType(TypeBinding typeBinding)
- Overrides:
recordExpressionType
in class CodeStream
generateClassLiteralAccessForType
public void generateClassLiteralAccessForType(TypeBinding accessedType,
FieldBinding syntheticFieldBinding)
- Macro for building a class descriptor object
- Overrides:
generateClassLiteralAccessForType
in class CodeStream
generateOuterAccess
public void generateOuterAccess(Object[] mappingSequence,
ASTNode invocationSite,
Binding target,
Scope scope)
- Overrides:
generateOuterAccess
in class CodeStream
getExceptionMarkers
public StackMapFrameCodeStream.ExceptionMarker[] getExceptionMarkers()
getFramePositions
public int[] getFramePositions()
getStackDepthMarkers
public StackMapFrameCodeStream.StackDepthMarker[] getStackDepthMarkers()
getStackMarkers
public StackMapFrameCodeStream.StackMarker[] getStackMarkers()
hasFramePositions
public boolean hasFramePositions()
init
public void init(ClassFile targetClassFile)
- Overrides:
init
in class CodeStream
initializeMaxLocals
public void initializeMaxLocals(MethodBinding methodBinding)
- Overrides:
initializeMaxLocals
in class CodeStream
- Parameters:
methodBinding
- the given method binding to initialize the max locals
popStateIndex
public void popStateIndex()
pushStateIndex
public void pushStateIndex(int naturalExitMergeInitStateIndex)
removeNotDefinitelyAssignedVariables
public void removeNotDefinitelyAssignedVariables(Scope scope,
int initStateIndex)
- Overrides:
removeNotDefinitelyAssignedVariables
in class CodeStream
reset
public void reset(ClassFile givenClassFile)
- Overrides:
reset
in class CodeStream
writePosition
protected void writePosition(BranchLabel label)
- Overrides:
writePosition
in class CodeStream
writePosition
protected void writePosition(BranchLabel label,
int forwardReference)
- Overrides:
writePosition
in class CodeStream
writeSignedWord
protected void writeSignedWord(int pos,
int value)
- Overrides:
writeSignedWord
in class CodeStream
writeWidePosition
protected void writeWidePosition(BranchLabel label)
- Overrides:
writeWidePosition
in class CodeStream
areturn
public void areturn()
- Overrides:
areturn
in class CodeStream
ireturn
public void ireturn()
- Overrides:
ireturn
in class CodeStream
lreturn
public void lreturn()
- Overrides:
lreturn
in class CodeStream
freturn
public void freturn()
- Overrides:
freturn
in class CodeStream
dreturn
public void dreturn()
- Overrides:
dreturn
in class CodeStream
return_
public void return_()
- Overrides:
return_
in class CodeStream
athrow
public void athrow()
- Overrides:
athrow
in class CodeStream
pushOnStack
public void pushOnStack(TypeBinding binding)
- Overrides:
pushOnStack
in class CodeStream
pushExceptionOnStack
public void pushExceptionOnStack(TypeBinding binding)
- Overrides:
pushExceptionOnStack
in class CodeStream
goto_
public void goto_(BranchLabel label)
- Description copied from class:
CodeStream
- We didn't call it goto, because there is a conflit with the goto keyword
- Overrides:
goto_
in class CodeStream
goto_w
public void goto_w(BranchLabel label)
- Overrides:
goto_w
in class CodeStream
resetInWideMode
public void resetInWideMode()
- Overrides:
resetInWideMode
in class CodeStream
resetForCodeGenUnusedLocals
public void resetForCodeGenUnusedLocals()
- Overrides:
resetForCodeGenUnusedLocals
in class CodeStream
resetSecretLocals
public void resetSecretLocals()
Copyright © 2012. All Rights Reserved.