Reading project file program.prj... Running the generator... Parsing statistics.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/statistics.xcd... Checking for duplicate part names... Reading behavior files: statistics.beh class-graph.beh averageV.beh summingV.beh countingV.beh doStatistics.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... 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... The DJ version is: DJ version 0.8.1 The class graph is============================= end class graph ============================= object which was read : Container ( : Item_List { : Nonempty_Item_List ( : Simple ( : ItemName ( : Ident "apple" ) : Weight ( : int "12" ) ) : Nonempty_Item_List ( : Container ( : Item_List { : Nonempty_Item_List ( : Simple ( : ItemName ( : Ident "apple" ) : Weight ( : int "10" ) ) ) } : Capacity ( : int "10" ) ) : Nonempty_Item_List ( : Simple ( : ItemName ( : Ident "pear" ) : Weight ( : int "9" ) ) : Nonempty_Item_List ( : Container ( : Item_List { : Nonempty_Item_List ( : Simple ( : ItemName ( : Ident "apple" ) : Weight ( : int "8" ) ) ) } : Capacity ( : int "10" ) ) : Nonempty_Item_List ( : Simple ( : ItemName ( : Ident "kiwi" ) : Weight ( : int "6" ) ) ) ) ) ) ) } : Capacity ( done DisplayVisitor visitors prepared begin begin sum: add 12 count before Weight 12.0 = partial result sum: add 10 count before Weight 11.0 = partial result sum: add 9 count before Weight 10.333333 = partial result sum: add 8 count before Weight 9.75 = partial result sum: add 6 count before Weight 9.0 = partial result done 9.0