Bläddra i källkod

Corrected fingerprinting (led to wrong operator overloading)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7503 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 år sedan
förälder
incheckning
274f1c7d17
1 ändrade filer med 4 tillägg och 7 borttagningar
  1. 4 7
      source/FoxFingerPrinter.Mod

+ 4 - 7
source/FoxFingerPrinter.Mod

@@ -100,6 +100,8 @@ CONST
 	fpTypeComplex = 24;
 	fpTypeLongcomplex = 25;
 	fpTypeModule=26;
+	fpTypeSize=27;
+	fpTypeAddress=28;
 
 	fpTypeBasic=1;
 	fpTypeStaticArray=2;
@@ -201,17 +203,12 @@ TYPE
 
 		PROCEDURE VisitAddressType(x: SyntaxTree.AddressType);
 		BEGIN
-			SetTypeFingerprint(x,fpTypePointer)
+			SetTypeFingerprint(x,fpTypeAddress)
 		END VisitAddressType;
 
 		PROCEDURE VisitSizeType(x: SyntaxTree.SizeType);
 		BEGIN
-			IF x.sizeInBits=8 THEN SetTypeFingerprint(x,fpTypeShortint)
-			ELSIF x.sizeInBits = 16 THEN SetTypeFingerprint(x,fpTypeInteger)
-			ELSIF x.sizeInBits = 32 THEN SetTypeFingerprint(x,fpTypeLongint)
-			ELSIF x.sizeInBits = 64 THEN SetTypeFingerprint(x,fpTypeHugeint)
-			ELSE HALT(100)
-			END;
+			SetTypeFingerprint(x, fpTypeSize); 
 		END VisitSizeType;
 
 		PROCEDURE VisitObjectType(x: SyntaxTree.ObjectType);