org.eclipse.jdt.internal.compiler.ast
类 Statement
java.lang.Object
org.eclipse.jdt.internal.compiler.ast.ASTNode
org.eclipse.jdt.internal.compiler.ast.Statement
- 所有已实现的接口:
- TypeConstants, TypeIds
- 直接已知子类:
- AbstractVariableDeclaration, AssertStatement, Block, BranchStatement, CaseStatement, DoStatement, EmptyStatement, ExplicitConstructorCall, Expression, ForeachStatement, ForStatement, IfStatement, LabeledStatement, ReturnStatement, SubRoutineStatement, SwitchStatement, ThrowStatement, TypeDeclaration, WhileStatement
public abstract class Statement
- extends ASTNode
| 从类 org.eclipse.jdt.internal.compiler.ast.ASTNode 继承的字段 |
Bit1, Bit10, Bit11, Bit12, Bit13, Bit14, Bit15, Bit16, Bit17, Bit18, Bit19, Bit2, Bit20, Bit21, Bit22, Bit23, Bit24, Bit25, Bit26, Bit27, Bit28, Bit29, Bit3, Bit30, Bit31, Bit32, Bit32L, Bit33L, Bit34L, Bit35L, Bit36L, Bit37L, Bit38L, Bit39L, Bit4, Bit40L, Bit41L, Bit42L, Bit43L, Bit44L, Bit45L, Bit46L, Bit47L, Bit48L, Bit49L, Bit5, Bit50L, Bit51L, Bit52L, Bit53L, Bit54L, Bit55L, Bit56L, Bit57L, Bit58L, Bit59L, Bit6, Bit60L, Bit61L, Bit62L, Bit63L, Bit64L, Bit7, Bit8, Bit9, bits, BlockExit, CanBeStatic, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DisableUnnecessaryCastCheck, DiscardEnclosingInstance, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasLocalType, HasSyntaxErrors, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideExpressionStatement, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsArgument, IsCompoundAssigned, IsDefaultConstructor, IsDiamond, IsElseIfStatement, IsElseStatementUnreachable, IsImplicitThis, IsImplicitUnit, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsRecovered, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsSynchronized, IsThenStatementUnreachable, IsTryBlockExiting, IsUnionType, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, NeedReceiverGenericCast, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, ResolveJavadoc, RestrictiveFlagMASK, ReturnTypeIDMASK, sourceEnd, sourceStart, SuperAccess, ThenExit, Unchecked, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, Used |
| 从接口 org.eclipse.jdt.internal.compiler.lookup.TypeConstants 继承的字段 |
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, BOOLEAN, BYTE, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CLINIT, CLONE, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, DOUBLE, EQUALS, FLOAT, GETCLASS, HASHCODE, INIT, INT, INVOKE, IO, JAVA, JAVA_IO, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_SERIALIZABLE, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_AUTOCLOSEABLE, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SAFEVARARGS, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVAX_RMI_CORBA_STUB, LANG, LENGTH, LONG, MAIN, MISMATCH, NULL, OBJECT, OK, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_CONSTANT_INITIALIZATION_METHOD_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_STATIC_FACTORY, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE |
| 从接口 org.eclipse.jdt.internal.compiler.lookup.TypeIds 继承的字段 |
Boolean2Boolean, Boolean2Int, Boolean2String, BOXING, Byte2Byte, Byte2Char, Byte2Double, Byte2Float, Byte2Int, Byte2Long, Byte2Short, Byte2String, Char2Byte, Char2Char, Char2Double, Char2Float, Char2Int, Char2Long, Char2Short, Char2String, COMPILE_TYPE_MASK, Double2Byte, Double2Char, Double2Double, Double2Float, Double2Int, Double2Long, Double2Short, Double2String, Float2Byte, Float2Char, Float2Double, Float2Float, Float2Int, Float2Long, Float2Short, Float2String, IMPLICIT_CONVERSION_MASK, Int2Byte, Int2Char, Int2Double, Int2Float, Int2Int, Int2Long, Int2Short, Int2String, Long2Byte, Long2Char, Long2Double, Long2Float, Long2Int, Long2Long, Long2Short, Long2String, NoId, Null2Null, Null2String, Object2boolean, Object2byte, Object2char, Object2double, Object2float, Object2int, Object2long, Object2Object, Object2short, Object2String, Short2Byte, Short2Char, Short2Double, Short2Float, Short2Int, Short2Long, Short2Short, Short2String, String2String, T_boolean, T_byte, T_char, T_double, T_float, T_int, T_JavaIoException, T_JavaIoExternalizable, T_JavaIoObjectStreamException, T_JavaIoPrintStream, T_JavaIoSerializable, T_JavaLangAnnotationAnnotation, T_JavaLangAnnotationDocumented, T_JavaLangAnnotationElementType, T_JavaLangAnnotationInherited, T_JavaLangAnnotationRetention, T_JavaLangAnnotationRetentionPolicy, T_JavaLangAnnotationTarget, T_JavaLangAssertionError, T_JavaLangAutoCloseable, T_JavaLangBoolean, T_JavaLangByte, T_JavaLangCharacter, T_JavaLangClass, T_JavaLangClassNotFoundException, T_JavaLangCloneable, T_JavaLangDeprecated, T_JavaLangDouble, T_JavaLangEnum, T_JavaLangError, T_JavaLangException, T_JavaLangFloat, T_JavaLangIllegalArgumentException, T_JavaLangInteger, T_JavaLangInvokeMethodHandlePolymorphicSignature, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangReflectConstructor, T_JavaLangReflectField, T_JavaLangReflectMethod, T_JavaLangRuntimeException, T_JavaLangSafeVarargs, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilCollection, T_JavaUtilIterator, T_long, T_null, T_short, T_undefined, T_void, UNBOXING |
|
方法摘要 |
abstract FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
|
void |
branchChainTo(BranchLabel label)
INTERNAL USE ONLY. |
protected int |
checkAgainstNullAnnotation(BlockScope currentScope,
LocalVariableBinding local,
int nullStatus)
Empty hook for checking null status against declaration using null annotations, once this will be supported. |
int |
complainIfUnreachable(FlowInfo flowInfo,
BlockScope scope,
int previousComplaintLevel)
|
TypeBinding |
expectedType()
Implementation of InvocationSite.expectedType()
suitable at this level. |
void |
generateArguments(MethodBinding binding,
Expression[] arguments,
BlockScope currentScope,
CodeStream codeStream)
Generate invocation arguments, considering varargs methods |
abstract void |
generateCode(BlockScope currentScope,
CodeStream codeStream)
|
protected boolean |
isBoxingCompatible(TypeBinding expressionType,
TypeBinding targetType,
Expression expression,
Scope scope)
|
boolean |
isEmptyBlock()
|
protected static boolean |
isKnowDeadCodePattern(Expression expression)
Answers true if the if is identified as a known coding pattern which
should be tolerated by dead code analysis. |
boolean |
isValidJavaStatement()
|
StringBuffer |
print(int indent,
StringBuffer output)
|
abstract StringBuffer |
printStatement(int indent,
StringBuffer output)
|
abstract void |
resolve(BlockScope scope)
|
Constant |
resolveCase(BlockScope scope,
TypeBinding testType,
SwitchStatement switchStatement)
Returns case constant associated to this statement (NotAConstant if none) |
| 从类 org.eclipse.jdt.internal.compiler.ast.ASTNode 继承的方法 |
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString, traverse |
NOT_COMPLAINED
public static final int NOT_COMPLAINED
- 另请参见:
- 常量字段值
COMPLAINED_FAKE_REACHABLE
public static final int COMPLAINED_FAKE_REACHABLE
- 另请参见:
- 常量字段值
COMPLAINED_UNREACHABLE
public static final int COMPLAINED_UNREACHABLE
- 另请参见:
- 常量字段值
Statement
public Statement()
isKnowDeadCodePattern
protected static boolean isKnowDeadCodePattern(Expression expression)
- Answers true if the if is identified as a known coding pattern which
should be tolerated by dead code analysis.
e.g. if (DEBUG) print(); // no complaint
Only invoked when overall condition is known to be optimizeable into false/true.
analyseCode
public abstract FlowInfo analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
checkAgainstNullAnnotation
protected int checkAgainstNullAnnotation(BlockScope currentScope,
LocalVariableBinding local,
int nullStatus)
- Empty hook for checking null status against declaration using null annotations, once this will be supported.
branchChainTo
public void branchChainTo(BranchLabel label)
- INTERNAL USE ONLY.
This is used to redirect inter-statements jumps.
complainIfUnreachable
public int complainIfUnreachable(FlowInfo flowInfo,
BlockScope scope,
int previousComplaintLevel)
generateArguments
public void generateArguments(MethodBinding binding,
Expression[] arguments,
BlockScope currentScope,
CodeStream codeStream)
- Generate invocation arguments, considering varargs methods
generateCode
public abstract void generateCode(BlockScope currentScope,
CodeStream codeStream)
isBoxingCompatible
protected boolean isBoxingCompatible(TypeBinding expressionType,
TypeBinding targetType,
Expression expression,
Scope scope)
isEmptyBlock
public boolean isEmptyBlock()
isValidJavaStatement
public boolean isValidJavaStatement()
print
public StringBuffer print(int indent,
StringBuffer output)
- 指定者:
- 类
ASTNode 中的 print
printStatement
public abstract StringBuffer printStatement(int indent,
StringBuffer output)
resolve
public abstract void resolve(BlockScope scope)
resolveCase
public Constant resolveCase(BlockScope scope,
TypeBinding testType,
SwitchStatement switchStatement)
- Returns case constant associated to this statement (NotAConstant if none)
expectedType
public TypeBinding expectedType()
- Implementation of
InvocationSite.expectedType()
suitable at this level. Subclasses should override as necessary.
- 另请参见:
InvocationSite.expectedType()
Copyright © 2013. All Rights Reserved.