compiler/PPCStarMessagePredicateNode.st
changeset 421 7e08b31e0dae
parent 392 9b297f0d949c
child 422 116d2b2af905
--- a/compiler/PPCStarMessagePredicateNode.st	Wed Nov 19 10:52:37 2014 +0000
+++ b/compiler/PPCStarMessagePredicateNode.st	Mon Nov 24 00:09:23 2014 +0000
@@ -1,6 +1,6 @@
 "{ Package: 'stx:goodies/petitparser/compiler' }"
 
-PPCNode subclass:#PPCStarMessagePredicateNode
+PPCStarNode subclass:#PPCStarMessagePredicateNode
 	instanceVariableNames:'message'
 	classVariableNames:''
 	poolDictionaries:''
@@ -13,6 +13,10 @@
 	^ true
 !
 
+firstCharSet
+	^ PPCharSetPredicate on: [:char | char perform: message ] 	
+!
+
 message
 	
 	^ message
@@ -25,6 +29,10 @@
 
 prefix
 	^ #starPredicate
+!
+
+rewrite: changeStatus
+	"Nothing TODO"
 ! !
 
 !PPCStarMessagePredicateNode methodsFor:'as yet unclassified'!
@@ -59,12 +67,24 @@
  ^ compiler stopMethod.
 ! !
 
+!PPCStarMessagePredicateNode methodsFor:'comparing'!
+
+= anotherNode
+	super = anotherNode ifFalse: [ ^ false ].
+	^ message = anotherNode message.
+!
+
+hash
+	^ super hash bitXor: message hash
+! !
+
 !PPCStarMessagePredicateNode methodsFor:'optimizing'!
 
 asFast
 	^ PPCTokenStarMessagePredicateNode new
 		name: name;
 		message: message;
+		child: child;
 		yourself
 ! !