Changeset 2a301ff for src/InitTweak/InitTweak.cc
- Timestamp:
- Aug 31, 2023, 11:31:15 PM (2 years ago)
- Branches:
- master
- Children:
- 950c58e
- Parents:
- 92355883 (diff), 686912c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/InitTweak/InitTweak.cc
r92355883 r2a301ff 882 882 if (!assign) { 883 883 auto td = new ast::TypeDecl(CodeLocation(), "T", {}, nullptr, ast::TypeDecl::Dtype, true); 884 assign = new ast::FunctionDecl(CodeLocation(), "?=?", { },884 assign = new ast::FunctionDecl(CodeLocation(), "?=?", {td}, 885 885 { new ast::ObjectDecl(CodeLocation(), "_dst", new ast::ReferenceType(new ast::TypeInstType("T", td))), 886 886 new ast::ObjectDecl(CodeLocation(), "_src", new ast::TypeInstType("T", td))}, … … 891 891 dst = new ast::AddressExpr(dst); 892 892 } 893 } 894 else { 893 } else { 895 894 dst = new ast::CastExpr(dst, new ast::ReferenceType(dst->result, {})); 896 895 } … … 900 899 } 901 900 } 902 return new ast::ApplicationExpr(dst->location, ast::VariableExpr::functionPointer(dst->location, assign), {dst, src}); 901 auto var = ast::VariableExpr::functionPointer(dst->location, assign); 902 auto app = new ast::ApplicationExpr(dst->location, var, {dst, src}); 903 // Skip the resolver, just set the result to the correct type. 904 app->result = ast::deepCopy( src->result ); 905 return app; 903 906 } 904 907
Note:
See TracChangeset
for help on using the changeset viewer.