ist.palcom.st.ast
Class ASTBytecodeGenerator
java.lang.Object
ist.palcom.st.ast.ASTBytecodeGenerator
- Direct Known Subclasses:
- ASTMethodGenerator
public class ASTBytecodeGenerator
- extends java.lang.Object
|
Field Summary |
protected int |
bytecode_index
|
protected java.util.List<ist.palcom.st.ast.GeneratorLabel> |
labels
|
|
Method Summary |
protected void |
add_bytecode(byte bytecode,
int line_number)
|
void |
add_constant(ISerializableLiteral constant,
int line_number)
|
protected void |
add_index(int index,
int line_number)
|
int |
branch_identical(int target,
int line_number)
|
int |
branch_if_false(int target,
int line_number)
|
int |
branch_if_true(int target,
int line_number)
|
int |
branch(int target,
int line_number)
|
void |
call(ASTSymbol signature,
int parameters,
int line_number)
|
boolean |
does_only_precompilation()
|
void |
dup(int line_number)
|
java.util.List<ISerializableLiteral> |
get_constants()
|
int |
get_maximum_stack_pointer()
|
int |
get_number_of_bytecodes()
|
void |
label(int target)
|
java.util.List<ist.palcom.st.ast.GeneratorLabel> |
labels()
|
void |
pop_argument(int argument,
int context,
int line_number)
|
void |
pop_field(ASTSymbolUse name)
|
void |
pop_local(int local,
int context,
int line_number)
|
void |
pop(int line_number)
|
void |
push_argument(int argument,
int context,
int line_number)
|
void |
push_block(ASTBlockExpression block_method,
int line_number)
|
void |
push_constant(ASTLiteralUse constant)
|
void |
push_field(ASTSymbol name,
int line_number)
|
void |
push_global(ASTSymbol name,
int line_number)
|
void |
push_local(int local,
int context,
int line_number)
|
void |
return_local(int line_number)
|
void |
return_non_local(int line_number)
|
void |
send(ASTSymbol signature,
boolean is_super_send,
int line_number)
|
protected void |
simulate_pop()
|
protected void |
simulate_push()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
bytecode_index
protected int bytecode_index
labels
protected java.util.List<ist.palcom.st.ast.GeneratorLabel> labels
ASTBytecodeGenerator
public ASTBytecodeGenerator(int fileNameNumber)
labels
public java.util.List<ist.palcom.st.ast.GeneratorLabel> labels()
dup
public void dup(int line_number)
push_local
public void push_local(int local,
int context,
int line_number)
push_argument
public void push_argument(int argument,
int context,
int line_number)
push_field
public void push_field(ASTSymbol name,
int line_number)
push_block
public void push_block(ASTBlockExpression block_method,
int line_number)
push_constant
public void push_constant(ASTLiteralUse constant)
push_global
public void push_global(ASTSymbol name,
int line_number)
pop
public void pop(int line_number)
pop_local
public void pop_local(int local,
int context,
int line_number)
pop_argument
public void pop_argument(int argument,
int context,
int line_number)
pop_field
public void pop_field(ASTSymbolUse name)
call
public void call(ASTSymbol signature,
int parameters,
int line_number)
send
public void send(ASTSymbol signature,
boolean is_super_send,
int line_number)
return_local
public void return_local(int line_number)
branch_identical
public int branch_identical(int target,
int line_number)
branch_if_true
public int branch_if_true(int target,
int line_number)
branch_if_false
public int branch_if_false(int target,
int line_number)
branch
public int branch(int target,
int line_number)
label
public void label(int target)
return_non_local
public void return_non_local(int line_number)
get_number_of_bytecodes
public int get_number_of_bytecodes()
get_constants
public java.util.List<ISerializableLiteral> get_constants()
get_maximum_stack_pointer
public int get_maximum_stack_pointer()
does_only_precompilation
public boolean does_only_precompilation()
add_constant
public void add_constant(ISerializableLiteral constant,
int line_number)
add_index
protected void add_index(int index,
int line_number)
add_bytecode
protected void add_bytecode(byte bytecode,
int line_number)
simulate_push
protected void simulate_push()
simulate_pop
protected void simulate_pop()