1
0
فهرست منبع

Fixed list of ivarnames in class definitions to be space separated instead of using comma.

Göran Krampe 13 سال پیش
والد
کامیت
b84df5b59b
8فایلهای تغییر یافته به همراه55 افزوده شده و 40 حذف شده
  1. 24 9
      js/Parser.js
  2. 1 1
      st/Canvas.st
  3. 4 4
      st/Compiler.st
  4. 3 3
      st/Examples.st
  5. 4 4
      st/IDE.st
  6. 7 7
      st/Kernel.st
  7. 9 9
      st/Parser.st
  8. 3 3
      st/SUnit.st

+ 24 - 9
js/Parser.js

@@ -1452,13 +1452,13 @@ category: 'not yet classified',
 fn: function (aClass, aStream){
 var self=this;
 (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_superclass", [])])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(unescape("%20subclass%3A%20%23"), "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("%09instanceVariableNames%3A%20%27")]);})(aStream);
-smalltalk.send(smalltalk.send(aClass, "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [unescape("%2C%20")]);})]);
+smalltalk.send(smalltalk.send(aClass, "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [" "]);})]);
 (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%27")]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%09category%3A%20%27"), "__comma", [smalltalk.send(aClass, "_category", [])]), "__comma", [unescape("%27%21")])]);return smalltalk.send($rec, "_lf", []);})(aStream);
-smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_comment", []), "_notEmpty", []), "_ifTrue_", [(function(){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%21"), "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])]), "__comma", [unescape("%20commentStamp%21")])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_comment", []), "_escaped", []), "__comma", [unescape("%21")])]);return smalltalk.send($rec, "_lf", []);})(aStream);})]);
+smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_comment", []), "_notEmpty", []), "_ifTrue_", [(function(){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%21"), "__comma", [smalltalk.send(self, "_classNameFor_", [aClass])]), "__comma", [unescape("%20commentStamp%21")])]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(self, "_chunkEscape_", [smalltalk.send(aClass, "_comment", [])]), "__comma", [unescape("%21")])]);return smalltalk.send($rec, "_lf", []);})(aStream);})]);
 smalltalk.send(aStream, "_lf", []);
 return self;},
-source: unescape('exportDefinitionOf%3A%20aClass%20on%3A%20aStream%0A%09%22Chunk%20format.%22%0A%0A%09aStream%20%0A%09%20%20%20%20nextPutAll%3A%20%28self%20classNameFor%3A%20aClass%20superclass%29%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%20subclass%3A%20%23%27%2C%20%28self%20classNameFor%3A%20aClass%29%3B%20lf%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%09instanceVariableNames%3A%20%27%27%27.%0A%09aClass%20instanceVariableNames%20%0A%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20each%5D%0A%09%20%20%20%20separatedBy%3A%20%5BaStream%20nextPutAll%3A%20%27%2C%20%27%5D.%0A%09aStream%09%0A%09%20%20%20%20nextPutAll%3A%20%27%27%27%27%3B%20lf%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%09category%3A%20%27%27%27%2C%20aClass%20category%2C%20%27%27%27%21%27%3B%20lf.%0A%20%09aClass%20comment%20notEmpty%20ifTrue%3A%20%5B%0A%09%20%20%20%20aStream%20%0A%09%09nextPutAll%3A%20%27%21%27%2C%20%28self%20classNameFor%3A%20aClass%29%2C%20%27%20commentStamp%21%27%3Blf%3B%0A%09%09nextPutAll%3A%20aClass%20comment%20escaped%2C%20%27%21%27%3Blf%5D.%0A%09aStream%20lf%0A'),
-messageSends: ["nextPutAll:", "classNameFor:", "superclass", unescape("%2C"), "lf", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "notEmpty", "comment", "escaped"],
+source: unescape('exportDefinitionOf%3A%20aClass%20on%3A%20aStream%0A%09%22Chunk%20format.%22%0A%0A%09aStream%20%0A%09%20%20%20%20nextPutAll%3A%20%28self%20classNameFor%3A%20aClass%20superclass%29%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%20subclass%3A%20%23%27%2C%20%28self%20classNameFor%3A%20aClass%29%3B%20lf%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%09instanceVariableNames%3A%20%27%27%27.%0A%09aClass%20instanceVariableNames%20%0A%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20each%5D%0A%09%20%20%20%20separatedBy%3A%20%5BaStream%20nextPutAll%3A%20%27%20%27%5D.%0A%09aStream%09%0A%09%20%20%20%20nextPutAll%3A%20%27%27%27%27%3B%20lf%3B%0A%09%20%20%20%20nextPutAll%3A%20%27%09category%3A%20%27%27%27%2C%20aClass%20category%2C%20%27%27%27%21%27%3B%20lf.%0A%20%09aClass%20comment%20notEmpty%20ifTrue%3A%20%5B%0A%09%20%20%20%20aStream%20%0A%09%09nextPutAll%3A%20%27%21%27%2C%20%28self%20classNameFor%3A%20aClass%29%2C%20%27%20commentStamp%21%27%3Blf%3B%0A%09%09nextPutAll%3A%20%28self%20chunkEscape%3A%20aClass%20comment%29%2C%20%27%21%27%3Blf%5D.%0A%09aStream%20lf%0A'),
+messageSends: ["nextPutAll:", "classNameFor:", "superclass", unescape("%2C"), "lf", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "notEmpty", "comment", "chunkEscape:"],
 referencedClasses: []
 }),
 smalltalk.ChunkExporter);
