Index: src/Parser/TypeData.cc
===================================================================
--- src/Parser/TypeData.cc	(revision e15853c01fea9920d1adec991c801c4361669db7)
+++ src/Parser/TypeData.cc	(revision 312029a731fd1bf1cdd24d3e1d75abf51eb09d71)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 15:12:51 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Feb 13 18:16:23 2019
-// Update Count     : 649
+// Last Modified On : Wed Dec 11 07:48:33 2019
+// Update Count     : 659
 //
 
@@ -67,5 +67,5 @@
 	  case Aggregate:
 		// aggregate = new Aggregate_t;
-		aggregate.kind = DeclarationNode::NoAggregate;
+		aggregate.kind = AggregateDecl::NoAggregate;
 		aggregate.name = nullptr;
 		aggregate.params = nullptr;
@@ -345,5 +345,5 @@
 		break;
 	  case Aggregate:
-		os << DeclarationNode::aggregateNames[ aggregate.kind ] << ' ' << *aggregate.name << endl;
+		os << AggregateDecl::aggrString( aggregate.kind ) << ' ' << *aggregate.name << endl;
 		if ( aggregate.params ) {
 			os << string( indent + 2, ' ' ) << "with type parameters" << endl;
@@ -768,16 +768,16 @@
 	AggregateDecl * at;
 	switch ( td->aggregate.kind ) {
-	  case DeclarationNode::Struct:
-	  case DeclarationNode::Coroutine:
-	  case DeclarationNode::Monitor:
-	  case DeclarationNode::Thread:
+	  case AggregateDecl::Struct:
+	  case AggregateDecl::Coroutine:
+	  case AggregateDecl::Monitor:
+	  case AggregateDecl::Thread:
 		at = new StructDecl( *td->aggregate.name, td->aggregate.kind, attributes, linkage );
 		buildForall( td->aggregate.params, at->get_parameters() );
 		break;
-	  case DeclarationNode::Union:
+	  case AggregateDecl::Union:
 		at = new UnionDecl( *td->aggregate.name, attributes, linkage );
 		buildForall( td->aggregate.params, at->get_parameters() );
 		break;
-	  case DeclarationNode::Trait:
+	  case AggregateDecl::Trait:
 		at = new TraitDecl( *td->aggregate.name, attributes, linkage );
 		buildList( td->aggregate.params, at->get_parameters() );
@@ -809,14 +809,14 @@
 			  AggregateDecl * typedecl = buildAggregate( type, attributes, linkage );
 			  switch ( type->aggregate.kind ) {
-				case DeclarationNode::Struct:
-				case DeclarationNode::Coroutine:
-				case DeclarationNode::Monitor:
-				case DeclarationNode::Thread:
+				case AggregateDecl::Struct:
+				case AggregateDecl::Coroutine:
+				case AggregateDecl::Monitor:
+				case AggregateDecl::Thread:
 				  ret = new StructInstType( buildQualifiers( type ), (StructDecl *)typedecl );
 				  break;
-				case DeclarationNode::Union:
+				case AggregateDecl::Union:
 				  ret = new UnionInstType( buildQualifiers( type ), (UnionDecl *)typedecl );
 				  break;
-				case DeclarationNode::Trait:
+				case AggregateDecl::Trait:
 				  assert( false );
 				  //ret = new TraitInstType( buildQualifiers( type ), (TraitDecl *)typedecl );
@@ -827,14 +827,14 @@
 		  } else {
 			  switch ( type->aggregate.kind ) {
-				case DeclarationNode::Struct:
-				case DeclarationNode::Coroutine:
-				case DeclarationNode::Monitor:
-				case DeclarationNode::Thread:
+				case AggregateDecl::Struct:
+				case AggregateDecl::Coroutine:
+				case AggregateDecl::Monitor:
+				case AggregateDecl::Thread:
 				  ret = new StructInstType( buildQualifiers( type ), *type->aggregate.name );
 				  break;
-				case DeclarationNode::Union:
+				case AggregateDecl::Union:
 				  ret = new UnionInstType( buildQualifiers( type ), *type->aggregate.name );
 				  break;
-				case DeclarationNode::Trait:
+				case AggregateDecl::Trait:
 				  ret = new TraitInstType( buildQualifiers( type ), *type->aggregate.name );
 				  break;
@@ -863,14 +863,14 @@
 	  case TypeData::Aggregate: {
 		  switch ( type->aggregate.kind ) {
-			case DeclarationNode::Struct:
-			case DeclarationNode::Coroutine:
-			case DeclarationNode::Monitor:
-			case DeclarationNode::Thread:
+			case AggregateDecl::Struct:
+			case AggregateDecl::Coroutine:
+			case AggregateDecl::Monitor:
+			case AggregateDecl::Thread:
 			  ret = new StructInstType( buildQualifiers( type ), *type->aggregate.name );
 			  break;
-			case DeclarationNode::Union:
+			case AggregateDecl::Union:
 			  ret = new UnionInstType( buildQualifiers( type ), *type->aggregate.name );
 			  break;
-			case DeclarationNode::Trait:
+			case AggregateDecl::Trait:
 			  ret = new TraitInstType( buildQualifiers( type ), *type->aggregate.name );
 			  break;
