public class StackMapFrameCodeStream extends CodeStream
| Modifier and Type | Class and Description |
|---|---|
static class |
StackMapFrameCodeStream.ExceptionMarker |
| Modifier and Type | Field and Description |
|---|---|
java.util.Set |
exceptionMarkers |
java.util.ArrayList |
stackDepthMarkers |
java.util.ArrayList |
stackMarkers |
int[] |
stateIndexes |
int |
stateIndexesCounter |
allLocalsCounter, bCodeStream, classFile, classFileOffset, constantPool, countLabels, exceptionLabels, exceptionLabelsCounter, generateAttributes, ImplicitThis, labels, LABELS_INCREMENT, lambdaExpression, lastAbruptCompletion, lastEntryPC, lastSwitchCumulativeSyntheticVars, 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, switchSaveTypeBindings, targetLevel, visibleLocals, wideMode| Constructor and Description |
|---|
StackMapFrameCodeStream(ClassFile givenClassFile) |
| Modifier and Type | Method and Description |
|---|---|
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 |
dreturn() |
void |
freturn() |
void |
generateClassLiteralAccessForType(Scope scope,
TypeBinding accessedType,
FieldBinding syntheticFieldBinding)
Macro for building a class descriptor object
|
void |
generateOuterAccess(java.lang.Object[] mappingSequence,
ASTNode invocationSite,
Binding target,
Scope scope) |
StackMapFrameCodeStream.ExceptionMarker[] |
getExceptionMarkers() |
int[] |
getFramePositions() |
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 |
pushStateIndex(int naturalExitMergeInitStateIndex) |
void |
recordExpressionType(TypeBinding typeBinding,
int delta,
boolean adjustStackDepth) |
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) |
_invoke, 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, checkcast, d2f, d2i, d2l, dadd, daload, dastore, dcmpg, dcmpl, dconst_0, dconst_1, ddiv, decrStackSize, 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, generateSyntheticBodyForArrayClone, generateSyntheticBodyForArrayConstructor, generateSyntheticBodyForConstructorAccess, generateSyntheticBodyForDeserializeLambda, generateSyntheticBodyForEnumInitializationMethod, generateSyntheticBodyForEnumValueOf, generateSyntheticBodyForEnumValues, generateSyntheticBodyForFactoryMethod, generateSyntheticBodyForFieldReadAccess, generateSyntheticBodyForFieldWriteAccess, generateSyntheticBodyForMethodAccess, generateSyntheticBodyForRecordEquals, generateSyntheticBodyForRecordHashCode, generateSyntheticBodyForRecordToString, 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, ineg, inlineForwardReferencesFromLabelsTargeting, insertionIndex, instance_of, instance_of, invoke, invoke, invoke, invoke, invokeAccessibleObjectSetAccessible, invokeArrayNewInstance, invokeAutoCloseableClose, invokeClassForName, invokeClassGetDeclaredConstructor, invokeClassGetDeclaredField, invokeClassGetDeclaredMethod, invokeDynamic, invokeDynamic, invokeEnumOrdinal, invokeIterableIterator, invokeJavaLangAssertionErrorConstructor, invokeJavaLangAssertionErrorDefaultConstructor, invokeJavaLangClassDesiredAssertionStatus, invokeJavaLangEnumvalueOf, invokeJavaLangEnumValues, invokeJavaLangErrorConstructor, invokeJavaLangIncompatibleClassChangeErrorDefaultConstructor, invokeJavaLangReflectConstructorNewInstance, invokeJavaLangReflectFieldGetter, invokeJavaLangReflectFieldSetter, invokeJavaLangReflectMethodInvoke, invokeJavaUtilIteratorHasNext, invokeJavaUtilIteratorNext, invokeNoClassDefFoundErrorStringConstructor, invokeObjectEquals, 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, loadInt, lookupswitch, lor, lrem, lshl, lshr, lstore_0, lstore_1, lstore_2, lstore_3, lstore, lsub, lushr, lxor, monitorenter, monitorexit, multianewarray, new_, new_, newArray, newarray, newArray, newJavaLangAssertionError, newJavaLangError, newJavaLangIncompatibleClassChangeError, newNoClassDefFoundError, newStringContatenation, newWrapperFor, nop, pop, pop2, pushOnStack, record, recordExpressionType, recordPositionsFrom, recordPositionsFrom, registerExceptionHandler, removeUnusedPcToSourceMapEntries, removeVariable, reset, reset, resetForProblemClinit, ret, saload, sastore, sendOperator, sipush, sort, store, swap, tableswitch, throwAnyException, toString, writeSignedWordpublic int[] stateIndexes
public int stateIndexesCounter
public java.util.Set exceptionMarkers
public java.util.ArrayList stackDepthMarkers
public java.util.ArrayList stackMarkers
public StackMapFrameCodeStream(ClassFile givenClassFile)
public void addDefinitelyAssignedVariables(Scope scope, int initStateIndex)
addDefinitelyAssignedVariables in class CodeStreampublic void addExceptionMarker(int pc,
TypeBinding typeBinding)
public void addFramePosition(int pc)
public void optimizeBranch(int oldPosition,
BranchLabel lbl)
optimizeBranch in class CodeStreampublic void removeFramePosition(int pc)
public void addVariable(LocalVariableBinding localBinding)
addVariable in class CodeStreampublic void recordExpressionType(TypeBinding typeBinding, int delta, boolean adjustStackDepth)
recordExpressionType in class CodeStreampublic void generateClassLiteralAccessForType(Scope scope, TypeBinding accessedType, FieldBinding syntheticFieldBinding)
generateClassLiteralAccessForType in class CodeStreampublic void generateOuterAccess(java.lang.Object[] mappingSequence,
ASTNode invocationSite,
Binding target,
Scope scope)
generateOuterAccess in class CodeStreampublic StackMapFrameCodeStream.ExceptionMarker[] getExceptionMarkers()
public int[] getFramePositions()
public boolean hasFramePositions()
public void init(ClassFile targetClassFile)
init in class CodeStreampublic void initializeMaxLocals(MethodBinding methodBinding)
initializeMaxLocals in class CodeStreammethodBinding - the given method binding to initialize the max localspublic void popStateIndex()
public void pushStateIndex(int naturalExitMergeInitStateIndex)
public void removeNotDefinitelyAssignedVariables(Scope scope, int initStateIndex)
removeNotDefinitelyAssignedVariables in class CodeStreampublic void reset(ClassFile givenClassFile)
reset in class CodeStreamprotected void writePosition(BranchLabel label)
writePosition in class CodeStreamprotected void writePosition(BranchLabel label, int forwardReference)
writePosition in class CodeStreamprotected void writeSignedWord(int pos,
int value)
writeSignedWord in class CodeStreamprotected void writeWidePosition(BranchLabel label)
writeWidePosition in class CodeStreampublic void areturn()
areturn in class CodeStreampublic void ireturn()
ireturn in class CodeStreampublic void lreturn()
lreturn in class CodeStreampublic void freturn()
freturn in class CodeStreampublic void dreturn()
dreturn in class CodeStreampublic void return_()
return_ in class CodeStreampublic void athrow()
athrow in class CodeStreampublic void pushExceptionOnStack(TypeBinding binding)
pushExceptionOnStack in class CodeStreampublic void goto_(BranchLabel label)
CodeStreamgoto_ in class CodeStreampublic void goto_w(BranchLabel label)
goto_w in class CodeStreampublic void resetInWideMode()
resetInWideMode in class CodeStreampublic void resetForCodeGenUnusedLocals()
resetForCodeGenUnusedLocals in class CodeStreampublic void resetSecretLocals()