@@ -1470,10 +1470,10 @@ selector: 'exportMethod:of:on:',
 category: 'not yet classified',
 fn: function (aMethod, aClass, aStream){
 var self=this;
-(function($rec){smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aMethod, "_source", [])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("%21")]);})(aStream);
+(function($rec){smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_chunkEscape_", [smalltalk.send(aMethod, "_source", [])])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("%21")]);})(aStream);
 return self;},
-source: unescape('exportMethod%3A%20aMethod%20of%3A%20aClass%20on%3A%20aStream%0A%09aStream%20%0A%09%09lf%3B%20lf%3B%20nextPutAll%3A%20aMethod%20source%3B%20lf%3B%0A%09%09nextPutAll%3A%20%27%21%27'),
-messageSends: ["lf", "nextPutAll:", "source"],
+source: unescape('exportMethod%3A%20aMethod%20of%3A%20aClass%20on%3A%20aStream%0A%09aStream%20%0A%09%09lf%3B%20lf%3B%20nextPutAll%3A%20%28self%20chunkEscape%3A%20aMethod%20source%29%3B%20lf%3B%0A%09%09nextPutAll%3A%20%27%21%27'),
+messageSends: ["lf", "nextPutAll:", "chunkEscape:", "source"],
 referencedClasses: []
 }),
 smalltalk.ChunkExporter);
@@ -1503,9 +1503,9 @@ selector: 'exportMetaDefinitionOf:on:',
 category: 'not yet classified',
 fn: function (aClass, aStream){
 var self=this;
-smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_isEmpty", []), "_ifFalse_", [(function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%20instanceVariableNames%3A%20%27")]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [unescape("%2C%20")]);})]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%27%21")]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);})]);
+smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_isEmpty", []), "_ifFalse_", [(function(){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(aClass, "_class", [])])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%20instanceVariableNames%3A%20%27")]);})(aStream);smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_instanceVariableNames", []), "_do_separatedBy_", [(function(each){return smalltalk.send(aStream, "_nextPutAll_", [each]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [" "]);})]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%27%21")]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_lf", []);})(aStream);})]);
 return self;},
