Răsfoiți Sursa

Removed convenience type definition

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8514 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 ani în urmă
părinte
comite
042f72f577
1 a modificat fișierele cu 21 adăugiri și 24 ștergeri
  1. 21 24
      source/FoxFingerprinter.Mod

+ 21 - 24
source/FoxFingerprinter.Mod

@@ -129,12 +129,10 @@ CONST
 	Trace=FALSE;
 
 TYPE
-	Fingerprint = SyntaxTree.Fingerprint;
-
 	Fingerprinter*= OBJECT (SyntaxTree.Visitor)
 	VAR
 		fp-: LONGINT; (* temporary fingerprint for values etc. *)
-		fingerprint: Fingerprint;
+		fingerprint: SyntaxTree.Fingerprint;
 		deep: BOOLEAN; (* public / private field of FP needed ? *)
 		traceLevel: LONGINT;
 
@@ -156,7 +154,7 @@ TYPE
 		END VisitBasicType;
 
 		PROCEDURE SetTypeFingerprint(x: SyntaxTree.Type; fp: LONGINT);
-		VAR fingerprint: Fingerprint;
+		VAR fingerprint: SyntaxTree.Fingerprint;
 		BEGIN
 			fingerprint := x.fingerprint;
 			IF ~fingerprint.shallowAvailable THEN
@@ -280,7 +278,7 @@ TYPE
 			fp enumeration type
 		**)
 		PROCEDURE VisitEnumerationType*(x: SyntaxTree.EnumerationType);
-		VAR fingerprint: Fingerprint; enumerator: SyntaxTree.Constant; fp: LONGINT;
+		VAR fingerprint: SyntaxTree.Fingerprint; enumerator: SyntaxTree.Constant; fp: LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -334,7 +332,7 @@ TYPE
 		PrivateFP(ArrayType)       = FP(arrayType).
 		*)
 		PROCEDURE VisitArrayType*(x: SyntaxTree.ArrayType);
-		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			IF Trace THEN TraceEnter("ArrayType") END;
 			fingerprint := x.fingerprint;
@@ -383,7 +381,7 @@ TYPE
 		PrivateFP(MathArrayType)   = FP(arrayType).
 		*)
 		PROCEDURE VisitMathArrayType*(x: SyntaxTree.MathArrayType);
-		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -524,7 +522,7 @@ TYPE
 		PrivateFP(PortType)     = 0.
 		*)
 		PROCEDURE VisitPortType*(x: SyntaxTree.PortType);
-		VAR fingerprint: Fingerprint; fp: LONGINT; deep: BOOLEAN;
+		VAR fingerprint: SyntaxTree.Fingerprint; fp: LONGINT; deep: BOOLEAN;
 		BEGIN
 			IF Trace THEN TraceEnter("PortType");  END;
 			fingerprint := x.fingerprint;
@@ -553,7 +551,7 @@ TYPE
 		FP(Method)  = 0 <*> fpModeMethod -> Name(methodName) -> Signature(method).
 		*)
 		PROCEDURE FPrintMethod(VAR private,public: LONGINT; procedure,body: SyntaxTree.Procedure);
-		VAR fingerprint: Fingerprint; fp: LONGINT; name: ARRAY 256 OF CHAR;
+		VAR fingerprint: SyntaxTree.Fingerprint; fp: LONGINT; name: ARRAY 256 OF CHAR;
 		BEGIN
 			IF Trace THEN TraceEnter("Method");
 				D.Address(SYSTEM.VAL(ADDRESS,procedure));
@@ -591,7 +589,7 @@ TYPE
 		END FPrintMethod;
 
 		PROCEDURE VisitCellType*(x: SyntaxTree.CellType);
-		VAR fingerprint: Fingerprint; fp:LONGINT;
+		VAR fingerprint: SyntaxTree.Fingerprint; fp:LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -618,7 +616,7 @@ TYPE
 		*)
 		PROCEDURE VisitRecordType*(x: SyntaxTree.RecordType);
 		VAR scope: SyntaxTree.RecordScope; fp: LONGINT; variable: SyntaxTree.Variable;
-			fingerprint,variableFingerprint,variableTypeFingerprint,baseFingerprint: Fingerprint;flags: SET;
+			fingerprint,variableFingerprint,variableTypeFingerprint,baseFingerprint: SyntaxTree.Fingerprint;flags: SET;
 			symbol: SyntaxTree.Symbol; procedure: SyntaxTree.Procedure;  baseType: SyntaxTree.Type;
 			body: SyntaxTree.Body; name: ARRAY 256 OF CHAR;
 			deep: BOOLEAN;
@@ -765,7 +763,7 @@ TYPE
 		PrivateFP(ProcedureType)   = FP(arrayType)-> Signature(procedureType).
 		*)
 		PROCEDURE VisitProcedureType*(x: SyntaxTree.ProcedureType);
-		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			IF Trace THEN TraceEnter("ProcedureType") END;
 
@@ -980,8 +978,7 @@ TYPE
 		*)
 		PROCEDURE VisitTypeDeclaration*(x: SyntaxTree.TypeDeclaration);
 		VAR fp: LONGINT;
-			fingerprint: Fingerprint; deep: BOOLEAN;
-			typeFP: Fingerprint;
+			fingerprint, typeFP: SyntaxTree.Fingerprint; deep: BOOLEAN;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1025,7 +1022,7 @@ TYPE
 		*)
 		PROCEDURE VisitConstant*(x: SyntaxTree.Constant);
 		VAR access: SET;
-			fingerprint: Fingerprint;
+			fingerprint: SyntaxTree.Fingerprint;
 			fp: LONGINT;
 			deep: BOOLEAN;
 		BEGIN
@@ -1057,7 +1054,7 @@ TYPE
 			FP(VariableDeclaration)    = 0 <*> fpModePar -> Name -> Visibility <*> FP(Type).
 		*)
 		PROCEDURE VisitVariable*(x: SyntaxTree.Variable);
-		VAR fingerprint: Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
+		VAR fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1091,7 +1088,7 @@ TYPE
 			FP(ParameterDeclaration)    = 0 <*> fpModePar -> Name -> Visibility <*> FP(Type).
 		*)
 		PROCEDURE VisitParameter*(x: SyntaxTree.Parameter);
-		VAR fingerprint: Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
+		VAR fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1120,7 +1117,7 @@ TYPE
 		                            | 0 <*> fpModeExportedProcedure -> Name -> Visibility <*> FP(Type)
 		*)
 		PROCEDURE VisitProcedure*(x: SyntaxTree.Procedure);
-		VAR fp: LONGINT; access: SET; fingerprint: Fingerprint; deep: BOOLEAN; code: SyntaxTree.Code; i: LONGINT;
+		VAR fp: LONGINT; access: SET; fingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; code: SyntaxTree.Code; i: LONGINT;
 			size,value: LONGINT; name: ARRAY 256 OF CHAR;
 		BEGIN
 			IF x.scope IS SyntaxTree.RecordScope THEN (* method *)
@@ -1177,7 +1174,7 @@ TYPE
 		END VisitOperator;
 		
 		PROCEDURE VisitModule*(x: SyntaxTree.Module);
-		VAR fingerprint, symbolFingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT; symbol: SyntaxTree.Symbol; scope: SyntaxTree.ModuleScope;
+		VAR fingerprint, symbolFingerprint: SyntaxTree.Fingerprint; deep: BOOLEAN; fp: LONGINT; symbol: SyntaxTree.Symbol; scope: SyntaxTree.ModuleScope;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -1259,13 +1256,13 @@ TYPE
 			D.Ln;
 		END TraceEnter;
 
-		PROCEDURE TraceExit(CONST name: ARRAY OF CHAR; fingerprint: Fingerprint);
+		PROCEDURE TraceExit(CONST name: ARRAY OF CHAR; CONST fingerprint: SyntaxTree.Fingerprint);
 		BEGIN
 			TraceIndent; DEC(traceLevel);
 			D.Str("Exit "); D.Str(name); D.Str(" "); TraceFP(fingerprint); D.Ln;
 		END TraceExit;
 
-		PROCEDURE TraceFP(fingerprint: Fingerprint);
+		PROCEDURE TraceFP(CONST fingerprint: SyntaxTree.Fingerprint);
 		BEGIN
 			D.Hex(fingerprint.shallow,-8); D.Str(" "); D.Hex(fingerprint.private,-8);
 			D.Str(" "); D.Hex(fingerprint.public,-8);
@@ -1273,7 +1270,7 @@ TYPE
 
 
 		(* returns the finger print (object) of a type *)
-		PROCEDURE TypeFP*(this: SyntaxTree.Type): Fingerprint;
+		PROCEDURE TypeFP*(this: SyntaxTree.Type): SyntaxTree.Fingerprint;
 		VAR deep: BOOLEAN;
 		BEGIN
 			IF Trace THEN TraceEnter("TypeFP");  END;
@@ -1292,7 +1289,7 @@ TYPE
 		END TypeFP;
 
 		(* returns the finger print (object) of a symbol *)
-		PROCEDURE SymbolFP*(this: SyntaxTree.Symbol): Fingerprint;
+		PROCEDURE SymbolFP*(this: SyntaxTree.Symbol): SyntaxTree.Fingerprint;
 		VAR deep: BOOLEAN;
 		BEGIN
 			deep := SELF.deep;
@@ -1374,7 +1371,7 @@ TYPE
 		END
 	END FPVisibility;
 
-	PROCEDURE DumpFingerprint*(w: Streams.Writer; fp: Fingerprint);
+	PROCEDURE DumpFingerprint*(w: Streams.Writer; CONST fp: SyntaxTree.Fingerprint);
 	BEGIN
 		w.String("fingerprint: ");
 		w.String("shallow = "); w.Hex(fp.shallow,8);