类 org.eclipse.jdt.internal.compiler.codegen.CodeStream
的使用

使用 CodeStream 的软件包
org.eclipse.jdt.internal.compiler   
org.eclipse.jdt.internal.compiler.ast   
org.eclipse.jdt.internal.compiler.codegen   
org.eclipse.jdt.internal.compiler.lookup   
 

org.eclipse.jdt.internal.compilerCodeStream 的使用
 

声明为 CodeStreamorg.eclipse.jdt.internal.compiler 中的字段
 CodeStream ClassFile.codeStream
           
 

org.eclipse.jdt.internal.compiler.astCodeStream 的使用
 

参数类型为 CodeStreamorg.eclipse.jdt.internal.compiler.ast 中的方法
 ExceptionLabel TryStatement.enterAnyExceptionHandler(CodeStream codeStream)
           
 ExceptionLabel SubRoutineStatement.enterAnyExceptionHandler(CodeStream codeStream)
           
 void TryStatement.enterDeclaredExceptionHandlers(CodeStream codeStream)
           
 void SubRoutineStatement.enterDeclaredExceptionHandlers(CodeStream codeStream)
           
 void TryStatement.exitDeclaredExceptionHandlers(CodeStream codeStream)
           
 void SubRoutineStatement.exitDeclaredExceptionHandlers(CodeStream codeStream)
           
 void Reference.fieldStore(Scope currentScope, CodeStream codeStream, FieldBinding fieldBinding, MethodBinding syntheticWriteAccessor, TypeBinding receiverType, boolean isImplicitThisReceiver, boolean valueRequired)
           
 void Statement.generateArguments(MethodBinding binding, Expression[] arguments, BlockScope currentScope, CodeStream codeStream)
          Generate invocation arguments, considering varargs methods
 void ThisReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void SingleNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
abstract  void Reference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void QualifiedNameReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void FieldReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void ArrayReference.generateAssignment(BlockScope currentScope, CodeStream codeStream, Assignment assignment, boolean valueRequired)
           
 void EqualExpression.generateBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!
 void WhileStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          While code generation
 void TypeParameter.generateCode(BlockScope currentScope, CodeStream codeStream)
           
 void TypeDeclaration.generateCode(BlockScope blockScope, CodeStream codeStream)
          Bytecode generation for a local inner type (API as a normal statement code gen)
 void TryStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Try statement code generation with or without jsr bytecode use post 1.5 target level, cannot use jsr bytecode, must instead inline finally block returnAddress is only allocated if jsr is allowed
 void ThrowStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Throw code generation
 void SynchronizedStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Synchronized statement code generation
 void SwitchStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Switch code generation
abstract  void Statement.generateCode(BlockScope currentScope, CodeStream codeStream)
           
 void ReturnStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Retrun statement code generation generate the finallyInvocationSequence.
 void LocalDeclaration.generateCode(BlockScope currentScope, CodeStream codeStream)
          Code generation for a local declaration: i.e.
 void LabeledStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Code generation for labeled statement may not need actual source positions recording
 void Initializer.generateCode(BlockScope currentScope, CodeStream codeStream)
          Code generation for a non-static initializer: standard block code gen
 void IfStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          If code generation
 void ForStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          For statement code generation
 void ForeachStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          For statement code generation
 void FieldDeclaration.generateCode(BlockScope currentScope, CodeStream codeStream)
          Code generation for a field declaration: standard assignment to a field
 void Expression.generateCode(BlockScope currentScope, CodeStream codeStream)
          Expression statements are plain expressions, however they generate like normal expressions with no value required.
 void ExplicitConstructorCall.generateCode(BlockScope currentScope, CodeStream codeStream)
          Constructor call code generation
 void EmptyStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
           
 void DoStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Do statement code generation
 void CaseStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Case code generation
 void BranchStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
          Branch code generation generate the finallyInvocationSequence.
 void Block.generateCode(BlockScope currentScope, CodeStream codeStream)
          Code generation for a block
 void AssertStatement.generateCode(BlockScope currentScope, CodeStream codeStream)
           
 void UnaryExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for an unary operation
 void TrueLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for the true literal
 void ThisReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void StringLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for string literal
 void SingleNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void QualifiedThisReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for QualifiedThisReference
 void QualifiedNameReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void QualifiedAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void PostfixExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for PostfixExpression
 void OR_OR_Expression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a binary operation
 void NullLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for the null literal
 void MessageSend.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          MessageSend code generation
 void LongLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for long literal
 void IntLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for long literal
 void InstanceOfExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for instanceOfExpression
 void FloatLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for float literal
 void FieldReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Field reference code generation
 void FalseLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for false literal
 void Expression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Every expression is responsible for generating its implicit conversion when necessary.
 void EqualExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Normal == or !
 void DoubleLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for the double literak
 void ConditionalExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for the conditional operator ?
 void CompoundAssignment.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void ClassLiteralAccess.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          MessageSendDotClass code generation
 void CharLiteral.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          CharLiteral code generation
 void CastExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Cast expression code generation
 void BinaryExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a binary operation
 void Assignment.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void ArrayReference.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a array reference
 void ArrayInitializer.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a array initializer
 void ArrayAllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a array allocation expression
 void AND_AND_Expression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Code generation for a binary operation
 void AllocationExpression.generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
           
 void SwitchStatement.generateCodeForStringSwitch(BlockScope currentScope, CodeStream codeStream)
          Switch on String code generation This assumes that hashCode() specification for java.lang.String is API and is stable.
 void ThisReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void SingleNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
