{ tcodegenerator }
procedure tcodegenerator.generate(members: tlist; output: ttextstream);
var
i: integer;
begin
{写入类定义 }
output.writeline('tsample = class (tobject)');
{好! 加入代码生成器的访问者}
visitor := tcodegenerationvisitor.create;
try
{记住为访问都提供上下文,以便更好的访问visitxxx方法。}
for i := 0 to members.count - 1 do
{ 代码的具体段,好事情发生了}
tmember(members[i]).acceptmembervisitor(visitor);
finally
visitor.free;
end;
{类成员的代码生成完毕}
output.writeline('end;');