Browse Source

patched 3rd parameter of CONNECT for ActiveCells3

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6350 8c9fc860-2736-0410-a75d-ab315db34111
felixf 9 years ago
parent
commit
379c1897bc
1 changed files with 4 additions and 3 deletions
  1. 4 3
      source/FoxSemanticChecker.Mod

+ 4 - 3
source/FoxSemanticChecker.Mod

@@ -1,3 +1,4 @@
+
 MODULE FoxSemanticChecker; (* AUTHOR "fof & fn"; PURPOSE "Oberon Compiler: Semantic Checker"; *)
 (* (c) fof ETHZ 2009 *)
 
@@ -5879,11 +5880,11 @@ TYPE
 					END;
 
 					IF numberActualParameters = 3 THEN
-						IF IsIntegerValue(parameter2,i0) & (i0>=0) THEN
-							parameter2.SetResolved(SyntaxTree.NewIntegerValue(position,ABS(i0)));
-						ELSE
+						IF ~cellsAreObjects & ~IsIntegerValue(parameter2,i0) & (i0>=0) THEN
 							Error(position,Diagnostics.Invalid,"incompatible channel size parameter");
 						END;
+						parameter2 := NewConversion(Diagnostics.Invalid,parameter2,system.longintType,NIL);
+						actualParameters.SetExpression(2,parameter2);
 					END;
 
 					activeCellsStatement := TRUE;