-source: unescape('exportMetaDefinitionOf%3A%20aClass%20on%3A%20aStream%0A%0A%09aClass%20class%20instanceVariableNames%20isEmpty%20ifFalse%3A%20%5B%0A%09%09aStream%20%0A%09%09%20%20%20%20nextPutAll%3A%20%28self%20classNameFor%3A%20aClass%20class%29%3B%0A%09%09%20%20%20%20nextPutAll%3A%20%27%20instanceVariableNames%3A%20%27%27%27.%0A%09%09aClass%20class%20instanceVariableNames%20%0A%09%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20each%5D%0A%09%09%20%20%20%20separatedBy%3A%20%5BaStream%20nextPutAll%3A%20%27%2C%20%27%5D.%0A%09%09aStream%09%0A%09%09%20%20%20%20nextPutAll%3A%20%27%27%27%21%27%3B%20lf%3B%20lf%5D'),
+source: unescape('exportMetaDefinitionOf%3A%20aClass%20on%3A%20aStream%0A%0A%09aClass%20class%20instanceVariableNames%20isEmpty%20ifFalse%3A%20%5B%0A%09%09aStream%20%0A%09%09%20%20%20%20nextPutAll%3A%20%28self%20classNameFor%3A%20aClass%20class%29%3B%0A%09%09%20%20%20%20nextPutAll%3A%20%27%20instanceVariableNames%3A%20%27%27%27.%0A%09%09aClass%20class%20instanceVariableNames%20%0A%09%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20each%5D%0A%09%09%20%20%20%20separatedBy%3A%20%5BaStream%20nextPutAll%3A%20%27%20%27%5D.%0A%09%09aStream%09%0A%09%09%20%20%20%20nextPutAll%3A%20%27%27%27%21%27%3B%20lf%3B%20lf%5D'),
 messageSends: ["ifFalse:", "isEmpty", "instanceVariableNames", "class", "nextPutAll:", "classNameFor:", "do:separatedBy:", "lf"],
 referencedClasses: []
 }),
@@ -1526,5 +1526,20 @@ referencedClasses: []
 }),
 smalltalk.ChunkExporter);
 
+smalltalk.addMethod(
+'_chunkEscape_',
+smalltalk.method({
+selector: 'chunkEscape:',
+category: 'not yet classified',
+fn: function (aString){
+var self=this;
+return smalltalk.send(aString, "_replace_with_", [unescape("%21"), unescape("%21%21")]);
+return self;},
+source: unescape('chunkEscape%3A%20aString%0A%09%22Replace%20all%20occurrences%20of%20%21%20with%20%21%21%22%0A%0A%09%5EaString%20replace%3A%20%27%21%27%20with%3A%20%27%21%21%27%0A'),
+messageSends: ["replace:with:"],
+referencedClasses: []
+}),
+smalltalk.ChunkExporter);
+
 
 

+ 1 - 1
st/Canvas.st

@@ -246,7 +246,7 @@ canvas
 ! !
 
 Object subclass: #TagBrush
-	instanceVariableNames: 'canvas, element'
+	instanceVariableNames: 'canvas element'
 	category: 'Canvas'!
 
 !TagBrush methodsFor: 'accessing'!

+ 4 - 4
st/Compiler.st

@@ -29,7 +29,7 @@ accept: aVisitor
 ! !
 
 Node subclass: #MethodNode
-	instanceVariableNames: 'selector, arguments, source'
+	instanceVariableNames: 'selector arguments source'
 	category: 'Compiler'!
 
 !MethodNode methodsFor: 'accessing'!
@@ -72,7 +72,7 @@ accept: aVisitor
 ! !
 
 Node subclass: #SendNode
-	instanceVariableNames: 'selector, arguments, receiver'
+	instanceVariableNames: 'selector arguments receiver'
 	category: 'Compiler'!
 
 !SendNode methodsFor: 'accessing'!
@@ -162,7 +162,7 @@ accept: aVisitor
 ! !
 
 Node subclass: #AssignmentNode
-	instanceVariableNames: 'left, right'
+	instanceVariableNames: 'left right'
 	category: 'Compiler'!
 
 !AssignmentNode methodsFor: 'accessing'!
@@ -420,7 +420,7 @@ visitJSStatementNode: aNode
 ! !
 
 NodeVisitor subclass: #Compiler
-	instanceVariableNames: 'stream, nestedBlocks, earlyReturn, currentClass, currentSelector, unknownVariables, tempVariables, messageSends, referencedClasses'
+	instanceVariableNames: 'stream nestedBlocks earlyReturn currentClass currentSelector unknownVariables tempVariables messageSends referencedClasses'
 	category: 'Compiler'!
 
 !Compiler methodsFor: 'accessing'!

+ 3 - 3
st/Examples.st

@@ -1,5 +1,5 @@
 Widget subclass: #Counter
-	instanceVariableNames: 'count, header'
+	instanceVariableNames: 'count header'
 	category: 'Examples'!
 
 !Counter methodsFor: 'actions'!
