begin
case instance.methodkind of
mkconstructor: mkstr := 'constructor';
mkdestructor: mkstr := 'destructor';
mkprocedure: mkstr := 'procedure';
mkfuntion: mkstr := 'function';
end;
if instance.methodkind = mkfunction then
dtstr := ': ' + instance.dataname
else
dtstr := '';
{代码不完整,现足以演示tmethod代码生成 }
output.writelnfmt(' %s %s%s%s;'
[mkstr, instance.name, instance.parameters, dtstr]);
end;
procedure tcodegenerationvisitor.visitproperty(instance: tproperty);
begin
output.writelnfmt(' property %s: %s read %s write %s;',
[instance.name, instance.dataname,
instance.readspecifier, instance.writespecifier]);
end;