public class

ThisExpression

extends Expression
java.lang.Object
   ↳ sun.tools.tree.Node
     ↳ sun.tools.tree.Expression
       ↳ sun.tools.tree.ThisExpression
Known Direct Subclasses

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
ThisExpression(long where)
Constructor
ThisExpression(long where, LocalMember field)
ThisExpression(long where, Context ctx)
ThisExpression(long where, Expression outerArg)
Constructor for "x.this()"
Protected Constructors
ThisExpression(int op, long where)
Public Methods
Vset checkValue(Environment env, Context ctx, Vset vset, Hashtable exp)
Check expression
void codeValue(Environment env, Context ctx, Assembler asm)
Code
Expression copyInline(Context ctx)
Create a copy of the expression for method inlining
FieldUpdater getAssigner(Environment env, Context ctx)
Return a FieldUpdater object to be used in updating the value of the location denoted by this, which must be an expression suitable for the left-hand side of an assignment.
Expression getImplementation()
Type checking may assign a more complex implementation to an innocuous-looking expression (like an identifier).
Expression getOuterArg()
From the 'this' in an expression of the form outer.this(...), or the 'super' in an expression of the form outer.super(...), return the "outer" expression, or null if there is none.
FieldUpdater getUpdater(Environment env, Context ctx)
Return a FieldUpdater object to be used in updating the value of the location denoted by this, which must be an expression suitable for the left-hand side of an assignment.
Expression inlineValue(Environment env, Context ctx)
Inline
boolean isNonNull()
Check if the expression cannot be a null reference.
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 ThisExpression (long where)

Constructor

public ThisExpression (long where, LocalMember field)

public ThisExpression (long where, Context ctx)

public ThisExpression (long where, Expression outerArg)

Constructor for "x.this()"

Protected Constructors

protected ThisExpression (int op, long where)

Public Methods

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

Check expression

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

Code

public Expression copyInline (Context ctx)

Create a copy of the expression for method inlining

public FieldUpdater getAssigner (Environment env, Context ctx)

Return a FieldUpdater object to be used in updating the value of the location denoted by this, which must be an expression suitable for the left-hand side of an assignment. This is used for implementing assignments to private fields for which an access method is required. Returns null if no access method is needed, in which case the assignment is handled in the usual way, by direct access. Only simple assignment expressions are handled here Assignment operators and pre/post increment/decrement operators are are handled by 'getUpdater' below.

Called during the checking phase.

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 Expression getOuterArg ()

From the 'this' in an expression of the form outer.this(...), or the 'super' in an expression of the form outer.super(...), return the "outer" expression, or null if there is none.

public FieldUpdater getUpdater (Environment env, Context ctx)

Return a FieldUpdater object to be used in updating the value of the location denoted by this, which must be an expression suitable for the left-hand side of an assignment. This is used for implementing the assignment operators and the increment/decrement operators on private fields that require an access method, e.g., uplevel from an inner class. Returns null if no access method is needed.

Called during the checking phase.

public Expression inlineValue (Environment env, Context ctx)

Inline

public boolean isNonNull ()

Check if the expression cannot be a null reference.

public void print (PrintStream out)

Print