moosetechnology / Famix

An abstract representation of source code. Famix is generic and can describe applications in multiple programming languages.
MIT License
13 stars 23 forks source link

Should add a pragma to differentiate properties in slots and in #entityAttributes #821

Open NicolasAnquetil opened 1 day ago

NicolasAnquetil commented 1 day ago

Moose entities have properties implemented in slots, for example:

FamixTMethod
    slots: { #parentType => FMOne type: #FamixTWithMethods opposite: #methods };

and other properties imlemented in their entityAttributes

MooseEntity >> allTagAssociations
    <FMProperty: #allTagAssociations type: #FamixTagAssociation opposite: #entity 
       ...
    ^ self attributeAt: #allTagAssociations ifAbsentPut: [ ... ]

when dealing with slots like in Orion, it is important to differentiate both because the first uses a slot and not the second.

I propose to put a new pragma that could be tested through a method in FM3Property

NicolasAnquetil commented 1 day ago

proposed name for the pragma: <isExtension> ?