1
0
Selaa lähdekoodia

Do not reference `window' in SemanticAnalyzer

Nicolas Petton 12 vuotta sitten
vanhempi
commit
c5ec3b2969
3 muutettua tiedostoa jossa 625 lisäystä ja 633 poistoa
  1. 309 315
      js/Compiler-Semantic.deploy.js
  2. 309 315
      js/Compiler-Semantic.js
  3. 7 3
      st/Compiler-Semantic.st

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 309 - 315
js/Compiler-Semantic.deploy.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 309 - 315
js/Compiler-Semantic.js


+ 7 - 3
st/Compiler-Semantic.st

@@ -408,12 +408,16 @@ errorShadowingVariable: aString
 errorUnknownVariable: aNode
 errorUnknownVariable: aNode
 	"Throw an error if the variable is undeclared in the global JS scope (i.e. window)"
 	"Throw an error if the variable is undeclared in the global JS scope (i.e. window)"
 
 
-	(window at: aNode value) 
-		ifNil: [ 
+	| notDefined |
+
+	notDefined := <eval('typeof ' + aNode._value() + ' == "undefined"')>.
+
+	notDefined
+		ifTrue: [ 
 			UnknownVariableError new
 			UnknownVariableError new
 				variableName: aNode value;
 				variableName: aNode value;
 				signal ]
 				signal ]
-		ifNotNil: [
+		ifFalse: [
 			currentScope methodScope unknownVariables add: aNode value. ]
 			currentScope methodScope unknownVariables add: aNode value. ]
 ! !
 ! !
 
 

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä