Changeset b69233ac for src/AST


Ignore:
Timestamp:
Jun 19, 2019, 6:05:09 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
c0f9efe
Parents:
17a0ede2
Message:

Port assertion satisfaction to new AST

Location:
src/AST
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Expr.hpp

    r17a0ede2 rb69233ac  
    4747
    4848        ParamEntry() : decl( 0 ), declptr( nullptr ), actualType( nullptr ), formalType( nullptr ), expr( nullptr ) {}
    49         ParamEntry( UniqueId id, Decl * declptr, Type* actual, Type* formal, Expr* e )
     49        ParamEntry(
     50                UniqueId id, const Decl * declptr, const Type * actual, const Type * formal,
     51                const Expr * e )
    5052        : decl( id ), declptr( declptr ), actualType( actual ), formalType( formal ), expr( e ) {}
    5153};
     
    129131                        case Params: return data.inferParams;
    130132                        }
     133                        assert(!"unreachable");
    131134                        return *((InferredParams*)nullptr);
    132135                }
     
    138141                        assert(!"Mode was not already Params");
    139142                        return *((InferredParams*)nullptr);
     143                }
     144
     145                void set_inferParams( InferredParams && ps ) {
     146                        switch(mode) {
     147                        case Slots:
     148                                data.resnSlots.~ResnSlots();
     149                                // fallthrough
     150                        case Empty:
     151                                new(&data.inferParams) InferredParams{ std::move( ps ) };
     152                                mode = Params;
     153                                break;
     154                        case Params:
     155                                data.inferParams = std::move( ps );
     156                                break;
     157                        }
    140158                }
    141159
  • src/AST/porting.md

    r17a0ede2 rb69233ac  
    308308* pulled out conversion cost promotion into separate `promoteCvtCost` function
    309309
     310`resolveAssertions` => `satisfyAssertions`
     311* `ResolveAssertions.h` => `SatisfyAssertions.hpp`
     312* `Resn*` => `Sat*`
     313
    310314[1] https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Type-Attributes.html#Type-Attributes
    311315
Note: See TracChangeset for help on using the changeset viewer.