AFAIK you need to submit a ".patch" file with your changes against the most recent trunk revision to the bugtracker (with the category set to "patch", obviously.) I doubt it'll get considered seriously or looked at at all otherwise. For what it's worth, I did do a checkout of your branch and then a merge to get everything fully up to date, and when I went to do a full-tree build (compiler, RTL, everything) it raised a nonsensical error in the FCL-XML package in the "dom-html.pp" file, complaining that a call to GetItem for one of the list classes there didn't have enough parameters (which is not true.)
That function was being read from through a property, so it seems like you may possibly have broken something somewhere. On Fri, Oct 19, 2018 at 12:01 PM Ryan Joseph <r...@thealchemistguild.com> wrote: > I finally finished what I think is first draft of default properties. > Since it already took me so much time to just get the basics of the > compiler figured out I thought I’d post this commit from GitHub and ask if > I did anything seriously wrong or stupid. There are multiple ways I could > approach this problem but I may have not achieved it a proper way > considering the architecture of the compiler, which I admittedly don’t > understand well. > > How should I present for consideration at this stage? If anyone on the > compiler team can look at the commit to tell me anything that would be > helpful, or let me know if you need this in some other form that you could > actually compile (I understand the compiler uses svn but I only know git). > I have some demos of the basics mostly working but I have > questions/problems I wasn’t able to solve on my own. > > > https://github.com/genericptr/freepascal/commit/e2992620e2e85d1100f60d13472571b8ebbf0bac > > Here’s an example test in case people forgot what this was about. > > ====================================================================== > > program default_property_test_16; > uses > fgl; > > type > generic TAuto<T> = record > m_object: T; > property obj: T read m_object; default; > class operator Initialize(var a: TAuto); > class operator Finalize(var a: TAuto); > end; > > type > TObjectAuto = specialize TAuto<TObject>; > TStringList = specialize TFPGList<String>; > TStringListAuto = specialize TAuto<TStringList>; > > class operator TAuto.Initialize(var a: TAuto); > begin > a.m_object := T.Create; > end; > > class operator TAuto.Finalize(var a: TAuto); > begin > a.m_object.Free; > end; > > var > list: TStringListAuto; > str: string; > i: integer; > begin > list.Add('foo'); > list.Add('bar'); > for str in list do > writeln(str); > for i := 0 to list.count - 1 do > writeln(list[i]); > end. > > Regards, > Ryan Joseph > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal