Prechádzať zdrojové kódy

Patched parser bug with inline operators declared as procedure

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7002 8c9fc860-2736-0410-a75d-ab315db34111
felixf 8 rokov pred
rodič
commit
02eca83566
1 zmenil súbory, kde vykonal 3 pridanie a 2 odobranie
  1. 3 2
      source/FoxParser.Mod

+ 3 - 2
source/FoxParser.Mod

@@ -1866,6 +1866,7 @@ TYPE
 			isConstructor := FALSE; isFinalizer := FALSE; isInline := FALSE;
 
 			procedureType := SyntaxTree.NewProcedureType(symbol.position, parentScope);
+			position := symbol.position;
 
 			IF Optional( Scanner.Arrow) THEN (* ignore forward declarations *)
 				forwardDeclaration := TRUE;
@@ -1886,8 +1887,8 @@ TYPE
 			END;
 
 			IF Peek(Scanner.String) OR Peek(Scanner.Character)  THEN (* for compatibility with release *)
-				OperatorDeclaration( parentScope );  
-				procedure.SetInline(isInline);
+				OperatorDeclaration( parentScope );
+				IF isInline THEN Error(position, Diagnostics.Invalid, "Invalid inline operator syntax, replace procedure by operator") END;
 				RETURN
 			END;