Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FASTJavaArrayInitializer>>#initializers should be considered multivalued in the meta description #210

Open
Gabriel-Darbord opened this issue Dec 21, 2023 · 4 comments

Comments

@Gabriel-Darbord
Copy link
Member

Gabriel-Darbord commented Dec 21, 2023

With @jecisc we would expect this attribute to be generated as a slot, but it uses the lazy attribute dictionary mechanism instead.
We also expect the generated property to indicate that it is multivalued.

Generator:

	((javaArrayInitializer property: #initializers) comment:
		 'My initializers')
	<>-* ((tExpression property: #javaArrayInitializers) comment:
			 'The owner of the expression').

Generated:

initializers
	"Relation named: #initializers type: #FASTTExpression opposite: #javaArrayInitializers"

	<generated>
	<FMComment: 'My initializers'>
	<derived>
	<FMProperty: #initializers type: #FASTTExpression opposite: #javaArrayInitializers>
	^ self attributeAt: #initializers ifAbsentPut: [ FMMultivalueLink on: self opposite: #javaArrayInitializers: ]

Description:
image

@jecisc
Copy link
Member

jecisc commented Dec 21, 2023

@badetitou Do you have an idea why this does not generate a slot?

@badetitou
Copy link
Member

FASTTExpression is part of the fast metamodel
Et FastJavaArrayInitializer is part of the fast java metamodel

So the relation cannot be represented using a slot. Because in case you load only the fast project you would have a slot that is bind to nothing ( because fastjava is not loaded )

If I remember well the major concern is to not have dirty packages and avoid unsatisfied relationship

@Gabriel-Darbord
Copy link
Member Author

Also, I don't get why it isn't "multivalued".

@jecisc
Copy link
Member

jecisc commented Dec 21, 2023

Oh, I missed that FASTExpression was not in the same MM since both started with FAST. Thanks Benoit :)

But yes, there is also the bug of the multivalued.

I'll rename the issue

@jecisc jecisc changed the title FASTJavaArrayInitializer>>#initializers should generate a slot FASTJavaArrayInitializer>>#initializers should be considered multivalued in the meta description Dec 21, 2023
Gabriel-Darbord added a commit to moosetechnology/Famix-Value that referenced this issue Jan 9, 2024
moosetechnology/FAST-JAVA#210 is blocking further progress on this front
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants