CCodeBaseModule
Object Hierarchy:
Description:
public abstract class CCodeBaseModule :
CodeGenerator
Code visitor generating C Code.
Content:
Classes:
Properties:
Static methods:
Creation methods:
Methods:
- public bool add_generated_external_symbol (Symbol external_symbol)
- public void add_generic_type_arguments (Method m, Map<int,CCodeExpression> arg_map, List<DataType> type_args, CodeNode expr, bool is_chainup = false, List<TypeParameter>? type_parameters = null)
- public virtual void add_simple_check (CodeNode node, bool always_fails = false)
- public bool add_symbol_declaration (CCodeFile decl_space, Symbol sym, string name)
- public bool add_wrapper (string wrapper_name)
- private void append_c_compiler_mitigations (CCodeFile decl_space)
- public void append_field (CCodeStruct ccode_struct, Field f, CCodeFile decl_space)
- public void append_local_free (Symbol sym, Statement? jump_stmt = null, CodeNode? stop_at = null)
- public void append_out_param_free (Method? m)
- private void append_param_free (Method m)
- public virtual void append_params_array (Method m)
- protected virtual void append_scope_free (Symbol sym, CodeNode? stop_at = null)
- public virtual string? append_struct_array_destroy (Struct st)
- public virtual string? append_struct_array_free (Struct st)
- public virtual void append_vala_array_free ()
- public virtual void append_vala_array_length ()
- public virtual void append_vala_array_move ()
- public void append_vala_clear_mutex (string typename, string funcprefix)
- private void append_vala_extern_define (CCodeFile decl_space)
Define a macro hint for exporting a symbol in a portable way.
- private void append_vala_memdup2 ()
- private void capture_parameter (Parameter param, CCodeStruct data, int block_id)
- public CCodeExpression convert_from_generic_pointer (CCodeExpression cexpr, DataType actual_type)
- public CCodeExpression convert_to_generic_pointer (CCodeExpression cexpr, DataType actual_type)
- public virtual TargetValue? copy_value (TargetValue value, CodeNode node)
- public void create_postcondition_statement (Expression postcondition)
- private void create_property_type_check_statement (Property prop, bool check_return_type, TypeSymbol t, bool non_null, string var_name)
- public TargetValue create_temp_value (DataType type, bool init, CodeNode node_reference, bool? value_owned = null)
Create a temporary variable and return lvalue access to it
- public CCodeExpression? create_type_check (CCodeNode ccodenode, DataType type)
- public virtual void create_type_check_statement (CodeNode method_node, DataType ret_type, TypeSymbol t, bool non_null, string var_name)
- public CCodeExpression? default_value_for_type (DataType type, bool initializer_expression, bool on_error = false)
- public virtual CCodeExpression? deserialize_expression (DataType type, CCodeExpression variant_expr, CCodeExpression? expr, CCodeExpression? error_expr = null, out bool may_fail = null)
- public CCodeExpression destroy_field (Field field, TargetValue? instance)
- public CCodeExpression destroy_local (LocalVariable local)
- public CCodeExpression destroy_parameter (Parameter param)
- public virtual CCodeExpression destroy_value (TargetValue value, bool is_macro_definition = false)
- public override void emit (CodeContext context)
- public void emit_temp_var (LocalVariable local, bool on_error = false)
- private MemberAccess? find_property_access (Expression expr)
- private string generate_array_contains_wrapper (ArrayType array_type)
- public virtual void generate_class_declaration (Class cl, CCodeFile decl_space)
- public virtual void generate_class_struct_declaration (Class cl, CCodeFile decl_space)
- private string generate_cmp_wrapper (CCodeIdentifier cmpid)
- private string generate_collection_free_wrapper (DataType collection_type, CCodeIdentifier? element_destroy_func_expression)
- public void generate_constant_declaration (Constant c, CCodeFile decl_space, bool definition = false)
- public virtual void generate_cparameters (Method m, CCodeFile decl_space, Map<int,CCodeParameter> cparam_map, CCodeFunction func, CCodeFunctionDeclarator? vdeclarator = null, Map<int,CCodeExpression>? carg_map = null, CCodeFunctionCall? vcall = null, int direction = 3)
- public virtual void generate_delegate_declaration (Delegate d, CCodeFile decl_space)
- protected string generate_destroy_function_content_of_wrapper (DataType type)
- protected string generate_dup_func_wrapper (DataType type)
- public virtual void generate_dynamic_method_wrapper (DynamicMethod method)
- public virtual bool generate_enum_declaration (Enum en, CCodeFile decl_space)
- public virtual void generate_error_domain_declaration (ErrorDomain edomain, CCodeFile decl_space)
- public void generate_field_declaration (Field f, CCodeFile decl_space)
- protected string generate_free_func_wrapper (DataType type)
- protected string generate_free_function_address_of_wrapper (DataType type)
- public CCodeFunctionCall generate_instance_cast (CCodeExpression expr, TypeSymbol type)
- public virtual void generate_interface_declaration (Interface iface, CCodeFile decl_space)
- public virtual bool generate_method_declaration (Method m, CCodeFile decl_space)
- private string generate_numeric_equal_function (TypeSymbol sym)
- public void generate_property_accessor_declaration (PropertyAccessor acc, CCodeFile decl_space)
- public virtual string generate_ready_function (Method m)
- private string generate_ref_wrapper (ObjectType type)
- private void generate_struct_copy_function (Struct st)
- public virtual void generate_struct_declaration (Struct st, CCodeFile decl_space)
- private void generate_struct_destroy_function (Struct st)
- private string generate_struct_dup_wrapper (ValueType value_type)
- private string generate_struct_equal_function (Struct st)
- public void generate_type_declaration (DataType type, CCodeFile decl_space)
- public virtual CCodeExpression get_array_length_cexpression (Expression array_expr, int dim = -1)
- public virtual string get_array_length_cname (string array_cname, int dim)
- public virtual CCodeExpression get_array_length_cvalue (TargetValue value, int dim = -1)
- public virtual string get_array_size_cname (string array_cname)
- public int get_block_id (Block b)
- public CCodeExpression get_boolean_cconstant (bool b)
- public CCodeDeclaratorSuffix? get_ccode_declarator_suffix (DataType type)
- public CCodeExpression? get_ccodenode (Expression node)
- public CCodeExpression get_cexpression (string name)
- private CCodeDeclaratorSuffix? get_constant_declarator_suffix (Constant c)
- public virtual CCodeExpression get_delegate_target_cexpression (Expression delegate_expr, out CCodeExpression delegate_target_destroy_notify)
- public virtual string get_delegate_target_cname (string delegate_cname)
- public virtual CCodeExpression get_delegate_target_cvalue (TargetValue value)
- public virtual string get_delegate_target_destroy_notify_cname (string delegate_cname)
- public virtual CCodeExpression get_delegate_target_destroy_notify_cvalue (TargetValue value)
- public CCodeExpression? get_destroy0_func_expression (DataType type, bool is_chainup = false)
- public CCodeExpression? get_destroy_func_expression (DataType type, bool is_chainup = false)
- public virtual CCodeExpression? get_dup_func_expression (DataType type, SourceReference? source_reference, bool is_chainup = false)
- public virtual string get_dynamic_signal_cname (DynamicSignal node)
- public abstract TargetValue get_field_cvalue (Field field, TargetValue? instance)
- private CCodeExpression get_generic_type_expression (string identifier, GenericType type, bool is_chainup = false)
- public virtual CCodeExpression get_implicit_cast_expression (CCodeExpression source_cexpr, DataType? expression_type, DataType? target_type, CodeNode? node)
- public CCodeExpression get_inner_error_cexpression ()
- public CCodeExpression get_local_cexpression (LocalVariable local)
- public string get_local_cname (LocalVariable local)
- public abstract TargetValue get_local_cvalue (LocalVariable local)
- private CCodeExpression get_lock_expression (Statement stmt, Expression resource)
- public int get_param_pos (double param_pos, bool ellipsis = false)
- public virtual CCodeExpression get_param_spec (Property prop)
- public virtual CCodeExpression get_param_spec_cexpression (Property prop)
- public CCodeExpression get_parameter_cexpression (Parameter param)
- public abstract TargetValue get_parameter_cvalue (Parameter param)
- public CCodeConstant get_property_canonical_cconstant (Property prop)
- public CCodeConstant get_signal_canonical_constant (Signal sig, string? detail = null)
- public virtual CCodeExpression get_signal_creation (Signal sig, ObjectTypeSymbol type)
- public string get_symbol_lock_name (string symname)
- public LocalVariable get_temp_variable (DataType type, bool value_owned = true, CodeNode? node_reference = null, bool init = false)
- public CCodeExpression get_this_cexpression ()
- public CCodeExpression get_this_class_cexpression (Class cl, TargetValue? instance = null)
- public CCodeExpression get_this_interface_cexpression (Interface iface, TargetValue? instance = null)
- public unowned DataType? get_this_type ()
- public CCodeExpression get_type_id_expression (DataType type, bool is_chainup = false)
- public virtual CCodeExpression get_value_getter_function (DataType type_reference)
- public virtual CCodeExpression get_value_setter_function (DataType type_reference)
- public virtual CCodeExpression get_value_taker_function (DataType type_reference)
- public virtual string get_variable_array_length_cname (Variable variable, int dim)
- public CCodeExpression get_variable_cexpression (string name)
- public string get_variable_cname (string name)
- public CCodeExpression? handle_struct_argument (Parameter? param, Expression arg, CCodeExpression? cexpr)
- public bool is_in_constructor ()
- public bool is_in_coroutine ()
- public bool is_in_destructor ()
- private bool is_in_generic_type (GenericType type)
- public bool is_lvalue_access_allowed (DataType type)
- public bool is_simple_struct_creation (Variable variable, Expression expr)
- private bool is_static_field_initializer (CodeNode node)
- public TargetValue load_temp_value (TargetValue lvalue)
Load a temporary variable returning unowned or owned rvalue access to
it, depending on the ownership of the value type.
- public abstract TargetValue load_this_parameter (TypeSymbol sym)
- public abstract TargetValue load_variable (Variable variable, TargetValue value, Expression? expr = null)
- private void make_comparable_cexpression (ref DataType left_type, ref CCodeExpression cleft, ref DataType right_type, ref CCodeExpression cright)
- public unowned Block? next_closure_block (Symbol sym)
- public bool no_implicit_copy (DataType type)
- public void pop_context ()
- public void pop_function ()
- public void pop_line ()
- public void push_context (EmitContext emit_context)
- public void push_function (CCodeFunction func)
- public void push_line (SourceReference? source_reference)
- public virtual void register_dbus_info (CCodeBlock block, ObjectTypeSymbol bindable)
- private void require_generic_accessors (Interface iface)
- public bool requires_memset_init (Variable variable, out CCodeExpression? size)
- public void return_default_value (DataType return_type, bool on_error = false)
- public void return_out_parameter (Parameter param)
- public virtual CCodeExpression? serialize_expression (DataType type, CCodeExpression expr)
- public void store_property (Property prop, Expression? instance, TargetValue value)
- public TargetValue store_temp_value (TargetValue initializer, CodeNode node_reference, bool? value_owned = null)
Store a value in a temporary variable and return unowned or owned
rvalue access to it, depending on the ownership of the given type.
- public abstract void store_value (TargetValue lvalue, TargetValue value, SourceReference? source_reference = null)
- public TargetValue transform_value (TargetValue value, DataType? target_type, CodeNode node)
- public bool variable_accessible_in_finally (LocalVariable local)
- public override void visit_addressof_expression (AddressofExpression expr)
- public override void visit_base_access (BaseAccess expr)
- public override void visit_binary_expression (BinaryExpression expr)
- public override void visit_block (Block b)
- public override void visit_boolean_literal (BooleanLiteral expr)
- public override void visit_cast_expression (CastExpression expr)
- public override void visit_character_literal (CharacterLiteral expr)
- public override void visit_class (Class cl)
- public override void visit_constant (Constant c)
- public override void visit_declaration_statement (DeclarationStatement stmt)
- public override void visit_delete_statement (DeleteStatement stmt)
- public override void visit_destructor (Destructor d)
- public override void visit_end_full_expression (Expression expr)
- public override void visit_enum (Enum en)
- public override void visit_expression (Expression expr)
- public override void visit_expression_statement (ExpressionStatement stmt)
- public override void visit_field (Field f)
- public override void visit_initializer_list (InitializerList list)
- public override void visit_integer_literal (IntegerLiteral expr)
- public override void visit_lambda_expression (LambdaExpression lambda)
- public override void visit_local_variable (LocalVariable local)
- public override void visit_lock_statement (LockStatement stmt)
- public void visit_member (Symbol m)
- public override void visit_named_argument (NamedArgument expr)
- public override void visit_null_literal (NullLiteral expr)
- public override void visit_object_creation_expression (ObjectCreationExpression expr)
- public override void visit_pointer_indirection (PointerIndirection expr)
- public override void visit_postfix_expression (PostfixExpression expr)
- public override void visit_property (Property prop)
- public override void visit_property_accessor (PropertyAccessor acc)
- public override void visit_real_literal (RealLiteral expr)
- public override void visit_reference_transfer_expression (ReferenceTransferExpression expr)
- public override void visit_regex_literal (RegexLiteral expr)
- public override void visit_return_statement (ReturnStatement stmt)
- public override void visit_sizeof_expression (SizeofExpression expr)
- public override void visit_source_file (SourceFile source_file)
- public override void visit_string_literal (StringLiteral expr)
- public override void visit_type_check (TypeCheck expr)
- public override void visit_typeof_expression (TypeofExpression expr)
- public override void visit_unary_expression (UnaryExpression expr)
- public override void visit_unlock_statement (UnlockStatement stmt)
Fields:
Inherited Members:
All known members inherited from class Vala.CodeGenerator
All known members inherited from class Vala.CodeVisitor