Portability fix: do not use Behaviour>>methods.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Oct 2014 23:52:47 +0000
changeset 401 538267cab6ec
parent 400 49dc52d760c8
child 402 1d7503124bc8
Portability fix: do not use Behaviour>>methods. On Smalltalk/X it returns a category reader (in order to be able to read Dolphin fileouts): * use`class methodsDo:` instead of `class methods do:` * use `class methodDictionary size` instead of `class methods size`
compiler/tests/PPCGuardTest.st
compiler/tests/PPCNodeCompilingTest.st
compiler/tests/PetitCompilerTest.st
compiler/tests/tests.rc
--- a/compiler/tests/PPCGuardTest.st	Thu Oct 30 23:20:35 2014 +0000
+++ b/compiler/tests/PPCGuardTest.st	Thu Oct 30 23:52:47 2014 +0000
@@ -7,6 +7,7 @@
 	category:'PetitCompiler-Tests-Core'
 !
 
+
 !PPCGuardTest methodsFor:'as yet unclassified'!
 
 setUp
@@ -123,3 +124,10 @@
 	self assert: guard testSingleCharacter.
 ! !
 
+!PPCGuardTest class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/PPCNodeCompilingTest.st	Thu Oct 30 23:20:35 2014 +0000
+++ b/compiler/tests/PPCNodeCompilingTest.st	Thu Oct 30 23:52:47 2014 +0000
@@ -92,29 +92,33 @@
 !
 
 testCompileChoice
