Ah yes!!!!
Good point!
I forgot this point.
Would it make sense to have a check as follows?
complexPropertyPragmas
| navProps definedProps |
self mooseDescription ifNil: [ Error signal: 'Moose description are not initialized.
Have you refreshed the meta-model? (e.g., MooseModel resetMeta)' ].
navProps := (Pragma allNamed: #navigation: from: self class to: MooseEntity)
sorted: [ :a :b | (a argumentAt: 1) < (b argumentAt: 1) ].
definedProps := (self mooseDescription allAttributes reject: [ :a | a type isPrimitive
])
flatCollect: [ :prop |
(prop mmClass implementingClass >> prop implementingSelector) pragmas
select: [ :each | each keyword beginsWith: 'MSEProperty:' ] ].
^ (OrderedCollection withAll: definedProps)
addAll: navProps;
yourself
I can commit.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Mar 12, 2015, at 12:16 PM, Tudor Girba
<tudor(a)tudorgirba.com> wrote:
Yes, that's enough. But, if you created these classes from scratch, you should also
ensure that you refresh the meta-model :).
You can do it from the menu of the Meta Browser, or you can just execute:
MooseModel resetMeta
Doru
On Thu, Mar 12, 2015 at 3:58 PM, Alexandre Bergel <alexandre.bergel(a)me.com
<mailto:alexandre.bergel@me.com>> wrote:
Hi!
I am building a small meta-models for c++ analysis.
I have created a class called PCPPFunction, a subclass of MooseEntity. (I know there is a
FAMIXFunction, but the PCPPFunction is radically different from FAMIXFunction because if
contains many information about dynamic analysis).
When I visualize instance of PCPPFunction, and I click on one, I get an error:
<Screen Shot 2015-03-12 at 11.53.08 AM.png>
I guess I did not properly define the metamodel behind. But I do not see what is wrong.
Here are the definitions:
PCPPObject class>>annotation
<MSEClass: #PCPPObject super: #MooseEntity>
<package: #ProfilerCPP>
^ self
PCPPFunction class>>annotation
<MSEClass: #PCPPFunction super: #PCPPObject>
<package: #ProfilerCPP>
^ self
Is this not enough? Why is there a call to mooseDescription? Help appreciated
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu <http://www.bergel.eu/>
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
<https://www.iam.unibe.ch/mailman/listinfo/moose-dev>
--
www.tudorgirba.com <http://www.tudorgirba.com/>
"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev