瀏覽代碼

Treat resolved field (--> constant folding of conditions)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8391 8c9fc860-2736-0410-a75d-ab315db34111
felixf 6 年之前
父節點
當前提交
b494321b9f
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      source/FoxIntermediateBackend.Mod

+ 1 - 0
source/FoxIntermediateBackend.Mod

@@ -1844,6 +1844,7 @@ TYPE
 			leftExpression, rightExpression: SyntaxTree.Expression;
 			leftExpression, rightExpression: SyntaxTree.Expression;
 		BEGIN
 		BEGIN
 			ASSERT(label # NIL);
 			ASSERT(label # NIL);
+			IF (x.resolved # NIL) & (x.resolved # x) THEN Condition(x.resolved, label, reason); RETURN END;
 			WITH x: 
 			WITH x: 
 			SyntaxTree.UnaryExpression DO
 			SyntaxTree.UnaryExpression DO
 				CASE x.operator OF
 				CASE x.operator OF