@@ -38,7 +38,7 @@ renderOn: html
 ! !
 
 Widget subclass: #Tetris
-	instanceVariableNames: 'renderingContext, timer, speed, score, rows, movingPiece'
+	instanceVariableNames: 'renderingContext timer speed score rows movingPiece'
 	category: 'Examples'!
 
 !Tetris methodsFor: 'accessing'!
@@ -195,7 +195,7 @@ squares
 ! !
 
 Widget subclass: #TetrisPiece
-	instanceVariableNames: 'rotation, position'
+	instanceVariableNames: 'rotation position'
 	category: 'Examples'!
 
 !TetrisPiece methodsFor: 'accessing'!

+ 4 - 4
st/IDE.st

@@ -1,5 +1,5 @@
 Widget subclass: #TabManager
-	instanceVariableNames: 'selectedTab, tabs, opened'
+	instanceVariableNames: 'selectedTab tabs opened'
 	category: 'IDE'!
 
 !TabManager methodsFor: 'accessing'!
@@ -464,7 +464,7 @@ clear
 ! !
 
 TabWidget subclass: #Browser
-	instanceVariableNames: 'selectedCategory, selectedClass, selectedProtocol, selectedMethod, commitButton, categoriesList, classesList, protocolsList, methodsList, sourceTextarea, tabsList, selectedTab, saveButton, classButtons, methodButtons, unsavedChanges'
+	instanceVariableNames: 'selectedCategory selectedClass selectedProtocol selectedMethod commitButton categoriesList classesList protocolsList methodsList sourceTextarea tabsList selectedTab saveButton classButtons methodButtons unsavedChanges'
 	category: 'IDE'!
 
 !Browser methodsFor: 'accessing'!
@@ -1061,7 +1061,7 @@ open
 ! !
 
 TabWidget subclass: #Inspector
-	instanceVariableNames: 'label, variables, object, selectedVariable, variablesList, valueTextarea, workspaceTextarea, diveButton'
+	instanceVariableNames: 'label variables object selectedVariable variablesList valueTextarea workspaceTextarea diveButton'
 	category: 'IDE'!
 
 !Inspector methodsFor: 'accessing'!
@@ -1201,7 +1201,7 @@ on: anObject
 ! !
 
 TabWidget subclass: #ReferencesBrowser
-	instanceVariableNames: 'implementors, senders, implementorsList, input, timer, selector, sendersList, referencedClasses, referencedClassesList'
+	instanceVariableNames: 'implementors senders implementorsList input timer selector sendersList referencedClasses referencedClassesList'
 	category: 'IDE'!
 
 !ReferencesBrowser methodsFor: 'accessing'!

+ 7 - 7
st/Kernel.st

@@ -1945,7 +1945,7 @@ signal: aString
 ! !
 
 Object subclass: #Association
-	instanceVariableNames: 'key, value'
+	instanceVariableNames: 'key value'
 	category: 'Kernel'!
 
 !Association methodsFor: 'accessing'!
@@ -2230,7 +2230,7 @@ setupClass: aClass
 ! !
 
 Object subclass: #ClassCategoryReader
-	instanceVariableNames: 'class, category, chunkParser'
+	instanceVariableNames: 'class category chunkParser'
 	category: 'Kernel'!
 
 !ClassCategoryReader methodsFor: 'accessing'!
@@ -2271,7 +2271,7 @@ compileMethod: aString
 ! !
 
 Object subclass: #Stream
-	instanceVariableNames: 'collection, position, streamSize'
+	instanceVariableNames: 'collection position streamSize'
 	category: 'Kernel'!
 
 !Stream methodsFor: 'accessing'!
@@ -2470,7 +2470,7 @@ lf
 ! !
 
 Object subclass: #ClassCommentReader
-	instanceVariableNames: 'class, chunkParser'
+	instanceVariableNames: 'class chunkParser'
 	category: 'Kernel'!
 
 !ClassCommentReader methodsFor: 'accessing'!
@@ -2522,7 +2522,7 @@ next: anInteger
 ! !
 
 Object subclass: #Point
-	instanceVariableNames: 'x, y'
+	instanceVariableNames: 'x y'
 	category: 'Kernel'!
 
 !Point methodsFor: 'accessing'!
