Browse Source

+ added class reference types of the architecture-specific t*def/t*sym
classes

git-svn-id: trunk@27396 -

Jonas Maebe 11 years ago
parent
commit
dae5d1ff62

+ 33 - 0
compiler/alpha/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/arm/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/avr/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/generic/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/i386/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(ti86absolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/i8086/symcpu.pas

@@ -33,88 +33,116 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(ti86absolutevarsym)
    protected
@@ -123,18 +151,23 @@ type
    public
     addrsegment : aword;
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/ia64/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/jvm/symcpu.pas

@@ -35,45 +35,59 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
    protected
@@ -87,6 +101,7 @@ type
     procedure deref;override;
     function getcopy: tstoreddef; override;
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
     { generated assembler code; used by JVM backend so it can afterwards
@@ -96,62 +111,80 @@ type
     function mangledname: TSymStr; override;
     destructor destroy; override;
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
     procedure set_externalname(const s: string); override;
     function mangledname: TSymStr; override;
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
     procedure set_mangledname(const s: TSymStr); override;
     function mangledname: TSymStr; override;
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/m68k/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/mips/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/powerpc/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/powerpc64/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/sparc/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation

+ 33 - 0
compiler/x86_64/symcpu.pas

@@ -32,103 +32,136 @@ type
   { defs }
   tcpufiledef = class(tfiledef)
   end;
+  tcpufiledefclass = class of tcpufiledef;
 
   tcpuvariantdef = class(tvariantdef)
   end;
+  tcpuvariantdefclass = class of tcpuvariantdef;
 
   tcpuformaldef = class(tformaldef)
   end;
+  tcpuformaldefclass = class of tcpuformaldef;
 
   tcpuforwarddef = class(tforwarddef)
   end;
+  tcpuforwarddefclass = class of tcpuforwarddef;
 
   tcpuundefineddef = class(tundefineddef)
   end;
+  tcpuundefineddefclass = class of tcpuundefineddef;
 
   tcpuerrordef = class(terrordef)
   end;
+  tcpuerrordefclass = class of tcpuerrordef;
 
   tcpupointerdef = class(tpointerdef)
   end;
+  tcpupointerdefclass = class of tcpupointerdef;
 
   tcpurecorddef = class(trecorddef)
   end;
+  tcpurecorddefclass = class of tcpurecorddef;
 
   tcpuimplementedinterface = class(timplementedinterface)
   end;
+  tcpuimplementedinterfaceclass = class of tcpuimplementedinterface;
 
   tcpuobjectdef = class(tobjectdef)
   end;
+  tcpuobjectdefclass = class of tcpuobjectdef;
 
   tcpuclassrefdef = class(tclassrefdef)
   end;
+  tcpuclassrefdefclass = class of tcpuclassrefdef;
 
   tcpuarraydef = class(tarraydef)
   end;
+  tcpuarraydefclass = class of tcpuarraydef;
 
   tcpuorddef = class(torddef)
   end;
+  tcpuorddefclass = class of tcpuorddef;
 
   tcpufloatdef = class(tfloatdef)
   end;
+  tcpufloatdefclass = class of tcpufloatdef;
 
   tcpuprocvardef = class(tprocvardef)
   end;
+  tcpuprocvardefclass = class of tcpuprocvardef;
 
   tcpuprocdef = class(tprocdef)
   end;
+  tcpuprocdefclass = class of tcpuprocdef;
 
   tcpustringdef = class(tstringdef)
   end;
+  tcpustringdefclass = class of tcpustringdef;
 
   tcpuenumdef = class(tenumdef)
   end;
+  tcpuenumdefclass = class of tcpuenumdef;
 
   tcpusetdef = class(tsetdef)
   end;
+  tcpusetdefclass = class of tcpusetdef;
 
   { syms }
   tcpulabelsym = class(tlabelsym)
   end;
+  tcpulabelsymclass = class of tcpulabelsym;
 
   tcpuunitsym = class(tunitsym)
   end;
+  tcpuunitsymclass = class of tcpuunitsym;
 
   tcpunamespacesym = class(tnamespacesym)
   end;
+  tcpunamespacesymclass = class of tcpunamespacesym;
 
   tcpuprocsym = class(tprocsym)
   end;
+  tcpuprocsymclass = class of tcpuprocsym;
 
   tcpuypesym = class(ttypesym)
   end;
+  tcpuypesymclass = class of tcpuypesym;
 
   tcpufieldvarsym = class(tfieldvarsym)
   end;
+  tcpufieldvarsymclass = class of tcpufieldvarsym;
 
   tcpulocalvarsym = class(tlocalvarsym)
   end;
+  tcpulocalvarsymclass = class of tcpulocalvarsym;
 
   tcpuparavarsym = class(tparavarsym)
   end;
+  tcpuparavarsymclass = class of tcpuparavarsym;
 
   tcpustaticvarsym = class(tstaticvarsym)
   end;
+  tcpustaticvarsymclass = class of tcpustaticvarsym;
 
   tcpuabsolutevarsym = class(tabsolutevarsym)
   end;
+  tcpuabsolutevarsymclass = class of tcpuabsolutevarsym;
 
   tcpupropertysym = class(tpropertysym)
   end;
+  tcpupropertysymclass = class of tcpupropertysym;
 
   tcpuconstsym = class(tconstsym)
   end;
+  tcpuconstsymclass = class of tcpuconstsym;
 
   tcpuenumsym = class(tenumsym)
   end;
+  tcpuenumsymclass = class of tcpuenumsym;
 
   tcpusyssym = class(tsyssym)
   end;
+  tcpusyssymclass = class of tcpusyssym;
 
 
 implementation