public final class

Assembler

extends Object
implements Constants
java.lang.Object
   ↳ sun.tools.asm.Assembler

Class Overview

This class is used to assemble the bytecode instructions for a method. 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
Assembler()
Public Methods
void GenJCov(Environment env)
void GenVecJCov(Environment env, ClassDefinition c, long Time)
void add(long where, int opc, boolean flagNoCovered)
void add(long where, int opc, Object obj, boolean flagCondInverted)
void add(Instruction inst)
Add an instruction
void add(boolean flagNoCovered, long where, int opc, Object obj)
void add(long where, int opc, Object obj)
void add(long where, int opc)
void addNativeToJcovTab(Environment env, ClassDefinition c)
void collect(Environment env, MemberDefinition field, ConstantPool tab)
Collect all constants into the constant table
boolean empty()
Return true if empty
void listing(PrintStream out)
Print the byte codes
void optimize(Environment env)
Optimize the byte codes
void write(Environment env, DataOutputStream out, MemberDefinition field, ConstantPool tab)
Generate code
void writeCoverageTable(Environment env, ClassDefinition c, DataOutputStream out, ConstantPool tab, long whereField)
Write the coverage table
void writeLineNumberTable(Environment env, DataOutputStream out, ConstantPool tab)
Write the linenumber table
void writeLocalVariableTable(Environment env, MemberDefinition field, DataOutputStream out, ConstantPool tab)
Write the local variable table.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public Assembler ()

Public Methods

public void GenJCov (Environment env)

public void GenVecJCov (Environment env, ClassDefinition c, long Time)

public void add (long where, int opc, boolean flagNoCovered)

public void add (long where, int opc, Object obj, boolean flagCondInverted)

public void add (Instruction inst)

Add an instruction

public void add (boolean flagNoCovered, long where, int opc, Object obj)

public void add (long where, int opc, Object obj)

public void add (long where, int opc)

public void addNativeToJcovTab (Environment env, ClassDefinition c)

public void collect (Environment env, MemberDefinition field, ConstantPool tab)

Collect all constants into the constant table

public boolean empty ()

Return true if empty

public void listing (PrintStream out)

Print the byte codes

public void optimize (Environment env)

Optimize the byte codes

public void write (Environment env, DataOutputStream out, MemberDefinition field, ConstantPool tab)

Generate code

Throws
IOException

public void writeCoverageTable (Environment env, ClassDefinition c, DataOutputStream out, ConstantPool tab, long whereField)

Write the coverage table

Throws
IOException

public void writeLineNumberTable (Environment env, DataOutputStream out, ConstantPool tab)

Write the linenumber table

Throws
IOException

public void writeLocalVariableTable (Environment env, MemberDefinition field, DataOutputStream out, ConstantPool tab)

Write the local variable table. The necessary constants have already been added to the constant table by the collect() method. The flowFields method is used to determine which variables are alive at each pc.

Throws
IOException