#include <j2s_utils.h>
Static Public Methods | |
IntegerType* | long_type () |
IntegerType* | int_type () |
IntegerType* | char_type () |
IntegerType* | size_t_type () |
VoidType* | void_type () |
BooleanType* | boolean_type () |
DataType* | comparison_type () |
QualifiedType* | qualify_type ( DataType* dtype ) |
PointerType* | pointer_to (Type* referenced_type) |
PointerType* | void_pointer () |
PointerType* | char_pointer () |
PointerType* | char_pointer_pointer () |
PointerType* | int_pointer () |
DataType* | get_open_array (DataType* basetype) |
ArrayType* | get_array ( unsigned length, DataType* basetype ) |
ArrayType* | get_char_array ( unsigned length ) |
PointerType* | get_pointer_to_open_array (DataType* basetype) |
GroupType* | build_StructType ( const LString& name, bool completeness= true ) |
GroupType* | build_incomplete_StructType ( const LString& name ) |
void | add_field ( GroupType* gtype, const LString& name, DataType *dtype, IInteger offset= IInteger() ) |
void | set_fields_are_complete ( GroupType* gtype ) |
IInteger | pointer_size () |
IInteger | byte_size (Type* t) |
IInteger | to_bit_size (IInteger byte_size) |
IInteger | to_bit_size (int byte_size) |
int | procedure_alignment () |
String | build_string (char* str_suffix, int number_prefix) |
FileSetBlock* | get_file_set_block () |
SymbolTable* | get_file_set_symbol_table () |
SymbolTable* | get_external_symbol_table () |
void | insert_symbol ( SymbolTable*, Symbol* sym ) |
void | add_symbol ( SymbolTable*, Symbol* sym ) |
VariableSymbol* | add_variable_symbol ( SymbolTable* symtab, DataType* dtype, const LString& name = emptyString ) |
Symbol* | find_symbol ( SymbolTable* symtab, const LString& name ) |
VariableSymbol* | get_variable_symbol ( SymbolTable* symtab, const LString& name, DataType* dtype ) |
void | insert_global_external_symbol ( Symbol* sym ) |
void | add_global_external_symbol ( Symbol* sym ) |
Symbol* | find_global_external_symbol ( const LString& name ) |
VariableSymbol* | lookup_global_external_variable ( const LString& name ) |
VariableSymbol* | insert_global_external_variable (DataType* var_type, const LString& var_name) |
void | insert_global_external_procedure ( ProcedureType* ptype, const LString& name ) |
ProcedureSymbol* | get_global_external_procedure ( ProcedureType* ptype, const LString& name ) |
ProcedureSymbol* | find_global_external_procedure (const LString& name ) |
VariableSymbol* | add_global_external_variable ( DataType* dtype, const LString& name = emptyString ) |
VariableSymbol* | get_global_external_variable ( DataType* symbol_type, const LString& name = emptyString ) |
void | add_file_set_sto ( SymbolTableObject* sto ) |
void | add_file_set_symbol ( Symbol* sym ) |
Symbol* | find_file_set_symbol ( const LString& name ) |
void | insert_file_set_symbol ( Symbol* sym ) |
void | insert_file_set_procedure (ProcedureType* ptype, const LString& name) |
ProcedureSymbol* | find_file_set_procedure (const LString& name) |
ProcedureSymbol* | get_file_set_procedure (ProcedureType* ptype, const LString& name) |
VariableSymbol* | get_file_set_variable_symbol ( const LString& name, DataType* symbol_type ) |
FileBlock* | add_file_to_fsb ( FileSetBlock *fsb, String infile, String outfile = emptyString ) |
void | add_variable_def (FileBlock* fb, VariableDefinition* vdef) |
VariableDefinition* | add_variable_def ( DefinitionBlock* dblock, VariableSymbol* vsym, ValueBlock* vblock = NULL, bool is_static = false ) |
ParameterSymbol* | add_formal_parameter (ProcedureDefinition* pdef, const LString& parameter_name, DataType* parameter_type) |
void | add_procedure_def (FileBlock* fb, ProcedureDefinition* pdef) |
void | add_procedure_def (FileBlock* fb, jhl_Method* method, j2s_OSUIFObjLayout* ol, ProcedureDefinition* pdef) |
SymbolAddressExpression* | build_SymbolAddressExpression (Symbol* sym, bool adr_taken= false) |
Expression* | build_load_array_reference_instr (VariableSymbol* vsym, IInteger index) |
Expression* | build_load_array_reference_instr (Expression* address_op, IInteger index) |
Expression* | build_load_array_elem_instr (VariableSymbol* vsym, IInteger index) |
Expression* | build_load_array_elem_instr (Expression* address_op, IInteger index) |
Expression* | build_load_field_reference_instr (VariableSymbol* vsym, FieldSymbol* fsym) |
Expression* | build_load_field_reference_instr (Expression* address_op, FieldSymbol* fsym) |
Expression* | build_load_field_instr (VariableSymbol* vsym, FieldSymbol* fsym) |
Expression* | build_load_field_instr (Expression* address_op, FieldSymbol* fsym) |
Expression* | build_field_access_array_reference_instr (VariableSymbol* gtype_vsym, FieldSymbol* fsym, IInteger index) |
Expression* | build_field_access_array_reference_instr (Expression* gtype_address_op, FieldSymbol* fsym, IInteger index) |
Expression* | build_field_access_array_reference_instr (Expression* gtype_address_op, FieldSymbol* fsym, Expression* index_op) |
IntConstant* | build_IntConstant ( IInteger i_cnst, DataType* dtype ) |
IntConstant* | build_IntConstant ( IInteger i_cnst ) |
IntConstant* | build_zero_IntConstant ( DataType* dtype ) |
IntConstant* | build_zero_IntConstant () |
IntConstant* | build_null_instr (DataType* dtype) |
IntConstant* | build_null_instr () |
FloatConstant* | build_FloatConstant ( String value, DataType* dtype ) |
FloatConstant* | build_zero_FloatConstant ( DataType* dtype ) |
Constant* | build_zero_Constant ( DataType* dtype ) |
CallExpression* | build_CallExpression ( Expression* callee_address, DataType* result_type = NULL ) |
CallExpression* | build_CallExpression ( Expression* callee_address, DataType* result_type, Expression* arg_0 ) |
CallExpression* | build_CallExpression ( Expression* callee_address, DataType* result_type, Expression* arg_0, Expression* arg_1 ) |
CallExpression* | build_CallExpression ( Expression* callee_address, DataType* result_type, Expression* arg_0, Expression* arg_1, Expression* arg_2 ) |
CallExpression* | build_CallExpression ( ProcedureSymbol* psym ) |
CallExpression* | build_CallExpression ( ProcedureSymbol* psym, Expression* arg_0 ) |
CallExpression* | build_CallExpression ( ProcedureSymbol* psym, Expression* arg_0, Expression* arg_1 ) |
CallExpression* | build_CallExpression ( ProcedureSymbol* psym, Expression* arg_0, Expression* arg_1, Expression* arg_2 ) |
CallExpression* | append_argument ( CallExpression* cinstr, Expression* new_arg ) |
CallExpression* | prepend_argument ( CallExpression* cinstr, Expression* new_arg ) |
CallExpression* | replace_argument ( CallExpression* cinstr, int pos, Expression* expr ) |
Expression* | build_LoadExpression ( Expression* expr ) |
Expression* | build_treat_as_instr ( DataType* new_type, Expression* instr ) |
Expression* | build_treat_as_instr ( VariableSymbol* vsym, Expression* s_op ) |
Expression* | build_convert_instr ( DataType* new_type, Expression* instr ) |
Expression* | build_convert_instr ( VariableSymbol* vsym, Expression* s_op ) |
Expression* | build_pointer_convert_instr ( DataType* new_type, Expression* s_op ) |
Expression* | build_convert_to_unsigned ( DataType* signed_type, Expression* s_op ) |
Expression* | build_convert_to_unsigned ( VariableSymbol* vsym, Expression* s_op ) |
Expression* | build_negate_UnaryExpression ( Expression* expr ) |
Expression* | build_logical_not_UnaryExpression ( Expression* expr ) |
BinaryExpression* | build_BinaryExpression ( LString binary_instr, Expression* s_op1, Expression* s_op2, DataType* result_type= comparison_type() ) |
BinaryExpression* | build_is_less_than_instr (Expression* s_op1, Expression* s_op2) |
BinaryExpression* | build_is_less_than_zero_instr (Expression* s_op) |
BinaryExpression* | build_divide_instr (NumericType* the_type, Constant* c1, Constant* c2) |
BinaryExpression* | build_fp_divide_instr (FloatingPointType* the_type, String c1, String c2) |
Expression* | build_NaN_op ( FloatingPointType* the_type ) |
Expression* | build_plusInfinity_op ( FloatingPointType* the_type ) |
Expression* | build_minusInfinity_op ( FloatingPointType* the_type ) |
ByteSizeOfExpression* | build_ByteSizeOfExpression ( Type* type ) |
BranchStatement* | build_branch_if_true ( Expression* decision_op, CodeLabelSymbol* target_label ) |
BranchStatement* | build_branch_if_false ( Expression* decision_op, CodeLabelSymbol* target_label ) |
BranchStatement* | build_branch_if_equal ( Expression* cmp1_op, Expression* cmp2_op, CodeLabelSymbol* target_label ) |
Statement* | build_EvalStatement ( Expression* instr ) |
void | append_eval_stmt (StatementList* slist, Expression* instr) |
Statement* | build_StoreVariableStatement ( Expression* src, VariableSymbol* dst ) |
CallStatement* | build_CallStatement ( Expression* callee_address, VariableSymbol* dest = NULL ) |
CallStatement* | build_CallStatement ( Expression* callee_address, VariableSymbol* dest, Expression* arg_0 ) |
CallStatement* | build_CallStatement ( ProcedureSymbol* psym, VariableSymbol* dest = NULL ) |
CallStatement* | build_CallStatement ( ProcedureSymbol* psym, VariableSymbol* dest, Expression* arg_0 ) |
ExpressionValueBlock* | build_long_cvb (long value) |
ExpressionValueBlock* | build_long_cvb (IInteger value) |
ExpressionValueBlock* | build_int_cvb (int value) |
ExpressionValueBlock* | build_int_cvb (IInteger value) |
ExpressionValueBlock* | build_char_cvb (char value) |
ExpressionValueBlock* | build_NULL_cvb () |
ExpressionValueBlock* | build_NULL_cvb (Type* basetype) |
void | append_long_cvb (MultiValueBlock* mvb, long value) |
void | append_long_cvb (MultiValueBlock* mvb, IInteger value) |
void | append_int_cvb (MultiValueBlock* mvb, int value) |
void | append_int_cvb (MultiValueBlock* mvb, IInteger value) |
void | append_NULL_cvb (MultiValueBlock*mvb) |
void | append_NULL_cvb (MultiValueBlock*mvb, Type* basetype) |
void | append_instr_evb ( MultiValueBlock* mvb, Expression* src_op ) |
ExpressionValueBlock* | build_SymbolAddressExpression_evb ( Symbol* vsym, bool adr_taken ) |
void | append_load_address_instr_evb ( MultiValueBlock* mvb, Symbol* vsym, bool adr_taken ) |
ExpressionValueBlock* | build_ByteSizeOfExpression_evb ( Type* type ) |
ProcedureDefinition* | build_procedure_definition_skeleton (jhl_Method* method, j2s_OSUIFObjLayout* ol) |
CProcedureType* | append_parameter ( CProcedureType* ptype, DataType* new_parameter ) |
CProcedureType* | prepend_parameter ( CProcedureType* ptype, DataType* new_parameter ) |
void | append_eh_parameter ( list<QualifiedType *>& argument_list ) |
CProcedureType* | append_except_obj_parameter (ProcedureType* bptype) |
void | insert_group_type_sizes (GroupType* gtype) |
void | check_group_type_size (GroupType* gtype, int size) |
bool | void_result_type ( CProcedureType* ptype ) |
void | set_complete ( ClassType* ctype ) |
void | set_methods_are_complete ( ClassType* ctype ) |
StaticFieldSymbol* | add_StaticFieldSymbol ( ClassType* ctype, const LString& name, DataType* dtype ) |
StaticMethodSymbol* | add_StaticMethodSymbol ( ClassType* ctype, const LString& name, StaticMethodType* mtype ) |
InstanceFieldSymbol* | add_InstanceFieldSymbol ( ClassType* ctype, const LString& name, DataType* dtype ) |
InstanceMethodSymbol* | add_InstanceMethodSymbol ( ClassType* ctype, const LString& name, InstanceMethodType* mtype ) |
JavaClass* | add_JavaClass ( SymbolTable* symtab, const LString& name, bool incomplete = true ) |
JavaInterface* | add_JavaInterface ( SymbolTable* symtab, const LString& name, bool incomplete = true ) |
JavaArray* | add_JavaArray ( SymbolTable* symtab, DataType* element_type, const LString& name, bool incomplete = true ) |
void | add_java_attributes ( jhl_AccessFlags* flags, Symbol* sym ) |
void | add_java_attributes (jhl_Method* method, Symbol* sym) |
void | add_java_attributes (jhl_Field* field, Symbol* sym) |
void | add_java_attributes (jhl_Unit* unit, ClassType* ctype) |
This class is not instantiable and contains only static methods.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|