compiler/PPCASTUtilities.st
changeset 518 a6d8b93441b0
parent 516 3b81c9e53352
child 544 69b6f2f0df1d
equal deleted inserted replaced
517:9a7fa841f12e 518:a6d8b93441b0
    42     ].
    42     ].
    43 
    43 
    44     self withAllVariableNodesOf: anRBBlockNode  do: [ :node | 
    44     self withAllVariableNodesOf: anRBBlockNode  do: [ :node | 
    45         (allDefinedVarNames includes: node name) ifFalse:[ 
    45         (allDefinedVarNames includes: node name) ifFalse:[ 
    46             (allInstVarNames includes: node name) ifTrue:[
    46             (allInstVarNames includes: node name) ifTrue:[
    47                 PPCCompilationError new signalWith: 'code refers to an instance variable named `',node name,'`'.
    47                 PPCCompilationError new signal: 'code refers to an instance variable named `',node name,'`'.
    48                 ^ self.
    48                 ^ self.
    49             ].
    49             ].
    50             (allClassVarNames includes: node name) ifTrue:[
    50             (allClassVarNames includes: node name) ifTrue:[
    51                 PPCCompilationError new signalWith: 'code refers to a class variable named `',node name,'`'.
    51                 PPCCompilationError new signal: 'code refers to a class variable named `',node name,'`'.
    52                 ^ self.
    52                 ^ self.
    53             ].
    53             ].
    54             (Smalltalk includesKey: node name asSymbol) ifFalse:[ 
    54             (Smalltalk includesKey: node name asSymbol) ifFalse:[ 
    55                 PPCCompilationError new signalWith: 'code refers to an unknown variable named `',node name,'`'.
    55                 PPCCompilationError new signalWith: 'code refers to an unknown variable named `',node name,'`'.
    56                 ^ self.                    
    56                 ^ self.                    
    71         PPCCompilationError new signalWith: 'code contains a super-send'.
    71         PPCCompilationError new signalWith: 'code contains a super-send'.
    72         ^ self
    72         ^ self
    73     ].
    73     ].
    74 
    74 
    75     "Created: / 27-07-2015 / 12:15:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    75     "Created: / 27-07-2015 / 12:15:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    76     "Modified: / 27-07-2015 / 14:43:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    76     "Modified: / 17-08-2015 / 13:49:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    77 ! !
    77 ! !
    78 
    78 
    79 !PPCASTUtilities methodsFor:'enumerating'!
    79 !PPCASTUtilities methodsFor:'enumerating'!
    80 
    80 
    81 withAllMessageNodesOf: anRBProgramNode do: aBlock
    81 withAllMessageNodesOf: anRBProgramNode do: aBlock