compiler/PPCAbstractPredicateNode.st
changeset 438 20598d7ce9fa
parent 422 116d2b2af905
child 452 9f4558b3be66
equal deleted inserted replaced
437:54b3bc9e3987 438:20598d7ce9fa
    33 
    33 
    34 firstCharSet
    34 firstCharSet
    35 	^ PPCharSetPredicate on: predicate
    35 	^ PPCharSetPredicate on: predicate
    36 ! !
    36 ! !
    37 
    37 
    38 !PPCAbstractPredicateNode methodsFor:'comparison'!
    38 !PPCAbstractPredicateNode methodsFor:'comparing'!
    39 
    39 
    40 = anotherNode
    40 = anotherNode
    41 	super = anotherNode ifFalse: [ ^ false ].
    41 	super = anotherNode ifFalse: [ ^ false ].
    42 	^ predicate = anotherNode predicate.
    42 	^ predicate = anotherNode predicate.
    43 !
    43 !
    46 	^ super hash bitXor: predicate hash
    46 	^ super hash bitXor: predicate hash
    47 ! !
    47 ! !
    48 
    48 
    49 !PPCAbstractPredicateNode methodsFor:'compiling'!
    49 !PPCAbstractPredicateNode methodsFor:'compiling'!
    50 
    50 
    51 bodyOfPredicate: compiler
       
    52 	self subclassResponsibility
       
    53 !
       
    54 
       
    55 compileWith: compiler effect: effect id: id
       
    56 	compiler startMethod: id.
       
    57 	compiler add: '^'.
       
    58 	self bodyOfPredicate: compiler.
       
    59  ^ compiler stopMethod.
       
    60 !
       
    61 
       
    62 extendClassification: classification
    51 extendClassification: classification
    63 	^ (classification asOrderedCollection addLast: false; yourself) asArray
    52 	^ (classification asOrderedCollection addLast: false; yourself) asArray
    64 ! !
    53 ! !
    65 
    54 
    66 !PPCAbstractPredicateNode methodsFor:'initialization'!
       
    67 
       
    68 initialize
       
    69 	super initialize.
       
    70 ! !
       
    71 
       
    72 !PPCAbstractPredicateNode methodsFor:'optimizing'!
       
    73 
       
    74 asInlined
       
    75 	^ super asInlined
       
    76 ! !
       
    77