Class DetachedVarSymbol
java.lang.Object
com.sun.tools.javac.code.AnnoConstruct
com.sun.tools.javac.code.Symbol
com.sun.tools.javac.code.Symbol.VarSymbol
org.checkerframework.javacutil.trees.DetachedVarSymbol
- All Implemented Interfaces:
com.sun.tools.javac.jvm.PoolConstant
,AnnotatedConstruct
,Element
,VariableElement
public class DetachedVarSymbol
extends com.sun.tools.javac.code.Symbol.VarSymbol
A DetachedVarSymbol represents a variable that is not part of any AST Tree. DetachedVarSymbols
are created when desugaring source code constructs and they carry important type information, but
some methods such as TreeInfo.declarationFor do not work on them.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.sun.tools.javac.code.Symbol
com.sun.tools.javac.code.Symbol.BindingSymbol, com.sun.tools.javac.code.Symbol.ClassSymbol, com.sun.tools.javac.code.Symbol.Completer, com.sun.tools.javac.code.Symbol.CompletionFailure, com.sun.tools.javac.code.Symbol.DelegatedSymbol<T extends com.sun.tools.javac.code.Symbol>, com.sun.tools.javac.code.Symbol.DynamicMethodSymbol, com.sun.tools.javac.code.Symbol.DynamicVarSymbol, com.sun.tools.javac.code.Symbol.MethodHandleSymbol, com.sun.tools.javac.code.Symbol.MethodSymbol, com.sun.tools.javac.code.Symbol.ModuleFlags, com.sun.tools.javac.code.Symbol.ModuleResolutionFlags, com.sun.tools.javac.code.Symbol.ModuleSymbol, com.sun.tools.javac.code.Symbol.OperatorSymbol, com.sun.tools.javac.code.Symbol.PackageSymbol, com.sun.tools.javac.code.Symbol.ParamSymbol, com.sun.tools.javac.code.Symbol.RecordComponent, com.sun.tools.javac.code.Symbol.RootPackageSymbol, com.sun.tools.javac.code.Symbol.TypeSymbol, com.sun.tools.javac.code.Symbol.TypeVariableSymbol, com.sun.tools.javac.code.Symbol.VarSymbol, com.sun.tools.javac.code.Symbol.Visitor<R,
P> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDetachedVarSymbol
(long flags, com.sun.tools.javac.util.Name name, com.sun.tools.javac.code.Type type, com.sun.tools.javac.code.Symbol owner) Construct a detached variable symbol, given its flags, name, type and owner. -
Method Summary
Modifier and TypeMethodDescriptionGet the declaration tree for the variable.void
setDeclaration
(VariableTree decl) Set the declaration tree for the variable.Methods inherited from class com.sun.tools.javac.code.Symbol.VarSymbol
accept, accept, asMemberOf, asMethodHandle, clone, getConstantValue, getConstValue, getKind, isExceptionParameter, isResourceVariable, isUnnamedVariable, poolTag, setData, setLazyConstValue, toString
Methods inherited from class com.sun.tools.javac.code.Symbol
annotationsPendingCompletion, apiComplete, appendAttributes, appendClassInitTypeAttributes, appendInitTypeAttributes, appendUniqueTypeAttributes, asType, attribute, baseSymbol, complete, enclClass, erasure, exists, externalType, flags, flatName, getAnnotationMirrors, getClassInitTypeAttributes, getDeclarationAttributes, getEnclosedElements, getEnclosingElement, getInitTypeAttributes, getMetadata, getModifiers, getQualifiedName, getRawAttributes, getRawTypeAttributes, getSimpleName, getTypeParameters, hasAnnotations, hasDeprecatedAnnotation, hasOuterInstance, hasTypeAnnotations, isAbstract, isAccessibleIn, isAnonymous, isCompleted, isConstructor, isDeprecatableViaAnnotation, isDeprecated, isDeprecatedForRemoval, isDirectlyOrIndirectlyLocal, isDynamic, isEnclosedBy, isEnum, isFinal, isInheritedIn, isInner, isInterface, isMemberOf, isNonSealed, isPreviewApi, isPrivate, isPublic, isSealed, isStatic, isSubClass, location, location, members, outermostClass, overrides, packge, prependAttributes, resetAnnotations, setAttributes, setClassInitTypeAttributes, setDeclarationAttributes, setInitTypeAttributes, setTypeAttributes
Methods inherited from class com.sun.tools.javac.code.AnnoConstruct
getAnnotation, getAnnotationsByType, getAttribute, getInheritedAnnotations
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface javax.lang.model.element.Element
equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getEnclosedElements, getModifiers, hashCode
Methods inherited from interface javax.lang.model.element.VariableElement
asType, getEnclosingElement, getSimpleName, isUnnamed