Kaynağa Gözat

Patched problem with nested record

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8338 8c9fc860-2736-0410-a75d-ab315db34111
felixf 6 yıl önce
ebeveyn
işleme
2f1795e2f6
1 değiştirilmiş dosya ile 3 ekleme ve 3 silme
  1. 3 3
      source/FoxSemanticChecker.Mod

+ 3 - 3
source/FoxSemanticChecker.Mod

@@ -7707,6 +7707,9 @@ TYPE
 			withPart.SetType(type);
 			variableType := variable.type.resolved;
 
+			WHILE variable IS SyntaxTree.TypeGuardDesignator DO
+				variable := variable(SyntaxTree.TypeGuardDesignator).left(SyntaxTree.Designator);
+			END;
 
 			IF (type.resolved = SyntaxTree.invalidType) OR (variableType = SyntaxTree.invalidType) THEN (* error already reported *)
 			ELSIF ~(type.resolved = variableType) & ~IsExtensibleDesignator(variable) THEN
@@ -7760,9 +7763,6 @@ TYPE
 			
 			variable := ResolveDesignator(withStatement.variable);
 			withStatement.SetVariable(variable);
-			WHILE variable IS SyntaxTree.TypeGuardDesignator DO
-				variable := variable(SyntaxTree.TypeGuardDesignator).left(SyntaxTree.Designator);
-			END;
 
 
 			FOR i := 0 TO withStatement.WithParts()-1 DO