Changeset f53acdf8 for src/AST/Type.hpp
- Timestamp:
- Jul 19, 2019, 2:16:01 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 4eb43fa
- Parents:
- 1f1c102 (diff), 8ac3b0e (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/AST/Type.hpp
r1f1c102 rf53acdf8 35 35 36 36 template< typename T > class Pass; 37 class ForallSubstitutor; 37 38 struct ForallSubstitutor; 38 39 39 40 class Type : public Node { … … 167 168 static const char *typeNames[]; 168 169 169 BasicType( Kind k, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 170 BasicType( Kind k, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 170 171 : Type(q, std::move(as)), kind(k) {} 171 172 … … 274 275 public: 275 276 using ForallList = std::vector<ptr<TypeDecl>>; 276 277 277 278 ForallList forall; 278 279 … … 338 339 bool hoistType = false; 339 340 340 ReferenceToType( 341 ReferenceToType( 341 342 const std::string& n, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 342 343 : ParameterizedType(q, std::move(as)), params(), name(n) {} … … 359 360 readonly<StructDecl> base; 360 361 361 StructInstType( 362 StructInstType( 362 363 const std::string& n, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 363 364 : ReferenceToType( n, q, std::move(as) ), base() {} 364 365 365 StructInstType( 366 StructInstType( 366 367 const StructDecl * b, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ); 367 368 … … 381 382 readonly<UnionDecl> base; 382 383 383 UnionInstType( 384 UnionInstType( 384 385 const std::string& n, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 385 386 : ReferenceToType( n, q, std::move(as) ), base() {} 386 387 387 UnionInstType( 388 UnionInstType( 388 389 const UnionDecl * b, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ); 389 390 … … 403 404 readonly<EnumDecl> base; 404 405 405 EnumInstType( 406 EnumInstType( 406 407 const std::string& n, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 407 408 : ReferenceToType( n, q, std::move(as) ), base() {} 408 409 409 EnumInstType( 410 EnumInstType( 410 411 const EnumDecl * b, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ); 411 412 … … 425 426 readonly<TraitDecl> base; 426 427 427 TraitInstType( 428 TraitInstType( 428 429 const std::string& n, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ) 429 430 : ReferenceToType( n, q, std::move(as) ), base() {} 430 431 TraitInstType( 431 432 TraitInstType( 432 433 const TraitDecl * b, CV::Qualifiers q = {}, std::vector<ptr<Attribute>> && as = {} ); 433 434 … … 449 450 TypeVar::Kind kind; 450 451 451 TypeInstType( 452 TypeInstType( 452 453 const std::string& n, const TypeDecl * b, CV::Qualifiers q = {}, 453 454 std::vector<ptr<Attribute>> && as = {} ) 454 455 : ReferenceToType( n, q, std::move(as) ), base( b ), kind( b->kind ) {} 455 456 TypeInstType( 456 457 TypeInstType( 457 458 const std::string& n, TypeVar::Kind k, CV::Qualifiers q = {}, 458 459 std::vector<ptr<Attribute>> && as = {} )
Note: See TracChangeset
for help on using the changeset viewer.