APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.tools.javac.comp

public Class MemberEnter

extends Visitor
Class Inheritance
Imports
java.util.EnumSet, .Set, com.sun.tools.javac.code.*, .Scope.WriteableScope, .Source.Feature, com.sun.tools.javac.code.Symbol.*, com.sun.tools.javac.code.Type.*, com.sun.tools.javac.tree.*, com.sun.tools.javac.tree.JCTree.*, com.sun.tools.javac.util.*, .JCDiagnostic.DiagnosticPosition, .JCDiagnostic.Error, com.sun.tools.javac.resources.CompilerProperties.Errors

Resolves field, method and constructor header, and constructs corresponding Symbols.

This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
MemberEnter.InitTreeVisitor

Visitor class for expressions which might be constant expressions, as per JLS 15.28 (Constant Expressions).

Field Summary

Modifier and TypeField and Description
private final Annotate
private final Attr
private final Check
private final Enter
protected Env<AttrContext>
env

Visitor argument: the current environment

private final Log
protected static final Context.Key<MemberEnter>
private final Names
private final Source
source

The Source language setting.

private final Symtab
private final Types

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv void
checkType(JCTree tree, Type type, JCDiagnostic.Error errorKey)

public Env<AttrContext>
public Env<AttrContext>
pack-priv Env<AttrContext>
initEnv(JCTree.JCVariableDecl
The variable definition.
tree
,
Env<AttrContext>
The environment current outside of the variable definition.
env
)

Create a fresh environment for a variable's initializer.

public static MemberEnter
instance(Context context)

protected void
memberEnter(JCTree tree, Env<AttrContext> env)

Enter field and method definitions and process import clauses, catching any completion failure exceptions.

pack-priv void
memberEnter(List<? extends JCTree> trees, Env<AttrContext> env)

Enter members from a list of trees.

pack-priv Env<AttrContext>
methodEnv(JCTree.JCMethodDecl
The method definition.
tree
,
Env<AttrContext>
The environment current outside of the method definition.
env
)

Create a fresh environment for method bodies.

public boolean
pack-priv Type
signature(Symbol.MethodSymbol msym, List<JCTree.JCTypeParameter>
The method's type parameters.
typarams
,
List<JCTree.JCVariableDecl>
The method's value parameters.
params
,
JCTree
The method's result type, null if it is a constructor.
res
,
JCTree.JCVariableDecl
The method's receiver parameter, null if none given; TODO: or already set here?
recvparam
,
List<JCTree.JCExpression>
The method's thrown exceptions.
thrown
,
Env<AttrContext>
The method's (local) environment.
env
)

Construct method type from method signature.

public void
public void
public void
visitTree(JCTree tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitTree.

Default member enter visitor method: do nothing

public void
Inherited from com.sun.tools.javac.tree.JCTree.Visitor:
visitAnnotatedTypevisitAnnotationvisitAnyPatternvisitApplyvisitAssertvisitAssignvisitAssignopvisitBinaryvisitBindingPatternvisitBlockvisitBreakvisitCasevisitCatchvisitClassDefvisitConditionalvisitConstantCaseLabelvisitContinuevisitDefaultCaseLabelvisitDoLoopvisitExecvisitExportsvisitForeachLoopvisitForLoopvisitIdentvisitIfvisitImportvisitIndexedvisitLabelledvisitLambdavisitLetExprvisitLiteralvisitModifiersvisitModuleDefvisitModuleImportvisitNewArrayvisitNewClassvisitOpensvisitPackageDefvisitParensvisitPatternCaseLabelvisitProvidesvisitRecordPatternvisitReferencevisitRequiresvisitReturnvisitSelectvisitSkipvisitSwitchvisitSwitchExpressionvisitSynchronizedvisitThrowvisitTopLevelvisitTryvisitTypeApplyvisitTypeArrayvisitTypeBoundKindvisitTypeCastvisitTypeIdentvisitTypeIntersectionvisitTypeParametervisitTypeTestvisitTypeUnionvisitUnaryvisitUsesvisitVarTypevisitWhileLoopvisitWildcardvisitYield

Field Detail

annotateback to summary
private final Annotate annotate
attrback to summary
private final Attr attr
chkback to summary
private final Check chk
enterback to summary
private final Enter enter
envback to summary
protected Env<AttrContext> env

Visitor argument: the current environment

logback to summary
private final Log log
memberEnterKeyback to summary
protected static final Context.Key<MemberEnter> memberEnterKey
namesback to summary
private final Names names
sourceback to summary
private final Source source

The Source language setting.

symsback to summary
private final Symtab syms
typesback to summary
private final Types types

Constructor Detail

MemberEnterback to summary
protected MemberEnter(Context context)
Annotations
@SuppressWarnings:this-escape

Method Detail

checkReceiverback to summary
pack-priv void checkReceiver(JCTree.JCVariableDecl tree, Env<AttrContext> localEnv)
checkTypeback to summary
pack-priv void checkType(JCTree tree, Type type, JCDiagnostic.Error errorKey)
getInitEnvback to summary
public Env<AttrContext> getInitEnv(JCTree.JCVariableDecl tree, Env<AttrContext> env)
getMethodEnvback to summary
public Env<AttrContext> getMethodEnv(JCTree.JCMethodDecl tree, Env<AttrContext> env)
initEnvback to summary
pack-priv Env<AttrContext> initEnv(JCTree.JCVariableDecl tree, Env<AttrContext> env)

Create a fresh environment for a variable's initializer. If the variable is a field, the owner of the environment's scope is be the variable itself, otherwise the owner is the method enclosing the variable definition.

Parameters
tree:JCTree.JCVariableDecl

The variable definition.

env:Env<AttrContext>

The environment current outside of the variable definition.

instanceback to summary
public static MemberEnter instance(Context context)
memberEnterback to summary
protected void memberEnter(JCTree tree, Env<AttrContext> env)

Enter field and method definitions and process import clauses, catching any completion failure exceptions.

memberEnterback to summary
pack-priv void memberEnter(List<? extends JCTree> trees, Env<AttrContext> env)

Enter members from a list of trees.

methodEnvback to summary
pack-priv Env<AttrContext> methodEnv(JCTree.JCMethodDecl tree, Env<AttrContext> env)

Create a fresh environment for method bodies.

Parameters
tree:JCTree.JCMethodDecl

The method definition.

env:Env<AttrContext>

The environment current outside of the method definition.

needsLazyConstValueback to summary
public boolean needsLazyConstValue(JCTree tree)
signatureback to summary
pack-priv Type signature(Symbol.MethodSymbol msym, List<JCTree.JCTypeParameter> typarams, List<JCTree.JCVariableDecl> params, JCTree res, JCTree.JCVariableDecl recvparam, List<JCTree.JCExpression> thrown, Env<AttrContext> env)

Construct method type from method signature.

Parameters
typarams:List<JCTree.JCTypeParameter>

The method's type parameters.

params:List<JCTree.JCVariableDecl>

The method's value parameters.

res:JCTree

The method's result type, null if it is a constructor.

recvparam:JCTree.JCVariableDecl

The method's receiver parameter, null if none given; TODO: or already set here?

thrown:List<JCTree.JCExpression>

The method's thrown exceptions.

env:Env<AttrContext>

The method's (local) environment.

visitErroneousback to summary
public void visitErroneous(JCTree.JCErroneous tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitErroneous.

visitMethodDefback to summary
public void visitMethodDef(JCTree.JCMethodDecl tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitMethodDef.

visitTreeback to summary
public void visitTree(JCTree tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitTree.

Default member enter visitor method: do nothing

visitVarDefback to summary
public void visitVarDef(JCTree.JCVariableDecl tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitVarDef.

com.sun.tools.javac.comp back to summary

pack-priv Class MemberEnter.InitTreeVisitor

extends Visitor
Class Inheritance

Visitor class for expressions which might be constant expressions, as per JLS 15.28 (Constant Expressions).

Field Summary

Modifier and TypeField and Description
private static final Set<JCTree.Tag>
pack-priv boolean

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
public void
public void
public void
public void
public void
public void
public void
public void
Inherited from com.sun.tools.javac.tree.JCTree.Visitor:
visitAnnotatedTypevisitAnnotationvisitAnyPatternvisitApplyvisitAssertvisitAssignvisitAssignopvisitBindingPatternvisitBlockvisitBreakvisitCasevisitCatchvisitClassDefvisitConstantCaseLabelvisitContinuevisitDefaultCaseLabelvisitDoLoopvisitErroneousvisitExecvisitExportsvisitForeachLoopvisitForLoopvisitIfvisitImportvisitIndexedvisitLabelledvisitLambdavisitLetExprvisitMethodDefvisitModifiersvisitModuleDefvisitModuleImportvisitNewArrayvisitNewClassvisitOpensvisitPackageDefvisitPatternCaseLabelvisitProvidesvisitRecordPatternvisitReferencevisitRequiresvisitReturnvisitSkipvisitSwitchvisitSwitchExpressionvisitSynchronizedvisitThrowvisitTopLevelvisitTryvisitTypeApplyvisitTypeArrayvisitTypeBoundKindvisitTypeIdentvisitTypeIntersectionvisitTypeParametervisitTypeTestvisitTypeUnionvisitUsesvisitVarDefvisitVarTypevisitWhileLoopvisitWildcardvisitYield

Field Detail

ALLOWED_OPERATORSback to summary
private static final Set<JCTree.Tag> ALLOWED_OPERATORS
resultback to summary
pack-priv boolean result

Constructor Detail

InitTreeVisitorback to summary
pack-priv InitTreeVisitor()

Method Detail

visitBinaryback to summary
public void visitBinary(JCTree.JCBinary that)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitBinary.

Annotations
@Override
visitConditionalback to summary
public void visitConditional(JCTree.JCConditional tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitConditional.

Annotations
@Override
visitIdentback to summary
public void visitIdent(JCTree.JCIdent that)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitIdent.

Annotations
@Override
visitLiteralback to summary
public void visitLiteral(JCTree.JCLiteral that)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitLiteral.

Annotations
@Override
visitParensback to summary
public void visitParens(JCTree.JCParens tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitParens.

Annotations
@Override
visitSelectback to summary
public void visitSelect(JCTree.JCFieldAccess tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitSelect.

Annotations
@Override
visitTreeback to summary
public void visitTree(JCTree tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitTree.

Annotations
@Override
visitTypeCastback to summary
public void visitTypeCast(JCTree.JCTypeCast tree)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitTypeCast.

Annotations
@Override
visitUnaryback to summary
public void visitUnary(JCTree.JCUnary that)

Overrides com.sun.tools.javac.tree.JCTree.Visitor.visitUnary.

Annotations
@Override