Browse Source

* more browser details

pierre 26 years ago
parent
commit
acaa9296b7
2 changed files with 17 additions and 3 deletions
  1. 10 1
      compiler/pstatmnt.pas
  2. 7 2
      compiler/psub.pas

+ 10 - 1
compiler/pstatmnt.pas

@@ -831,6 +831,7 @@ unit pstatmnt;
           classh : pobjectdef;
           pd,pd2 : pdef;
           store_valid : boolean;
+          destructorpos,storepos : tfileposinfo;
           tt : ttreetyp;
         begin
           ht:=token;
@@ -868,6 +869,7 @@ unit pstatmnt;
                    { function styled new is handled in factor }
                    { destructors have no parameters }
                    destrukname:=pattern;
+                   destructorpos:=tokenpos;
                    consume(_ID);
 
                    pd:=p^.resulttype;
@@ -902,7 +904,11 @@ unit pstatmnt;
                         exit;
                      end;
                    { search cons-/destructor, also in parent classes }
+                   storepos:=tokenpos;
+                   tokenpos:=destructorpos;
                    sym:=search_class_member(classh,pattern);
+                   tokenpos:=storepos;
+
                    { the second parameter of new/dispose must be a call }
                    { to a cons-/destructor                              }
                    if (not assigned(sym)) or (sym^.typ<>procsym) then
@@ -1320,7 +1326,10 @@ unit pstatmnt;
 end.
 {
   $Log$
-  Revision 1.107  1999-11-09 13:02:46  peter
+  Revision 1.108  1999-11-10 00:24:02  pierre
+   * more browser details
+
+  Revision 1.107  1999/11/09 13:02:46  peter
     * fixed 'raise end;'
 
   Revision 1.106  1999/11/06 14:34:23  peter

+ 7 - 2
compiler/psub.pas

@@ -100,7 +100,7 @@ var sp:stringid;
     hs:string;
     st : psymtable;
     overloaded_level:word;
-    procstartfilepos : tfileposinfo;
+    storepos,procstartfilepos : tfileposinfo;
 begin
 { Save the position where this procedure really starts and set col to 1 which
   looks nicer }
@@ -123,9 +123,11 @@ begin
 { method ? }
   if not(parse_only) and try_to_consume(_POINT) then
    begin
+     storepos:=tokenpos;
      tokenpos:=procstartfilepos;
      getsym(sp,true);
      sym:=srsym;
+     tokenpos:=storepos;
      { load proc name }
      sp:=pattern;
      realname:=orgpattern;
@@ -1907,7 +1909,10 @@ end.
 
 {
   $Log$
-  Revision 1.33  1999-11-09 23:43:08  pierre
+  Revision 1.34  1999-11-10 00:24:02  pierre
+   * more browser details
+
+  Revision 1.33  1999/11/09 23:43:08  pierre
    * better browser info
 
   Revision 1.32  1999/11/09 23:06:45  peter