Răsfoiți Sursa

display set elements > 31 in case of 64-bit binaries

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6620 8c9fc860-2736-0410-a75d-ab315db34111
eth.guenter 9 ani în urmă
părinte
comite
40228e1372
1 a modificat fișierele cu 7 adăugiri și 5 ștergeri
  1. 7 5
      source/Reflection.Mod

+ 7 - 5
source/Reflection.Mod

@@ -502,7 +502,7 @@ VAR
 
 	PROCEDURE WriteSimpleVar( w: Streams.Writer;  adr, type, tdadr: ADDRESS;  VAR col: LONGINT );
 	VAR ch: CHAR;  sval: SHORTINT;  ival: INTEGER;  lval: LONGINT;  rval: REAL; xval: LONGREAL; hval : HUGEINT;
-		address: ADDRESS; pos0: LONGINT;
+		address: ADDRESS; pos0: LONGINT; setval: SET;
 	BEGIN
 		pos0 := w.Pos();
 		IF (adr # 0) OR (type = 22) THEN
@@ -549,11 +549,13 @@ VAR
 					w.String(")");
 			| 16:   (* HUGEINT *)
 					SYSTEM.GET( adr , hval );
-					w.Hex(hval,1);
-					IF hval < 0 THEN w.String( "H (" ); w.Hex(hval,-16); w.String(")") END;
+					IF hval = 0 THEN  w.Char( '0' ); 
+					ELSIF hval > 0 THEN  w.Hex( hval, 1 ); w.Char( 'H' )
+					ELSE w.Hex( hval, -16 ); 
+					END;
 			| 9:    (* SET *)
-					SYSTEM.GET( adr, lval );
-					w.Set( SYSTEM.VAL( SET, lval ) );
+					SYSTEM.GET( adr, setval );
+					w.Set( setval );
 			| 22:  (* RECORD *)
 					w.String( "Rec@" );  w.Hex( tdadr, -8 );  w.Char( "H" );
 			| 14:  (* PROC *)