public class

IdentifierExpression

extends Expression
java.lang.Object
   ↳ sun.tools.tree.Node
     ↳ sun.tools.tree.Expression
       ↳ sun.tools.tree.IdentifierExpression

Class Overview

WARNING: The contents of this source file are not part of any supported API. Code that depends on them does so at its own risk: they are subject to change or removal without notice.

Summary

[Expand]
Inherited Constants
From interface sun.tools.java.Constants
From interface sun.tools.java.RuntimeConstants
[Expand]
Inherited Fields
From interface sun.tools.java.Constants
From interface sun.tools.java.RuntimeConstants
Public Constructors
IdentifierExpression(long where, Identifier id)
Constructor
IdentifierExpression(IdentifierToken id)
IdentifierExpression(long where, MemberDefinition field)
Public Methods
Vset checkAmbigName(Environment env, Context ctx, Vset vset, Hashtable exp, UnaryExpression loc)
Check if the present name is part of a scoping prefix.
Vset checkAssignOp(Environment env, Context ctx, Vset vset, Hashtable exp, Expression outside)
Check the expression if it appears on the LHS of an op= expression
Vset checkLHS(Environment env, Context ctx, Vset vset, Hashtable exp)
Check the expression if it appears on the LHS of an assignment
Vset checkValue(Environment env, Context ctx, Vset vset, Hashtable exp)
Check expression
void codeValue(Environment env, Context ctx, Assembler asm)
Expression copyInline(Context ctx)
Create a copy of the expression for method inlining
int costInline(int thresh, Environment env, Context ctx)
The cost of inlining this expression.
boolean equals(Identifier id)
Check if the expression is equal to a value
FieldUpdater getAssigner(Environment env, Context ctx)
Return an accessor if one is needed for assignments to this expression.
Expression getImplementation()
Type checking may assign a more complex implementation to an innocuous-looking expression (like an identifier).
FieldUpdater getUpdater(Environment env, Context ctx)
Return an updater if one is needed for assignments to this expression.
Expression inline(Environment env, Context ctx)
Inline
Expression inlineLHS(Environment env, Context ctx)
Expression inlineValue(Environment env, Context ctx)
boolean isConstant()
Check if constant: Will it inline away?
void print(PrintStream out)
Print
[Expand]
Inherited Methods
From class sun.tools.tree.Expression
From class sun.tools.tree.Node
From class java.lang.Object

Public Constructors

public IdentifierExpression (long where, Identifier id)

Constructor

public IdentifierExpression (IdentifierToken id)

public IdentifierExpression (long where, MemberDefinition field)

Public Methods

public Vset checkAmbigName (Environment env, Context ctx, Vset vset, Hashtable exp, UnaryExpression loc)

Check if the present name is part of a scoping prefix.

public Vset checkAssignOp (Environment env, Context ctx, Vset vset, Hashtable exp, Expression outside)

Check the expression if it appears on the LHS of an op= expression

public Vset checkLHS (Environment env, Context ctx, Vset vset, Hashtable exp)

Check the expression if it appears on the LHS of an assignment

public Vset checkValue (Environment env, Context ctx, Vset vset, Hashtable exp)

Check expression

public void codeValue (Environment env, Context ctx, Assembler asm)

public Expression copyInline (Context ctx)

Create a copy of the expression for method inlining

public int costInline (int thresh, Environment env, Context ctx)

The cost of inlining this expression. This cost controls the inlining of methods, and does not determine the compile-time simplifications performed by 'inline' and friends.

public boolean equals (Identifier id)

Check if the expression is equal to a value

public FieldUpdater getAssigner (Environment env, Context ctx)

Return an accessor if one is needed for assignments to this expression.

public Expression getImplementation ()

Type checking may assign a more complex implementation to an innocuous-looking expression (like an identifier). Return that implementation, or the original expression itself if there is no special implementation.

This appears at present to be dead code, and is not called from within javac. Access to the implementation generally occurs within the same class, and thus uses the underlying field directly.

public FieldUpdater getUpdater (Environment env, Context ctx)

Return an updater if one is needed for assignments to this expression.

public Expression inline (Environment env, Context ctx)

Inline

public Expression inlineLHS (Environment env, Context ctx)

public Expression inlineValue (Environment env, Context ctx)

public boolean isConstant ()

Check if constant: Will it inline away?

public void print (PrintStream out)

Print