public class

Statement

extends Node
java.lang.Object
   ↳ sun.tools.tree.Node
     ↳ sun.tools.tree.Statement
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
Fields
public static final Vset DEAD_END
public static final int MAXINLINECOST The largest possible interesting inline cost value.
public static final Statement empty An empty statement.
[Expand]
Inherited Fields
From interface sun.tools.java.Constants
From interface sun.tools.java.RuntimeConstants
Public Methods
Vset checkMethod(Environment env, Context ctx, Vset vset, Hashtable exp)
Check a statement
void code(Environment env, Context ctx, Assembler asm)
Code
Statement copyInline(Context ctx, boolean valNeeded)
Create a copy of the statement for method inlining
int costInline(int thresh, Environment env, Context ctx)
Statement eliminate(Environment env, Statement s)
Eliminate this statement, which is only possible if it has no label.
Expression firstConstructor()
Check if the first thing is a constructor invocation
boolean hasLabel(Identifier lbl)
Statement inline(Environment env, Context ctx)
Inline
static Statement insertStatement(Statement s1, Statement s2)
Insert a bit of code at the front of a statement.
void print(PrintStream out)
Print
void print(PrintStream out, int indent)
void setLabel(Environment env, Expression e)
Set the label of a statement
Protected Methods
void checkLabel(Environment env, Context ctx)
Make sure the labels on this statement do not duplicate the labels on any enclosing statement.
[Expand]
Inherited Methods
From class sun.tools.tree.Node
From class java.lang.Object

Fields

public static final Vset DEAD_END

public static final int MAXINLINECOST

The largest possible interesting inline cost value.

public static final Statement empty

An empty statement. Its costInline is infinite.

Public Methods

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

Check a statement

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

Code

public Statement copyInline (Context ctx, boolean valNeeded)

Create a copy of the statement for method inlining

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

public Statement eliminate (Environment env, Statement s)

Eliminate this statement, which is only possible if it has no label.

public Expression firstConstructor ()

Check if the first thing is a constructor invocation

public boolean hasLabel (Identifier lbl)

public Statement inline (Environment env, Context ctx)

Inline

public static Statement insertStatement (Statement s1, Statement s2)

Insert a bit of code at the front of a statement. Side-effect s2, if it is a CompoundStatement.

public void print (PrintStream out)

Print

public void print (PrintStream out, int indent)

public void setLabel (Environment env, Expression e)

Set the label of a statement

Protected Methods

protected void checkLabel (Environment env, Context ctx)

Make sure the labels on this statement do not duplicate the labels on any enclosing statement. Provided as a convenience for subclasses.