'From Cuis 1.0 of 28 November 2009 [latest update: #337] on 8 December 2009 at 9:21:04 am'!

!NonClosureEncoder methodsFor: 'encoding' stamp: 'jmv 12/7/2009 23:18'!
encodeSelector: aSelector

	^self
		name: aSelector
		key: aSelector
		class: NonClosureSelectorNode
		type: SendType
		set: selectorSet! !

!NonClosureEncoder methodsFor: 'temps' stamp: 'jmv 12/7/2009 23:28'!
bindTemp: name 
	"Declare a temporary; error not if a field or class variable."
	scopeTable at: name ifPresent: [ :node |
		"When non-interactive raise the error only if its a duplicate"
		(node isTemp or: [ requestor interactive ])
			ifTrue: [ ^self notify: 'Name is already defined' ]
			ifFalse: [
				Transcript
					show: '(', class name, ' : ', name, ' is shadowed)';
					cr;
					show: (requestor notificationStringFor: 'Name is already defined');
					cr;cr ]].
	^self reallyBind: name! !


!NonClosureParser methodsFor: 'error handling' stamp: 'jmv 12/7/2009 23:16'!
notificationStringFor: aString
	| location |
	location _ prevMark + requestorOffset.
	^source contents
		copyReplaceFrom: location
		to: location - 1
		with: aString , ' ->'! !