-	tree := PPCChoiceNode new
-		children: { #digit asParser asCompilerNode. #letter asParser asCompilerNode };
-		yourself.
-		
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 4.
-	
-	self assert: parser parse: '1' to: $1.
-	self assert: parser parse: 'a' to: $a.
-	self assert: parser fail: '_'.
+        tree := PPCChoiceNode new
+                children: { #digit asParser asCompilerNode. #letter asParser asCompilerNode };
+                yourself.
+                
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 4.
+        
+        self assert: parser parse: '1' to: $1.
+        self assert: parser parse: 'a' to: $a.
+        self assert: parser fail: '_'.
+
+    "Modified: / 30-10-2014 / 23:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileLiteral
-	tree := PPCLiteralNode new
-		literal: 'foo';
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'foo'  to: 'foo'.
-	self assert: parser parse: 'foobar'  to: 'foo' end: 3.
-	self assert: parser fail: 'boo'.
+        tree := PPCLiteralNode new
+                literal: 'foo';
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'foo'  to: 'foo'.
+        self assert: parser parse: 'foobar'  to: 'foo' end: 3.
+        self assert: parser fail: 'boo'.
+
+    "Modified: / 30-10-2014 / 23:48:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileLiteral2
@@ -149,45 +153,51 @@
 !
 
 testCompileNotCharSetPredicate
-	tree := PPCNotCharSetPredicateNode new
-		predicate: (PPCharSetPredicate on: [ :e | e = $a ]);
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'b' to: nil end: 0.
-	self assert: context invocationCount = 2.
-		
-	self assert: parser fail: 'a'.
-	self assert: parser parse: '' to: nil end: 0.
+        tree := PPCNotCharSetPredicateNode new
+                predicate: (PPCharSetPredicate on: [ :e | e = $a ]);
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'b' to: nil end: 0.
+        self assert: context invocationCount = 2.
+                
+        self assert: parser fail: 'a'.
+        self assert: parser parse: '' to: nil end: 0.
+
+    "Modified: / 30-10-2014 / 23:49:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileNotLiteral
-	tree := PPCNotLiteralNode new
-		literal: 'foo';
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'bar' to: nil end: 0.
-	self assert: context invocationCount = 2.
-		
-	self assert: parser fail: 'foo'.
-	self assert: parser parse: '' to: nil end: 0.
+        tree := PPCNotLiteralNode new
+                literal: 'foo';
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'bar' to: nil end: 0.
+        self assert: context invocationCount = 2.
+                
+        self assert: parser fail: 'foo'.
+        self assert: parser parse: '' to: nil end: 0.
+
+    "Modified: / 30-10-2014 / 23:50:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileNotMessagePredicate
-	tree := PPCNotMessagePredicateNode new
-		message: #isDigit;
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'a' to: nil end: 0.
-	self assert: context invocationCount = 2.
-		
-	self assert: parser fail: '1'.
-	self assert: parser parse: '' to: nil end: 0.
+        tree := PPCNotMessagePredicateNode new
+                message: #isDigit;
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'a' to: nil end: 0.
+        self assert: context invocationCount = 2.
+                
+        self assert: parser fail: '1'.
+        self assert: parser parse: '' to: nil end: 0.
+
+    "Modified: / 30-10-2014 / 23:50:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileOptional
@@ -255,32 +265,34 @@
 !
 
 testCompileStarCharSetPredicate
-	tree := PPCStarCharSetPredicateNode new
-		predicate: (PPCharSetPredicate on: [:e | e = $a ]);
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'aaa1' to: #( $a $a $a) end: 3.
-	self assert: context invocationCount = 2.
-	self assert: parser parse: 'bba' to: #() end: 0.
-	self assert: context invocationCount = 2.
-	
+        tree := PPCStarCharSetPredicateNode new
+                predicate: (PPCharSetPredicate on: [:e | e = $a ]);
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'aaa1' to: #( $a $a $a) end: 3.
+        self assert: context invocationCount = 2.
+        self assert: parser parse: 'bba' to: #() end: 0.
+        self assert: context invocationCount = 2.
+
+    "Modified: / 30-10-2014 / 23:50:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileStarMessagePredicate
-	tree := PPCStarMessagePredicateNode new
-		message: #isLetter;
-		yourself.
-	parser := self compileTree: tree.
-	
-	self assert: parser class methods size = 2.
-	self assert: parser parse: 'abc1' to: #( $a $b $c) end: 3.
-	self assert: context invocationCount = 2.
-	
-	self assert: parser parse: '123a' to: #() end: 0.
-	self assert: context invocationCount = 2.
-	
+        tree := PPCStarMessagePredicateNode new
+                message: #isLetter;
+                yourself.
+        parser := self compileTree: tree.
+        
+        self assert: parser class methodDictionary size = 2.
+        self assert: parser parse: 'abc1' to: #( $a $b $c) end: 3.
+        self assert: context invocationCount = 2.
+        
+        self assert: parser parse: '123a' to: #() end: 0.
+        self assert: context invocationCount = 2.
+
+    "Modified: / 30-10-2014 / 23:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testCompileSymbolAction
@@ -341,19 +353,21 @@
 !
 
 testCompileTokenStarMessagePredicate
-	
-	tree := PPCTokenStarMessagePredicateNode new message: #isLetter.
-	parser := self compileTree: tree params: {#guards -> false}.
-	
-	self assert: parser class methods size = 2.
-	
-	self assert: parser parse: 'foo' to: parser.
-	self assert: context invocationCount = 2.
-	self assert: context lwRememberCount  = 0.
-	self assert: context lwRestoreCount  = 0.
-	self assert: context rememberCount = 0.
-	
-	self assert: parser parse: 'foo123' to: parser end: 3.
+        
+        tree := PPCTokenStarMessagePredicateNode new message: #isLetter.
+        parser := self compileTree: tree params: {#guards -> false}.
+        
+        self assert: parser class methodDictionary size = 2.
+        
+        self assert: parser parse: 'foo' to: parser.
+        self assert: context invocationCount = 2.
+        self assert: context lwRememberCount  = 0.
+        self assert: context lwRestoreCount  = 0.
+        self assert: context rememberCount = 0.
+        
+        self assert: parser parse: 'foo123' to: parser end: 3.
+
+    "Modified: / 30-10-2014 / 23:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PPCNodeCompilingTest methodsFor:'tests - guard'!
--- a/compiler/tests/PetitCompilerTest.st	Thu Oct 30 23:20:35 2014 +0000
+++ b/compiler/tests/PetitCompilerTest.st	Thu Oct 30 23:52:47 2014 +0000
@@ -380,15 +380,17 @@
 !
 
 testSmalltalkToken
-	parser := (#letter asParser, (#digit asParser / #letter asParser) star) smalltalkToken compileWithParameters: {#profile -> true}.
-	
-	self assert: parser class methods size = 6.
-	self assert: parser parse: 'foo'.
-	self assert: result inputValue = 'foo'.
-	self assert: context invocationCount = 9.
-	self assert: context rememberCount = 0.
-	self assert: context lwRememberCount = 1.
-	self assert: context lwRestoreCount = 0.	
+        parser := (#letter asParser, (#digit asParser / #letter asParser) star) smalltalkToken compileWithParameters: {#profile -> true}.
+        
+        self assert: parser class methodDictionary size = 6.
+        self assert: parser parse: 'foo'.
+        self assert: result inputValue = 'foo'.
+        self assert: context invocationCount = 9.
+        self assert: context rememberCount = 0.
+        self assert: context lwRememberCount = 1.
+        self assert: context lwRestoreCount = 0.
+
+    "Modified: / 30-10-2014 / 23:20:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testSmalltalkToken2
@@ -417,44 +419,48 @@
 !
 
 testToken2
-	parser := (#letter asParser, (#digit asParser / #letter asParser) star) token compileWithParameters: {#profile -> true}.
-	
-	self assert: parser class methods size = 5.
-	self assert: parser parse: 'foo'.
-	self assert: result inputValue = 'foo'.
-	self assert: context invocationCount = 7.
-	self assert: context rememberCount = 0.
-	self assert: context lwRememberCount = 1.
-	self assert: context lwRestoreCount = 0.	
+        parser := (#letter asParser, (#digit asParser / #letter asParser) star) token compileWithParameters: {#profile -> true}.
+        
+        self assert: parser class methodDictionary size = 5.
+        self assert: parser parse: 'foo'.
+        self assert: result inputValue = 'foo'.
+        self assert: context invocationCount = 7.
+        self assert: context rememberCount = 0.
+        self assert: context lwRememberCount = 1.
+        self assert: context lwRestoreCount = 0.
+
+    "Modified: / 30-10-2014 / 23:21:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testTrimmingToken
-	parser := (#letter asParser, (#digit asParser / #letter asParser) star) trimmingToken compileWithParameters: { #profile -> true }.
+        parser := (#letter asParser, (#digit asParser / #letter asParser) star) trimmingToken compileWithParameters: { #profile -> true }.
 
-	self assert: parser class methods size = 6.
-	
-	self assert: parser parse: 'foo'.
-	self assert: result inputValue = 'foo'.
+        self assert: parser class methodDictionary size = 6.
+        
+        self assert: parser parse: 'foo'.
+        self assert: result inputValue = 'foo'.
 
-	self assert: context invocationCount = 9.
-	self assert: context rememberCount = 0.
-	self assert: context lwRememberCount = 1.
-	self assert: context lwRestoreCount = 0.	
+        self assert: context invocationCount = 9.
+        self assert: context rememberCount = 0.
+        self assert: context lwRememberCount = 1.
+        self assert: context lwRestoreCount = 0.        
 
-	self assert: parser parse: ' foo '.
-	self assert: result inputValue = 'foo'.
+        self assert: parser parse: ' foo '.
+        self assert: result inputValue = 'foo'.
 
 
 
-	self assert: parser fail: '123'.
+        self assert: parser fail: '123'.
 
-	self assert: context invocationCount = 3.
-	self assert: context rememberCount = 0.
-	self assert: context lwRememberCount = 0.
-	self assert: context lwRestoreCount = 0.	
+        self assert: context invocationCount = 3.
+        self assert: context rememberCount = 0.
+        self assert: context lwRememberCount = 0.
+        self assert: context lwRestoreCount = 0.        
 
 
-	self assert: parser fail: ''.
+        self assert: parser fail: ''.
+
+    "Modified: / 30-10-2014 / 23:21:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PetitCompilerTest methodsFor:'tests - first set'!
@@ -622,15 +628,17 @@
 !
 
 testObject
-	| compiledParser normalParser source |
-	normalParser := PPSmalltalkGrammar new.
-	compiledParser := normalParser compile.
-	
-	Object methods do: [ :m |
-		source := m sourceCode.
-		self assert: (normalParser parse: source) 
-			  equals: (compiledParser parse: source withContext: self context). 
-	].
+        | compiledParser normalParser source |
+        normalParser := PPSmalltalkGrammar new.
+        compiledParser := normalParser compile.
+        
+        Object methodsDo: [ :m |
+                source := m sourceCode.
+                self assert: (normalParser parse: source) 
+                          equals: (compiledParser parse: source withContext: self context). 
+        ].
+
+    "Modified: / 30-10-2014 / 23:22:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 testWhitespace
--- a/compiler/tests/tests.rc	Thu Oct 30 23:20:35 2014 +0000
+++ b/compiler/tests/tests.rc	Thu Oct 30 23:52:47 2014 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.4.0\0"
-      VALUE "ProductDate", "Sun, 26 Oct 2014 22:46:25 GMT\0"
+      VALUE "ProductDate", "Thu, 30 Oct 2014 23:34:44 GMT\0"
     END
 
   END