[fpc-pascal] Default properties first draft
operator97 at gmail.com
Sat Oct 20 23:37:03 CEST 2018
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 <ryan at thealchemistguild.com>
> 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.
> Here’s an example test in case people forgot what this was about.
> program default_property_test_16;
> 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);
> TObjectAuto = specialize TAuto<TObject>;
> TStringList = specialize TFPGList<String>;
> TStringListAuto = specialize TAuto<TStringList>;
> class operator TAuto.Initialize(var a: TAuto);
> a.m_object := T.Create;
> class operator TAuto.Finalize(var a: TAuto);
> list: TStringListAuto;
> str: string;
> i: integer;
> for str in list do
> for i := 0 to list.count - 1 do
> Ryan Joseph
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fpc-pascal