|
@@ -642,6 +642,8 @@ interface
|
|
|
procedure Setinterfacedef(AValue: boolean);
|
|
|
function Gethasforward: boolean;
|
|
|
procedure Sethasforward(AValue: boolean);
|
|
|
+ function GetIsEmpty: boolean;
|
|
|
+ procedure SetIsEmpty(AValue: boolean);
|
|
|
public
|
|
|
messageinf : tmessageinf;
|
|
|
dispid : longint;
|
|
@@ -665,6 +667,7 @@ interface
|
|
|
funcretsymderef : tderef;
|
|
|
struct : tabstractrecorddef;
|
|
|
structderef : tderef;
|
|
|
+ implprocoptions: timplprocoptions;
|
|
|
{$if defined(powerpc) or defined(m68k)}
|
|
|
{ library symbol for AmigaOS/MorphOS }
|
|
|
libsym : tsym;
|
|
@@ -703,8 +706,6 @@ interface
|
|
|
{ set to a value different from tsk_none in case this procdef is for
|
|
|
a routine that has to be internally generated by the compiler }
|
|
|
synthetickind : tsynthetickind;
|
|
|
- { true, if the procedure contains no code }
|
|
|
- isempty: boolean;
|
|
|
constructor create(level:byte);
|
|
|
constructor ppuload(ppufile:tcompilerppufile);
|
|
|
destructor destroy;override;
|
|
@@ -768,6 +769,8 @@ interface
|
|
|
property interfacedef: boolean read Getinterfacedef write Setinterfacedef;
|
|
|
{ true if the procedure has a forward declaration }
|
|
|
property hasforward: boolean read Gethasforward write Sethasforward;
|
|
|
+ { true if the routine's body is empty }
|
|
|
+ property isempty: boolean read GetIsEmpty write SetIsEmpty;
|
|
|
end;
|
|
|
|
|
|
{ single linked list of overloaded procs }
|
|
@@ -4659,6 +4662,21 @@ implementation
|
|
|
end;
|
|
|
|
|
|
|
|
|
+ function tprocdef.GetIsEmpty: boolean;
|
|
|
+ begin
|
|
|
+ result:=pio_empty in implprocoptions;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tprocdef.SetIsEmpty(AValue: boolean);
|
|
|
+ begin
|
|
|
+ if AValue then
|
|
|
+ include(implprocoptions,pio_empty)
|
|
|
+ else
|
|
|
+ include(implprocoptions,pio_empty);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
procedure tprocdef.Setinterfacedef(AValue: boolean);
|
|
|
begin
|
|
|
if not assigned(implprocdefinfo) then
|
|
@@ -4788,7 +4806,7 @@ implementation
|
|
|
for i:=1 to aliasnamescount do
|
|
|
aliasnames.insert(ppufile.getstring);
|
|
|
|
|
|
- isempty:=ppufile.getbyte<>0;
|
|
|
+ ppufile.getsmallset(implprocoptions);
|
|
|
|
|
|
{ load para symtable }
|
|
|
parast:=tparasymtable.create(self,level);
|
|
@@ -4947,7 +4965,7 @@ implementation
|
|
|
item:=TCmdStrListItem(item.next);
|
|
|
end;
|
|
|
|
|
|
- ppufile.putbyte(ord(isempty));
|
|
|
+ ppufile.putsmallset(implprocoptions);
|
|
|
|
|
|
ppufile.do_crc:=oldintfcrc;
|
|
|
|