Comments (2)
May be I misunderstood the issue, but concretization can be a tree (even if it is rare):
If you have a generic with 2 type parameters (like Map<K,V>
), then you can have a partial concretization where you specify only type (ex: MapStrings<V> extends MAP<String,V>
), and then a complete concretization of this one.
from famix.
In the scenario you describe, there is an inheritance relationship between two concretizations:
A concretization tree always has a height of at most two, because an entity that is concrete can never also be generic in another concretization relation.
The following never happens:
There is always a single generic entity, and possibly several concrete entities:
The genericEntity
method will always return the generic entity (the root) in a concretization relation.
This is what this method was intended to do, so this closes the issue.
Finding the root entity through multiple relations is more complicated, and most convenience methods don't take concretizations into account, see #718.
from famix.
Related Issues (20)
- Rework #numberOfComments? HOT 4
- Asking if an entity is a child or a parent of another entity HOT 5
- remove #flag: from FamixMetamodelBuilder >> getTraitNamed: HOT 1
- clarify baseline HOT 2
- It should not be possible to tag an entity several times HOT 3
- FamixJavaVisitor is outdated HOT 1
- Bug annotation type added to package HOT 2
- asOrderedCollection can't be used correctly for getting targets HOT 1
- Questions on Generics meta-model
- MooseGroup do not understand message `#collectWithIndex:`
- Why TComment uses TEntityMetaLevelDependency HOT 2
- add methods #newClassNamed: to FamixMetamodelGenerator
- Port new Generic modeling to FamixCpp
- Example method is not FamixJavaParametricMethod according to the documentation HOT 2
- simplify MooseObject>>#attributeAt: / #cacheAt: / propertyAt: HOT 7
- FamixStAttribute>>isSharedVariable is volatile
- CyclomaticComplexity of Pharo importer HOT 1
- Should FamixTFile be able to hold source text? HOT 1
- #mooseDescription not working with some entities with submetamodel HOT 2
- Generated methods in extension models are not cleaned by cleaner
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from famix.