compiler/PPCTokenStarMessagePredicateNode.st
changeset 421 7e08b31e0dae
parent 392 9b297f0d949c
child 422 116d2b2af905
equal deleted inserted replaced
420:b2f2f15cef26 421:7e08b31e0dae
    11 
    11 
    12 asFast
    12 asFast
    13 	^ self
    13 	^ self
    14 !
    14 !
    15 
    15 
       
    16 asInlined
       
    17 	^ PPCInlineTokenStarMessagePredicateNode new
       
    18 		name: name;
       
    19 		message: message;
       
    20 		child: child;
       
    21 		yourself
       
    22 !
       
    23 
    16 compileWith: compiler effect: effect id: id
    24 compileWith: compiler effect: effect id: id
    17 	compiler startMethod: id.
    25 	compiler startMethod: id.
    18 	compiler add: '[ context peek ', message,' ] whileTrue: ['.
    26 	compiler add: '[ context peek ', message,' ] whileTrue: ['.
    19 	compiler indent.
    27 	compiler indent.
    20 	compiler add: 'context next'.
    28 	compiler add: 'context next'.
    21 	compiler indent.
    29 	compiler indent.
    22 	compiler dedent.
    30 	compiler dedent.
    23 	compiler add: '].'.
    31 	compiler add: '].'.
    24  ^ compiler stopMethod.
    32  ^ compiler stopMethod.
       
    33 !
       
    34 
       
    35 rewrite: changeStatus
       
    36 
       
    37 	(message = #isSeparator) ifTrue: [ 
       
    38 		changeStatus change.
       
    39 		^ PPCTokenStarSeparatorNode new
       
    40 			name: name;
       
    41 			child: child;
       
    42 			message: message;
       
    43 			yourself.
       
    44 	]
    25 ! !
    45 ! !
    26 
    46