'From Squeak5.3alpha of 13 August 2019 [latest update: #18757] on 14 September 2019 at 12:45:14 am'!

!Encoder methodsFor: 'initialize-release' stamp: 'ct 9/14/2019 00:09'!
initScopeAndLiteralTables

	scopeTable := StdVariables copy.
	litSet := StdLiterals copy.
	"comments can be left hanging on nodes from previous compilations.
	 probably better than this hack fix is to create the nodes afresh on each compilation."
	scopeTable do:
		[:varNode| varNode comment: nil].
	litSet do:
		[:varNode| varNode comment: nil].
	selectorSet := StdSelectors copy.
	litIndSet := Dictionary new: 16.
	literalStream := WriteStream on: (Array new: 32).
	addedExtraLiterals := false.
	optimizedSelectors := Set new.
	undeclaredTemps := OrderedCollection new.! !

!Encoder methodsFor: 'results' stamp: 'ct 9/14/2019 00:44'!
undeclaredTemps 
	^undeclaredTemps! !

!Encoder methodsFor: 'private' stamp: 'ct 9/14/2019 00:29'!
bindUndeclaredTemp: name
	| temp |
	temp := self newUndeclaredTemp: name.
	undeclaredTemps add: temp.
	^scopeTable at: name put: temp! !

