DemeterJ version 0.8.6 Copyright (c) 2003 Northeastern University Reading project file program.prj... Running the generator... Parsing class-graph.cd... Building hashtable of classes... Adding generic visitors: PrintVisitor CopyVisitor SubgraphVisitor EqualVisitor DisplayVisitor TraceVisitor UniversalVisitor Marking not-parsed classes... Marking visitor classes... Expanding parameterized classes... Converting repetition classes... Filling in part names... Setting inheritance links... Saving expanded CD to gen/class-graph.xcd... Checking for duplicate part names... Reading behavior files: class-graph.beh Filling in visitor names... Marking derived parts... Making generic visitor behavior files... Reading behavior files: gen/UniversalVisitor.beh gen/PrintVisitor.beh gen/CopyVisitor.beh gen/SubgraphVisitor.beh gen/EqualVisitor.beh gen/DisplayVisitor.beh gen/TraceVisitor.beh Building cyclic class graph... Converting adaptive methods... Building visitor tables... Expanding universal traversal... Expanding static traversals... Computing traversal graph for __trav_display... generating traversal methods... Adding Enumeration thingies to Repetition classes Adding Subtraversal class. Generating core aspect code to gen... Generating grammar to gen/Parser.jj... Done. Running the weaver... Running the compiler... Running the test... : Basket ( : NFruitList ( : Apple ( ) : NFruitList ( : Orange ( ) : EFruitList ( ) ) ) ) done