* fixed compile

This commit is contained in:
peter 2004-11-09 16:46:05 +00:00
parent b0afe9a351
commit 338155d396

View File

@ -771,7 +771,10 @@ var S: string;
begin begin
case Typ of case Typ of
abstractsym : S:='abst'; abstractsym : S:='abst';
varsym : S:='var'; fieldvarsym : S:='member';
globalvarsym,
localvarsym,
paravarsym : S:='var';
typesym : S:='type'; typesym : S:='type';
procsym : if VType=nil then procsym : if VType=nil then
S:='proc' S:='proc'
@ -784,7 +787,7 @@ begin
errorsym : S:='error'; errorsym : S:='error';
syssym : S:='sys'; syssym : S:='sys';
labelsym : S:='label'; labelsym : S:='label';
absolutesym : S:='abs'; absolutevarsym : S:='abs';
propertysym : S:='prop'; propertysym : S:='prop';
macrosym : S:='macro'; macrosym : S:='macro';
else S:=''; else S:='';
@ -1431,8 +1434,10 @@ end;
begin begin
New(Symbol, Init(Sym.Name,Sym.Typ,'',nil)); New(Symbol, Init(Sym.Name,Sym.Typ,'',nil));
case Sym.Typ of case Sym.Typ of
varsym : globalvarsym,
with tvarsym(sym) do localvarsym,
paravarsym :
with tabstractvarsym(sym) do
begin begin
if assigned(vartype.def) then if assigned(vartype.def) then
if assigned(vartype.def.typesym) then if assigned(vartype.def.typesym) then
@ -1447,13 +1452,15 @@ end;
Symbol^.Flags:=(Symbol^.Flags or sfPointer); Symbol^.Flags:=(Symbol^.Flags or sfPointer);
Symbol^.RelatedTypeID:=Ptrint(tpointerdef(vartype.def).pointertype.def); Symbol^.RelatedTypeID:=Ptrint(tpointerdef(vartype.def).pointertype.def);
end; end;
if Table.symtabletype in [recordsymtable,objectsymtable] then if typ=fieldvarsym then
MemInfo.Addr:=fieldoffset MemInfo.Addr:=tfieldvarsym(sym).fieldoffset
else else
if localloc.loc=LOC_REFERENCE then begin
MemInfo.Addr:=localloc.reference.offset if tabstractnormalvarsym(sym).localloc.loc=LOC_REFERENCE then
MemInfo.Addr:=tabstractnormalvarsym(sym).localloc.reference.offset
else else
MemInfo.Addr:=0; MemInfo.Addr:=0;
end;
if assigned(vartype.def) and (vartype.def.deftype=arraydef) then if assigned(vartype.def) and (vartype.def.deftype=arraydef) then
begin begin
if tarraydef(vartype.def).highrange<tarraydef(vartype.def).lowrange then if tarraydef(vartype.def).highrange<tarraydef(vartype.def).lowrange then
@ -1467,6 +1474,20 @@ end;
MemInfo.PushSize:=paramanager.push_size(varspez,vartype.def,pocall_default); MemInfo.PushSize:=paramanager.push_size(varspez,vartype.def,pocall_default);
Symbol^.SetMemInfo(MemInfo); Symbol^.SetMemInfo(MemInfo);
end; end;
fieldvarsym :
with tfieldvarsym(sym) do
begin
if assigned(vartype.def) and (vartype.def.deftype=arraydef) then
begin
if tarraydef(vartype.def).highrange<tarraydef(vartype.def).lowrange then
MemInfo.Size:=-1
else
MemInfo.Size:=getsize;
end
else
MemInfo.Size:=getsize;
Symbol^.SetMemInfo(MemInfo);
end;
constsym : constsym :
SetDType(Symbol,GetConstValueName(tconstsym(sym))); SetDType(Symbol,GetConstValueName(tconstsym(sym)));
enumsym : enumsym :
@ -1690,7 +1711,7 @@ begin
C^.Insert(P); C^.Insert(P);
if (P^.typ=typesym) then if (P^.typ=typesym) then
D^.Insert(P); D^.Insert(P);
if (P^.typ=varsym) and ((P^.flags and sfPointer)<>0) then if (P^.typ in [globalvarsym,localvarsym,paravarsym]) and ((P^.flags and sfPointer)<>0) then
E^.Insert(P); E^.Insert(P);
if P^.Items<>nil then if P^.Items<>nil then
InsertSymbolCollection(P^.Items); InsertSymbolCollection(P^.Items);
@ -2122,7 +2143,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.40 2004-10-14 16:53:26 mazen Revision 1.41 2004-11-09 16:46:05 peter
* fixed compile
Revision 1.40 2004/10/14 16:53:26 mazen
* use SysUtils unit instead of Dos Unit * use SysUtils unit instead of Dos Unit
+ overload Replace to use AnsiString + overload Replace to use AnsiString