diff options
author | paul <paul@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-08-24 10:54:17 +0000 |
---|---|---|
committer | paul <paul@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2011-08-24 10:54:17 +0000 |
commit | 9e3bf7f292327df86302cab6d8d86f971114a3df (patch) | |
tree | 980d45cc147d16251c110debe2a5a760b9adc30a /compiler/pbase.pas | |
parent | 8d34dfca39c05c24cfc27dd5ee358fb7ca13b2a7 (diff) | |
download | fpc-9e3bf7f292327df86302cab6d8d86f971114a3df.tar.gz |
compiler: use try_consume_unitsym for except variable parse. this is needed to reduce maintenance cost for later unit identifier search changes
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@18826 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/pbase.pas')
-rw-r--r-- | compiler/pbase.pas | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/pbase.pas b/compiler/pbase.pas index 62c7f3d195..38cf1962ee 100644 --- a/compiler/pbase.pas +++ b/compiler/pbase.pas @@ -88,7 +88,7 @@ interface 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 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; @@ -191,7 +191,7 @@ implementation end; searchsym(pattern,srsym,srsymtable); { 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 assigned(srsym) then check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg) @@ -224,7 +224,7 @@ implementation end; searchsym(pattern,srsym,srsymtable); { 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 assigned(srsym) then check_hints(srsym,srsym.symoptions,srsym.deprecatedmsg) @@ -240,10 +240,11 @@ implementation 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 hmodule: tmodule; begin + // TODO: dot units result:=false; tokentoconsume:=_ID; if assigned(srsym) and @@ -260,7 +261,8 @@ implementation internalerror(201001120); if hmodule.unit_index=current_filepos.moduleindex then begin - consume(_ID); + if consume_id then + consume(_ID); consume(_POINT); case token of _ID: |