@@ -2577,7 +2577,7 @@ x: aNumber y: anotherNumber
 ! !
 
 Object subclass: #Message
-	instanceVariableNames: 'selector, arguments'
+	instanceVariableNames: 'selector arguments'
 	category: 'Kernel'!
 
 !Message methodsFor: 'accessing'!
@@ -2608,7 +2608,7 @@ selector: aString arguments: anArray
 ! !
 
 Error subclass: #MessageNotUnderstood
-	instanceVariableNames: 'message, receiver'
+	instanceVariableNames: 'message receiver'
 	category: 'Kernel'!
 
 !MessageNotUnderstood methodsFor: 'accessing'!

+ 9 - 9
st/Parser.st

@@ -469,7 +469,7 @@ on: aParser min: aNumber
 ! !
 
 Object subclass: #PPFailure
-	instanceVariableNames: 'position, reason'
+	instanceVariableNames: 'position reason'
 	category: 'Parser'!
 
 !PPFailure methodsFor: 'accessing'!
@@ -952,22 +952,22 @@ exportDefinitionOf: aClass on: aStream
 	    nextPutAll: '	instanceVariableNames: '''.
 	aClass instanceVariableNames 
 	    do: [:each | aStream nextPutAll: each]
-	    separatedBy: [aStream nextPutAll: ', '].
+	    separatedBy: [aStream nextPutAll: ' '].
 	aStream	
 	    nextPutAll: ''''; lf;
-	    nextPutAll: '	category: ''', aClass category, '''!'; lf.
+	    nextPutAll: '	category: ''', aClass category, '''!!'; lf.
  	aClass comment notEmpty ifTrue: [
 	    aStream 
-		nextPutAll: '!', (self classNameFor: aClass), ' commentStamp!';lf;
-		nextPutAll: aClass comment escaped, '!';lf].
+		nextPutAll: '!!', (self classNameFor: aClass), ' commentStamp!!';lf;
+		nextPutAll: (self chunkEscape: aClass comment), '!!';lf].
 	aStream lf
 
 !
 
 exportMethod: aMethod of: aClass on: aStream
 	aStream 
-		lf; lf; nextPutAll: aMethod source; lf;
-		nextPutAll: '!'
+		lf; lf; nextPutAll: (self chunkEscape: aMethod source); lf;
+		nextPutAll: '!!'
 !
 
 exportMethodsOf: aClass on: aStream
@@ -994,9 +994,9 @@ exportMetaDefinitionOf: aClass on: aStream
 		    nextPutAll: ' instanceVariableNames: '''.
 		aClass class instanceVariableNames 
 		    do: [:each | aStream nextPutAll: each]
-		    separatedBy: [aStream nextPutAll: ', '].
+		    separatedBy: [aStream nextPutAll: ' '].
 		aStream	
-		    nextPutAll: '''!'; lf; lf]
+		    nextPutAll: '''!!'; lf; lf]
 !
 
 classNameFor: aClass

+ 3 - 3
st/SUnit.st

@@ -88,7 +88,7 @@ testError
 ! !
 
 TabWidget subclass: #ProgressBar
-	instanceVariableNames: 'percent, progressDiv'
+	instanceVariableNames: 'percent progressDiv'
 	category: 'SUnit'!
 
 !ProgressBar methodsFor: 'accessing'!
@@ -124,7 +124,7 @@ Error subclass: #TestFailure
 	category: 'SUnit'!
 
 TabWidget subclass: #TestRunner
-	instanceVariableNames: 'selectedCategories, categoriesList, selectedClasses, classesList, selectedMethods, progressBar, methodsList, result, statusDiv'
+	instanceVariableNames: 'selectedCategories categoriesList selectedClasses classesList selectedMethods progressBar methodsList result statusDiv'
 	category: 'SUnit'!
 
 !TestRunner methodsFor: 'accessing'!
@@ -370,7 +370,7 @@ updateStatusDiv
 ! !
 
 Object subclass: #TestResult
-	instanceVariableNames: 'timestamp, runs, errors, failures, total'
+	instanceVariableNames: 'timestamp runs errors failures total'
 	category: 'SUnit'!
 
 !TestResult methodsFor: 'accessing'!