abstract  void Reference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void QualifiedNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void FieldReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void ArrayReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void SingleNameReference.generateCompoundAssignment(BlockScope currentScope, CodeStream codeStream, MethodBinding writeAccessor, Expression expression, int operator, int assignmentImplicitConversion, boolean valueRequired)
           
 void BinaryExpression.generateLogicalAnd(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Boolean generation for &
 void BinaryExpression.generateLogicalOr(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Boolean generation for |
 void BinaryExpression.generateLogicalXor(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Boolean generation for ^
 void EqualExpression.generateNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, boolean valueRequired)
          Boolean generation for == with non-boolean operands
 void UnaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: &&, ||, <, <=, >, >=, &, |, ^
 void TrueLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
           
 void OR_OR_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: ||
 void FalseLiteral.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
           
 void Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Default generation of a boolean value
 void EqualExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: == and !
 void ConditionalExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Optimized boolean code generation for the conditional operator ?
 void BinaryExpression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: <, <=, >, >=, &, |, ^
 void AND_AND_Expression.generateOptimizedBoolean(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean operator code generation Optimized operations are: &&
 void EqualExpression.generateOptimizedBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for == with boolean operands Note this code does not optimize conditional constants !!!!
 void BinaryExpression.generateOptimizedGreaterThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for >
 void BinaryExpression.generateOptimizedGreaterThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for >=
 void BinaryExpression.generateOptimizedLessThan(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for <
 void BinaryExpression.generateOptimizedLessThanOrEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for <=
 void BinaryExpression.generateOptimizedLogicalAnd(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for &
 void BinaryExpression.generateOptimizedLogicalOr(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for |
 void BinaryExpression.generateOptimizedLogicalXor(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for ^
 void EqualExpression.generateOptimizedNonBooleanEqual(BlockScope currentScope, CodeStream codeStream, BranchLabel trueLabel, BranchLabel falseLabel, boolean valueRequired)
          Boolean generation for == with non-boolean operands
 void Expression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void CombinedBinaryExpression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void BinaryExpression.generateOptimizedStringConcatenation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void Expression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void CombinedBinaryExpression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void BinaryExpression.generateOptimizedStringConcatenationCreation(BlockScope blockScope, CodeStream codeStream, int typeID)
           
 void ThisReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 void SingleNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
abstract  void Reference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 void QualifiedNameReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 void FieldReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 void ArrayReference.generatePostIncrement(BlockScope currentScope, CodeStream codeStream, CompoundAssignment postIncrement, boolean valueRequired)
           
 FieldBinding QualifiedNameReference.generateReadSequence(BlockScope currentScope, CodeStream codeStream)
           
 void SingleNameReference.generateReceiver(CodeStream codeStream)
           
 void QualifiedNameReference.generateReceiver(CodeStream codeStream)
           
 void ReturnStatement.generateReturnBytecode(CodeStream codeStream)
          Dump the suitable return bytecode for a return statement
 void ReturnStatement.generateStoreSaveValueIfNecessary(CodeStream codeStream)
           
 boolean TryStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal)
           
 boolean SynchronizedStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal)
           
abstract  boolean SubRoutineStatement.generateSubRoutineInvocation(BlockScope currentScope, CodeStream codeStream, Object targetLocation, int stateIndex, LocalVariableBinding secretLocal)
          Generate an invocation of a subroutine (e.g. jsr finally) in current context.
 void ConstructorDeclaration.generateSyntheticFieldInitializationsIfNecessary(MethodScope methodScope, CodeStream codeStream, ReferenceBinding declaringClass)
           
static void SubRoutineStatement.reenterAllExceptionHandlers(SubRoutineStatement[] subroutines, int max, CodeStream codeStream)
           
 

org.eclipse.jdt.internal.compiler.codegenCodeStream 的使用
 

org.eclipse.jdt.internal.compiler.codegenCodeStream 的子类
 class StackMapFrameCodeStream
           
 

声明为 CodeStreamorg.eclipse.jdt.internal.compiler.codegen 中的字段
 CodeStream Label.codeStream
           
 

参数类型为 CodeStreamorg.eclipse.jdt.internal.compiler.codegen 中的方法
 void BranchLabel.initialize(CodeStream stream)
           
 

参数类型为 CodeStreamorg.eclipse.jdt.internal.compiler.codegen 中的构造方法
BranchLabel(CodeStream codeStream)
           
CaseLabel(CodeStream codeStream)
          CaseLabel constructor comment.
ExceptionLabel(CodeStream codeStream, TypeBinding exceptionType)
           
Label(CodeStream codeStream)
           
MultiCatchExceptionLabel(CodeStream codeStream, TypeBinding exceptionType)
           
 

org.eclipse.jdt.internal.compiler.lookupCodeStream 的使用
 

参数类型为 CodeStreamorg.eclipse.jdt.internal.compiler.lookup 中的方法
 void MethodScope.computeLocalVariablePositions(int initOffset, CodeStream codeStream)
          Compute variable positions in scopes given an initial position offset ignoring unused local variables.
 



Copyright © 2013. All Rights Reserved.