}
}
+ public override LocalVariable create_local (DataType type) {
+ var result = get_temp_variable (type, type.value_owned);
+ emit_temp_var (result);
+ return result;
+ }
+
public LocalVariable get_temp_variable (DataType type, bool value_owned = true, CodeNode? node_reference = null, bool init = true) {
var var_type = type.copy ();
var_type.value_owned = value_owned;
}
}
+ public override LocalVariable create_local (DataType type) {
+ var result = get_temp_variable (type, type.value_owned);
+ emit_temp_var (result);
+ return result;
+ }
+
public LocalVariable get_temp_variable (DataType type, bool value_owned = true, CodeNode? node_reference = null) {
var var_type = type.copy ();
var_type.value_owned = value_owned;
/**
* The selected code generator.
*/
- public CodeGenerator codegen { get; set; default = new CodeGenerator (); }
+ public CodeGenerator codegen { get; set; }
public CodeContext () {
}
/**
* Abstract code visitor generating code.
*/
-public class Vala.CodeGenerator : CodeVisitor {
+public abstract class Vala.CodeGenerator : CodeVisitor {
/**
* Generate and emit C code for the specified code context.
*
*/
public virtual void emit (CodeContext context) {
}
+
+ public abstract LocalVariable create_local (DataType type);
}