- Timestamp:
- Mar 29, 2022, 4:28:06 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
- Children:
- d080549, d4da1535
- Parents:
- 262fafd9 (diff), b230091 (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.
- Location:
- src
- Files:
- 
      - 8 edited
 
 - 
          
  AST/Convert.cpp (modified) (1 diff)
- 
          
  AST/Decl.cpp (modified) (1 diff)
- 
          
  AST/Type.cpp (modified) (1 diff)
- 
          
  AST/Type.hpp (modified) (1 diff)
- 
          
  Concurrency/KeywordsNew.cpp (modified) (2 diffs)
- 
          
  ResolvExpr/Resolver.cc (modified) (1 diff)
- 
          
  Validate/Autogen.cpp (modified) (2 diffs)
- 
          
  Validate/ForallPointerDecay.cpp (modified) (1 diff)
 
Legend:
- Unmodified
- Added
- Removed
- 
      src/AST/Convert.cppr262fafd9 r6e47b49 2717 2717 2718 2718 for (auto & param : foralls) { 2719 ty->forall.emplace_back(new ast::TypeInstType(param ->name, param));2719 ty->forall.emplace_back(new ast::TypeInstType(param)); 2720 2720 for (auto asst : param->assertions) { 2721 2721 ty->assertions.emplace_back(new ast::VariableExpr({}, asst)); 
- 
      src/AST/Decl.cppr262fafd9 r6e47b49 68 68 } 69 69 for (auto & tp : this->type_params) { 70 ftype->forall.emplace_back(new TypeInstType(tp ->name, tp));70 ftype->forall.emplace_back(new TypeInstType(tp)); 71 71 for (auto & ap: tp->assertions) { 72 72 ftype->assertions.emplace_back(new VariableExpr(loc, ap)); 
- 
      src/AST/Type.cppr262fafd9 r6e47b49 147 147 // --- TypeInstType 148 148 149 TypeInstType::TypeInstType( const TypeDecl * b, 150 CV::Qualifiers q, std::vector<ptr<Attribute>> && as ) 151 : BaseInstType( b->name, q, move(as) ), base( b ), kind( b->kind ) {} 152 149 153 void TypeInstType::set_base( const TypeDecl * b ) { 150 154 base = b; 
- 
      src/AST/Type.hppr262fafd9 r6e47b49 421 421 std::vector<ptr<Attribute>> && as = {} ) 422 422 : BaseInstType( n, q, std::move(as) ), base( b ), kind( b->kind ) {} 423 424 TypeInstType( const TypeDecl * b, 425 CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ); 426 423 427 TypeInstType( const std::string& n, TypeDecl::Kind k, CV::Qualifiers q = {}, 424 428 std::vector<ptr<Attribute>> && as = {} ) 
- 
      src/Concurrency/KeywordsNew.cppr262fafd9 r6e47b49 88 88 auto typeDecl = ast::deepCopy( typeParam ); 89 89 mutFunc->type_params.push_back( typeDecl ); 90 mutType->forall.push_back( 91 new ast::TypeInstType( typeDecl->name, typeDecl ) ); 90 mutType->forall.push_back( new ast::TypeInstType( typeDecl ) ); 92 91 for ( auto & assertion : typeDecl->assertions ) { 93 92 mutFunc->assertions.push_back( assertion ); … … 108 107 for ( const ast::ptr<ast::TypeDecl> & typeDecl : mutFunc->type_params ) { 109 108 paramTypeInst->params.push_back( 110 new ast::TypeExpr( location, 111 new ast::TypeInstType( typeDecl->name, typeDecl ) ) ); 109 new ast::TypeExpr( location, new ast::TypeInstType( typeDecl ) ) ); 112 110 typeParamInst->params.push_back( 113 new ast::TypeExpr( location, 114 new ast::TypeInstType( typeDecl->name, typeDecl ) ) ); 111 new ast::TypeExpr( location, new ast::TypeInstType( typeDecl ) ) ); 115 112 } 116 113 
- 
      src/ResolvExpr/Resolver.ccr262fafd9 r6e47b49 1385 1385 for (auto & typeParam : mutDecl->type_params) { 1386 1386 symtab.addType(typeParam); 1387 mutType->forall.emplace_back(new ast::TypeInstType(typeParam ->name, typeParam));1387 mutType->forall.emplace_back(new ast::TypeInstType(typeParam)); 1388 1388 } 1389 1389 for (auto & asst : mutDecl->assertions) { 
- 
      src/Validate/Autogen.cppr262fafd9 r6e47b49 248 248 structInst.params.push_back( new ast::TypeExpr( 249 249 typeDecl->location, 250 new ast::TypeInstType( typeDecl ->name, typeDecl)250 new ast::TypeInstType( typeDecl ) 251 251 ) ); 252 252 } … … 264 264 unionInst.params.push_back( new ast::TypeExpr( 265 265 unionDecl->location, 266 new ast::TypeInstType( typeDecl ->name, typeDecl)266 new ast::TypeInstType( typeDecl ) 267 267 ) ); 268 268 } 
- 
      src/Validate/ForallPointerDecay.cppr262fafd9 r6e47b49 41 41 for ( auto & type_param : decl->type_params ) { 42 42 type->forall.emplace_back( 43 new ast::TypeInstType( type_param ->name, type_param) );43 new ast::TypeInstType( type_param ) ); 44 44 } 45 45 for ( auto & assertion : decl->assertions ) { 
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  