> On Sep 7, 2018, at 6:27 PM, Sven Barth via fpc-devel > <fpc-devel@lists.freepascal.org> wrote: > > tcallcandidates in htypechk.pas is your friend. That is the *only* class that > deals with overload resolution and collects the eligible overloads from > various sources (e.g. loaded units, current type, helper types). Essentially > you only need to search for a procsym with the name of method inside the > default field (all proceeds with the same name share the same procsym) and > pass that on, the remainder of tcallcandidates will deal with overload > resolution (you only need to make sure that the correct "Self", namely the > default field is picked for that). >
Thanks, I got this working. Just a general question. Can you clarify the difference between “tloadnode”, “tsubscriptnode” and “tcallnode”? I want to make sure I’m using them correctly. I ask because I’m trying to parse: wrapper + 1 { wrapper being a record with a default property } “wrapper” is being parsed as a load node but I want to convert it to “wrapper.helper” by appending the default property. I found I can make a new subscript node using the existing load node but is that the preferred method? p1:=csubscriptnode.create(default_property,p1); { p1 being the load node for “wrapper” } Regards, Ryan Joseph _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel