Changeset 4e2f1b2 for src/InitTweak


Ignore:
Timestamp:
Feb 23, 2024, 3:59:35 PM (7 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
1761046
Parents:
d06273c
Message:

Clean-up of GenImplicitCall? module. Changing the return type for consistency spilled out into some other files, but that should also saves some operations. The other big one is the template instances were reduced to one and then the templates removed.

Location:
src/InitTweak
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cpp

    rd06273c r4e2f1b2  
    11341134                        ast::Expr * thisExpr = new ast::CastExpr(funcDecl->location, new ast::VariableExpr(funcDecl->location, thisParam ), thisParam->get_type()->stripReferences());
    11351135                        ast::Expr * memberDest = new ast::MemberExpr(funcDecl->location, field, thisExpr );
    1136                         ast::ptr<ast::Stmt> callStmt = SymTab::genImplicitCall( srcParam, memberDest, loc, function->name, field, static_cast<SymTab::LoopDirection>(isCtor) );
     1136                        const ast::Stmt * callStmt = SymTab::genImplicitCall( srcParam, memberDest, loc, function->name, field, static_cast<SymTab::LoopDirection>(isCtor) );
    11371137
    11381138                        if ( callStmt ) {
  • src/InitTweak/GenInit.cc

    rd06273c r4e2f1b2  
    239239                                        if ( varExpr->var == retVal ) return stmt;
    240240                                }
    241                                 ast::ptr<ast::Stmt> ctorStmt = genCtorDtor(
     241                                const ast::Stmt * ctorStmt = genCtorDtor(
    242242                                        retVal->location, "?{}", retVal, stmt->expr );
    243243                                assertf( ctorStmt,
     
    327327void ManagedTypes::endScope() { managedTypes.endScope(); }
    328328
    329 ast::ptr<ast::Stmt> genCtorDtor (const CodeLocation & loc, const std::string & fname, const ast::ObjectDecl * objDecl, const ast::Expr * arg) {
     329const ast::Stmt * genCtorDtor( const CodeLocation & loc, const std::string & fname, const ast::ObjectDecl * objDecl, const ast::Expr * arg ) {
    330330        assertf(objDecl, "genCtorDtor passed null objDecl");
    331331        InitExpander srcParam(arg);
  • src/InitTweak/GenInit.h

    rd06273c r4e2f1b2  
    3333
    3434/// generates a single ctor/dtor statement using objDecl as the 'this' parameter and arg as the optional argument
    35 ast::ptr<ast::Stmt> genCtorDtor (const CodeLocation & loc, const std::string & fname, const ast::ObjectDecl * objDecl, const ast::Expr * arg = nullptr);
     35const ast::Stmt * genCtorDtor( const CodeLocation & loc, const std::string & fname, const ast::ObjectDecl * objDecl, const ast::Expr * arg = nullptr );
    3636
    3737/// creates an appropriate ConstructorInit node which contains a constructor, destructor, and C-initializer
Note: See TracChangeset for help on using the changeset viewer.