* fixed more line numering output

* proper error message for generic methods not found
* fix small bug in replaying

git-svn-id: trunk@5121 -
This commit is contained in:
florian 2006-10-31 13:17:36 +00:00
parent 59e2c82080
commit a3a650ee73
2 changed files with 28 additions and 16 deletions

View File

@ -1693,18 +1693,19 @@ implementation
begin begin
if hp.deftype=procdef then if hp.deftype=procdef then
begin begin
if not( if assigned(tprocdef(hp).genericdef) and
assigned(tprocdef(hp).genericdef) and (tprocdef(hp).genericdef.deftype=procdef) and
(tprocdef(hp).genericdef.deftype=procdef) and assigned(tprocdef(tprocdef(hp).genericdef).generictokenbuf) then
assigned(tprocdef(tprocdef(hp).genericdef).generictokenbuf) begin
) then oldcurrent_filepos:=current_filepos;
internalerror(200512111); current_filepos:=tprocdef(tprocdef(hp).genericdef).fileinfo;
oldcurrent_filepos:=current_filepos; current_tokenpos:=current_filepos;
current_filepos:=tprocdef(tprocdef(hp).genericdef).fileinfo; current_scanner.startreplaytokens(tprocdef(tprocdef(hp).genericdef).generictokenbuf);
current_tokenpos:=current_filepos; read_proc_body(nil,tprocdef(hp));
current_scanner.startreplaytokens(tprocdef(tprocdef(hp).genericdef).generictokenbuf); current_filepos:=oldcurrent_filepos;
read_proc_body(nil,tprocdef(hp)); end
current_filepos:=oldcurrent_filepos; else
MessagePos1(tprocdef(tprocdef(hp).genericdef).fileinfo,sym_e_forward_not_resolved,tprocdef(tprocdef(hp).genericdef).fullprocname(false));
end; end;
hp:=tdef(hp.indexnext); hp:=tdef(hp.indexnext);
end; end;

View File

@ -1946,7 +1946,9 @@ In case not, the value returned can be arbitrary.
{ load token from the buffer } { load token from the buffer }
replaytokenbuf.read(token,1); replaytokenbuf.read(token,1);
if token=_ID then if token=_ID then
replaytokenbuf.read(idtoken,1); replaytokenbuf.read(idtoken,1)
else
idtoken:=_NOID;
case token of case token of
_CWCHAR, _CWCHAR,
_CWSTRING : _CWSTRING :
@ -1978,11 +1980,20 @@ In case not, the value returned can be arbitrary.
ST_LOADSETTINGS: ST_LOADSETTINGS:
replaytokenbuf.read(current_settings,sizeof(current_settings)); replaytokenbuf.read(current_settings,sizeof(current_settings));
ST_LINE: ST_LINE:
replaytokenbuf.read(current_tokenpos.line,sizeof(current_tokenpos.line)); begin
replaytokenbuf.read(current_tokenpos.line,sizeof(current_tokenpos.line));
current_filepos:=current_tokenpos;
end;
ST_COLUMN: ST_COLUMN:
replaytokenbuf.read(current_tokenpos.column,sizeof(current_tokenpos.column)); begin
replaytokenbuf.read(current_tokenpos.column,sizeof(current_tokenpos.column));
current_filepos:=current_tokenpos;
end;
ST_FILEINDEX: ST_FILEINDEX:
replaytokenbuf.read(current_tokenpos.fileindex,sizeof(current_tokenpos.fileindex)); begin
replaytokenbuf.read(current_tokenpos.fileindex,sizeof(current_tokenpos.fileindex));
current_filepos:=current_tokenpos;
end;
else else
internalerror(2006103010); internalerror(2006103010);
end; end;