org.eclipse.jdt.internal.compiler.codegen
类 StackMapFrameCodeStream

java.lang.Object
  继承者 org.eclipse.jdt.internal.compiler.codegen.CodeStream
      继承者 org.eclipse.jdt.internal.compiler.codegen.StackMapFrameCodeStream

public class StackMapFrameCodeStream
extends CodeStream


嵌套类摘要
static class StackMapFrameCodeStream.ExceptionMarker
           
static class StackMapFrameCodeStream.StackDepthMarker
           
static class StackMapFrameCodeStream.StackMarker
           
 
字段摘要
 Set exceptionMarkers
           
 ArrayList stackDepthMarkers
           
 ArrayList stackMarkers
           
 int[] stateIndexes
           
 int stateIndexesCounter
           
 
从类 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
 
构造方法摘要
StackMapFrameCodeStream(ClassFile givenClassFile)
           
 
方法摘要
 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)
           
 
从类 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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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)
覆盖:
CodeStream 中的 addDefinitelyAssignedVariables

addExceptionMarker

public void addExceptionMarker(int pc,
                               TypeBinding typeBinding)

addFramePosition

public void addFramePosition(int pc)

optimizeBranch

public void optimizeBranch(int oldPosition,
                           BranchLabel lbl)
覆盖:
CodeStream 中的 optimizeBranch

removeFramePosition

public void removeFramePosition(int pc)

addVariable

public void addVariable(LocalVariableBinding localBinding)
覆盖:
CodeStream 中的 addVariable

decrStackSize

public void decrStackSize(int offset)
覆盖:
CodeStream 中的 decrStackSize

recordExpressionType

public void recordExpressionType(TypeBinding typeBinding)
覆盖:
CodeStream 中的 recordExpressionType

generateClassLiteralAccessForType

public void generateClassLiteralAccessForType(TypeBinding accessedType,
                                              FieldBinding syntheticFieldBinding)
Macro for building a class descriptor object

覆盖:
CodeStream 中的 generateClassLiteralAccessForType

generateOuterAccess

public void generateOuterAccess(Object[] mappingSequence,
                                ASTNode invocationSite,
                                Binding target,
                                Scope scope)
覆盖:
CodeStream 中的 generateOuterAccess

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)
覆盖:
CodeStream 中的 init

initializeMaxLocals

public void initializeMaxLocals(MethodBinding methodBinding)
覆盖:
CodeStream 中的 initializeMaxLocals
参数:
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)
覆盖:
CodeStream 中的 removeNotDefinitelyAssignedVariables

reset

public void reset(ClassFile givenClassFile)
覆盖:
CodeStream 中的 reset

writePosition

protected void writePosition(BranchLabel label)
覆盖:
CodeStream 中的 writePosition

writePosition

protected void writePosition(BranchLabel label,
                             int forwardReference)
覆盖:
CodeStream 中的 writePosition

writeSignedWord

protected void writeSignedWord(int pos,
                               int value)
覆盖:
CodeStream 中的 writeSignedWord

writeWidePosition

protected void writeWidePosition(BranchLabel label)
覆盖:
CodeStream 中的 writeWidePosition

areturn

public void areturn()
覆盖:
CodeStream 中的 areturn

ireturn

public void ireturn()
覆盖:
CodeStream 中的 ireturn

lreturn

public void lreturn()
覆盖:
CodeStream 中的 lreturn

freturn

public void freturn()
覆盖:
CodeStream 中的 freturn

dreturn

public void dreturn()
覆盖:
CodeStream 中的 dreturn

return_

public void return_()
覆盖:
CodeStream 中的 return_

athrow

public void athrow()
覆盖:
CodeStream 中的 athrow

pushOnStack

public void pushOnStack(TypeBinding binding)
覆盖:
CodeStream 中的 pushOnStack

pushExceptionOnStack

public void pushExceptionOnStack(TypeBinding binding)
覆盖:
CodeStream 中的 pushExceptionOnStack

goto_

public void goto_(BranchLabel label)
从类 CodeStream 复制的描述
We didn't call it goto, because there is a conflit with the goto keyword

覆盖:
CodeStream 中的 goto_

goto_w

public void goto_w(BranchLabel label)
覆盖:
CodeStream 中的 goto_w

resetInWideMode

public void resetInWideMode()
覆盖:
CodeStream 中的 resetInWideMode

resetForCodeGenUnusedLocals

public void resetForCodeGenUnusedLocals()
覆盖:
CodeStream 中的 resetForCodeGenUnusedLocals

resetSecretLocals

public void resetSecretLocals()


Copyright © 2013. All Rights Reserved.