Reference_expr& Builder::make_reference(Object_parm& d) { return make<Reference_expr>(get_reference_type(d.type()), d); }
Reference_expr& Builder::make_reference(Function_decl& d) { return make<Reference_expr>(get_reference_type(d.type()), d); }
// TODO: Ensure that we can actually construt // a reference-to-T. Type const* Parser::on_reference_type(Type const* t) { return get_reference_type(t); }
// Get an expression that refers to a variable. The type // is a reference to the declared type of the variable. Reference_expr& Builder::make_reference(Variable_decl& d) { return make<Reference_expr>(get_reference_type(d.type()), d); }
Type const* Elaborator::elaborate(Reference_type const* t) { Type const* t1 = elaborate(t->type()); return get_reference_type(t1); }