[Reflectivity] What are the #arguments?
Dear Marcus, I am wondering where to âdiscoverâ all the possible values for the #arguments: to pass to the MetaLink. Cheers, R
Hello, every one of these âreificationsâ are defined as a subclass of RFReification There is one subclass for every symbol (e.g. for #arguments, there is RFArgumentsReification). The class side method #key defines the exact symbol, while #nodes returns the AST node classes where this reification is available. I will make a full table soon that lists everything. Marcus
On 25 Sep 2015, at 09:36, roberto.minelli@usi.ch wrote:
Dear Marcus,
I am wondering where to âdiscoverâ all the possible values for the #arguments: to pass to the MetaLink.
Cheers, R
Thank you very much, Marcus! Concerning the table..we can do a method that lists the #availableReifications or something like that ;) For example, if I am interested in all the available reifications for an RBMethodNode I can do: RFReification subclasses select: [ :e | e nodes includesAny: RBMethodNode withAllSuperclasses ]. Cheers, Roby
On 25 Sep 2015, at 09:51, Marcus Denker <marcus.denker@inria.fr> wrote:
Hello,
every one of these âreificationsâ are defined as a subclass of RFReification
There is one subclass for every symbol (e.g. for #arguments, there is RFArgumentsReification). The class side method #key defines the exact symbol, while #nodes returns the AST node classes where this reification is available.
I will make a full table soon that lists everything.
Marcus
On 25 Sep 2015, at 09:36, roberto.minelli@usi.ch wrote:
Dear Marcus,
I am wondering where to âdiscoverâ all the possible values for the #arguments: to pass to the MetaLink.
Cheers, R
Good idea, I will add #availableReifications Marcus
On 25 Sep 2015, at 10:02, roberto.minelli@usi.ch wrote:
Thank you very much, Marcus!
Concerning the table..we can do a method that lists the #availableReifications or something like that ;)
For example, if I am interested in all the available reifications for an RBMethodNode I can do: RFReification subclasses select: [ :e | e nodes includesAny: RBMethodNode withAllSuperclasses ].
Cheers, Roby
On 25 Sep 2015, at 09:51, Marcus Denker <marcus.denker@inria.fr> wrote:
Hello,
every one of these âreificationsâ are defined as a subclass of RFReification
There is one subclass for every symbol (e.g. for #arguments, there is RFArgumentsReification). The class side method #key defines the exact symbol, while #nodes returns the AST node classes where this reification is available.
I will make a full table soon that lists everything.
Marcus
On 25 Sep 2015, at 09:36, roberto.minelli@usi.ch wrote:
Dear Marcus,
I am wondering where to âdiscoverâ all the possible values for the #arguments: to pass to the MetaLink.
Cheers, R
On 25 Sep 2015, at 13:02, Marcus Denker <marcus.denker@inria.fr> wrote:
Good idea, I will add #availableReifications
https://pharo.fogbugz.com/f/cases/16642/availableReifications-return-the-lis... <https://pharo.fogbugz.com/f/cases/16642/availableReifications-return-the-lis...> I decided to return the symbolic encoded that is used when setting up the links: testAvailableReifications self assert: (RBMessageNode new availableReifications includes: #receiver). self deny: (RBMessageNode new availableReifications includes: #value). self assert: ((ReflectivityExamples classVariableNamed: #ClassVar) availableReifications includes: #name). self deny: ((ReflectivityExamples classVariableNamed: #ClassVar) availableReifications includes: #selector). (ReflectivityExamples classVariableNamed: #ClassVar) availableReifications ==> "#(#value #name)â Marcus
participants (2)
-
Marcus Denker -
roberto.minelli@usi.ch