Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision ba407cee5260e95fb9204e5bda42ee1a20076e92)
+++ src/SymTab/Validate.cc	(revision f0663213735198062b3ba689b56f1f8d441722e9)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 21:50:04 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Aug 11 16:59:35 2015
-// Update Count     : 196
+// Last Modified By : Rob Schluntz
+// Last Modified On : Thu Nov 19 10:44:55 2015
+// Update Count     : 199
 //
 
@@ -126,8 +126,8 @@
 	};
 
-	class AddStructAssignment : public Visitor {
+	class AutogenerateRoutines : public Visitor {
 	  public:
 		/// Generates assignment operators for aggregate types as required
-		static void addStructAssignment( std::list< Declaration * > &translationUnit );
+		static void autogenerateRoutines( std::list< Declaration * > &translationUnit );
 
 		std::list< Declaration * > &get_declsToAdd() { return declsToAdd; }
@@ -152,5 +152,5 @@
 		virtual void visit( CatchStmt *catchStmt );
 
-		AddStructAssignment() : functionNesting( 0 ) {}
+		AutogenerateRoutines() : functionNesting( 0 ) {}
 	  private:
 		template< typename StmtClass > void visitStatement( StmtClass *stmt );
@@ -196,7 +196,5 @@
 		acceptAll( translationUnit, pass1 );
 		acceptAll( translationUnit, pass2 );
-		// need to collect all of the assignment operators prior to
-		// this point and only generate assignment operators if one doesn't exist
-		AddStructAssignment::addStructAssignment( translationUnit );
+		AutogenerateRoutines::autogenerateRoutines( translationUnit );
 		acceptAll( translationUnit, pass3 );
 	}
@@ -502,6 +500,6 @@
 	static const std::list< std::string > noLabels;
 
-	void AddStructAssignment::addStructAssignment( std::list< Declaration * > &translationUnit ) {
-		AddStructAssignment visitor;
+	void AutogenerateRoutines::autogenerateRoutines( std::list< Declaration * > &translationUnit ) {
+		AutogenerateRoutines visitor;
 		acceptAndAdd( translationUnit, visitor, false );
 	}
@@ -699,5 +697,5 @@
 	}
 
-	void AddStructAssignment::visit( EnumDecl *enumDecl ) {
+	void AutogenerateRoutines::visit( EnumDecl *enumDecl ) {
 		if ( ! enumDecl->get_members().empty() ) {
 			EnumInstType *enumInst = new EnumInstType( Type::Qualifiers(), enumDecl->get_name() );
@@ -708,5 +706,5 @@
 	}
 
-	void AddStructAssignment::visit( StructDecl *structDecl ) {
+	void AutogenerateRoutines::visit( StructDecl *structDecl ) {
 		if ( ! structDecl->get_members().empty() && structsDone.find( structDecl->get_name() ) == structsDone.end() ) {
 			StructInstType *structInst = new StructInstType( Type::Qualifiers(), structDecl->get_name() );
@@ -717,5 +715,5 @@
 	}
 
-	void AddStructAssignment::visit( UnionDecl *unionDecl ) {
+	void AutogenerateRoutines::visit( UnionDecl *unionDecl ) {
 		if ( ! unionDecl->get_members().empty() ) {
 			UnionInstType *unionInst = new UnionInstType( Type::Qualifiers(), unionDecl->get_name() );
@@ -725,5 +723,5 @@
 	}
 
-	void AddStructAssignment::visit( TypeDecl *typeDecl ) {
+	void AutogenerateRoutines::visit( TypeDecl *typeDecl ) {
 		CompoundStmt *stmts = 0;
 		TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false );
@@ -753,18 +751,18 @@
 	}
 
-	void AddStructAssignment::visit( FunctionType *) {
+	void AutogenerateRoutines::visit( FunctionType *) {
 		// ensure that we don't add assignment ops for types defined as part of the function
 	}
 
-	void AddStructAssignment::visit( PointerType *) {
+	void AutogenerateRoutines::visit( PointerType *) {
 		// ensure that we don't add assignment ops for types defined as part of the pointer
 	}
 
-	void AddStructAssignment::visit( ContextDecl *) {
+	void AutogenerateRoutines::visit( ContextDecl *) {
 		// ensure that we don't add assignment ops for types defined as part of the context
 	}
 
 	template< typename StmtClass >
-	inline void AddStructAssignment::visitStatement( StmtClass *stmt ) {
+	inline void AutogenerateRoutines::visitStatement( StmtClass *stmt ) {
 		std::set< std::string > oldStructs = structsDone;
 		addVisit( stmt, *this );
@@ -772,5 +770,5 @@
 	}
 
-	void AddStructAssignment::visit( FunctionDecl *functionDecl ) {
+	void AutogenerateRoutines::visit( FunctionDecl *functionDecl ) {
 		maybeAccept( functionDecl->get_functionType(), *this );
 		acceptAll( functionDecl->get_oldDecls(), *this );
@@ -780,33 +778,33 @@
 	}
 
-	void AddStructAssignment::visit( CompoundStmt *compoundStmt ) {
+	void AutogenerateRoutines::visit( CompoundStmt *compoundStmt ) {
 		visitStatement( compoundStmt );
 	}
 
-	void AddStructAssignment::visit( IfStmt *ifStmt ) {
+	void AutogenerateRoutines::visit( IfStmt *ifStmt ) {
 		visitStatement( ifStmt );
 	}
 
-	void AddStructAssignment::visit( WhileStmt *whileStmt ) {
+	void AutogenerateRoutines::visit( WhileStmt *whileStmt ) {
 		visitStatement( whileStmt );
 	}
 
-	void AddStructAssignment::visit( ForStmt *forStmt ) {
+	void AutogenerateRoutines::visit( ForStmt *forStmt ) {
 		visitStatement( forStmt );
 	}
 
-	void AddStructAssignment::visit( SwitchStmt *switchStmt ) {
+	void AutogenerateRoutines::visit( SwitchStmt *switchStmt ) {
 		visitStatement( switchStmt );
 	}
 
-	void AddStructAssignment::visit( ChooseStmt *switchStmt ) {
+	void AutogenerateRoutines::visit( ChooseStmt *switchStmt ) {
 		visitStatement( switchStmt );
 	}
 
-	void AddStructAssignment::visit( CaseStmt *caseStmt ) {
+	void AutogenerateRoutines::visit( CaseStmt *caseStmt ) {
 		visitStatement( caseStmt );
 	}
 
-	void AddStructAssignment::visit( CatchStmt *cathStmt ) {
+	void AutogenerateRoutines::visit( CatchStmt *cathStmt ) {
 		visitStatement( cathStmt );
 	}
Index: src/libcfa/prelude.cf
===================================================================
--- src/libcfa/prelude.cf	(revision ba407cee5260e95fb9204e5bda42ee1a20076e92)
+++ src/libcfa/prelude.cf	(revision f0663213735198062b3ba689b56f1f8d441722e9)
@@ -7,7 +7,7 @@
 // Author           : Glen Ditchfield
 // Created On       : Sat Nov 29 07:23:41 2014
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun  9 14:43:47 2015
-// Update Count     : 75
+// Last Modified By : Rob Schluntz
+// Last Modified On : Thu Nov 19 11:09:47 2015
+// Update Count     : 76
 //
 
