|
@@ -88,7 +88,7 @@ interface
|
|
function consume_sym(var srsym:tsym;var srsymtable:TSymtable):boolean;
|
|
function consume_sym(var srsym:tsym;var srsymtable:TSymtable):boolean;
|
|
function consume_sym_orgid(var srsym:tsym;var srsymtable:TSymtable;var s : string):boolean;
|
|
function consume_sym_orgid(var srsym:tsym;var srsymtable:TSymtable;var s : string):boolean;
|
|
|
|
|
|
- function try_consume_unitsym(var srsym:tsym;var srsymtable:TSymtable;var tokentoconsume : ttoken):boolean;
|
|
|
|
|
|
+ function try_consume_unitsym(var srsym:tsym;var srsymtable:TSymtable;var tokentoconsume:ttoken;consume_id:boolean):boolean;
|
|
|
|
|
|
function try_consume_hintdirective(var symopt:tsymoptions; var deprecatedmsg:pshortstring):boolean;
|
|
function try_consume_hintdirective(var symopt:tsymoptions; var deprecatedmsg:pshortstring):boolean;
|
|
|
|
|
|
@@ -191,7 +191,7 @@ implementation
|
|
end;
|
|
end;
|
|
searchsym(pattern,srsym,srsymtable);
|
|
searchsym(pattern,srsym,srsymtable);
|
|
{ handle unit specification like System.Writeln }
|
|
{ handle unit specification like System.Writeln }
|
|
- try_consume_unitsym(srsym,srsymtable,t);
|
|
|
|
|
|
+ try_consume_unitsym(srsym,srsymtable,t,true);
|
|
{ if nothing found give error and return errorsym }
|
|
{ if nothing found give error and return errorsym }
|
|
if assigned(srsym) then
|
|
if assigned(srsym) then
|
|
check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg)
|
|
check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg)
|
|
@@ -224,7 +224,7 @@ implementation
|
|
end;
|
|
end;
|
|
searchsym(pattern,srsym,srsymtable);
|
|
searchsym(pattern,srsym,srsymtable);
|
|
{ handle unit specification like System.Writeln }
|
|
{ handle unit specification like System.Writeln }
|
|
- try_consume_unitsym(srsym,srsymtable,t);
|
|
|
|
|
|
+ try_consume_unitsym(srsym,srsymtable,t,true);
|
|
{ if nothing found give error and return errorsym }
|
|
{ if nothing found give error and return errorsym }
|
|
if assigned(srsym) then
|
|
if assigned(srsym) then
|
|
check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg)
|
|
check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg)
|
|
@@ -240,10 +240,11 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function try_consume_unitsym(var srsym:tsym;var srsymtable:TSymtable;var tokentoconsume : ttoken):boolean;
|
|
|
|
|
|
+ function try_consume_unitsym(var srsym:tsym;var srsymtable:TSymtable;var tokentoconsume:ttoken;consume_id:boolean):boolean;
|
|
var
|
|
var
|
|
hmodule: tmodule;
|
|
hmodule: tmodule;
|
|
begin
|
|
begin
|
|
|
|
+ // TODO: dot units
|
|
result:=false;
|
|
result:=false;
|
|
tokentoconsume:=_ID;
|
|
tokentoconsume:=_ID;
|
|
if assigned(srsym) and
|
|
if assigned(srsym) and
|
|
@@ -260,7 +261,8 @@ implementation
|
|
internalerror(201001120);
|
|
internalerror(201001120);
|
|
if hmodule.unit_index=current_filepos.moduleindex then
|
|
if hmodule.unit_index=current_filepos.moduleindex then
|
|
begin
|
|
begin
|
|
- consume(_ID);
|
|
|
|
|
|
+ if consume_id then
|
|
|
|
+ consume(_ID);
|
|
consume(_POINT);
|
|
consume(_POINT);
|
|
case token of
|
|
case token of
|
|
_ID:
|
|
_ID:
|