Skip to content

Commit

Permalink
Merge pull request #635 from moosetechnology/parametric
Browse files Browse the repository at this point in the history
Parametric
  • Loading branch information
LABSARI authored Jan 25, 2024
2 parents dbf7ae7 + ab145e8 commit f002895
Show file tree
Hide file tree
Showing 43 changed files with 1,555 additions and 844 deletions.
43 changes: 43 additions & 0 deletions src/Famix-Java-Entities/FamixJavaConcretisation.class.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
"
## Relations
======================
### Association source
| Relation | Origin | Opposite | Type | Comment |
| `genericEntity` | `FamixTConcretisation` | `concretisations` | `FamixTParametricEntity` | genericEntity linked to in this relationship. from-side of the association|
### Association target
| Relation | Origin | Opposite | Type | Comment |
| `concreteEntity` | `FamixTConcretisation` | `genericEntity` | `FamixTParametricEntity` | concreteEntity linked to in this relationship. to-side of the association|
### Other
| Relation | Origin | Opposite | Type | Comment |
| `next` | `FamixTAssociation` | `previous` | `FamixTAssociation` | Next association in an ordered collection of associations. Currently not supported by the Moose importer|
| `parameterConcretisations` | `FamixTConcretisation` | `concretisations` | `FamixTParameterConcretisation` | |
| `previous` | `FamixTAssociation` | `next` | `FamixTAssociation` | Previous association in an ordered collection of associations. Currently not supported by the Moose importer|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|
## Properties
======================
| Name | Type | Default value | Comment |
| `isStub` | `Boolean` | false | Flag true if the entity attributes are incomplete, either because the entity is missing or not imported.|
"
Class {
#name : #FamixJavaConcretisation,
#superclass : #FamixJavaEntity,
#traits : 'FamixTConcretisation',
#classTraits : 'FamixTConcretisation classTrait',
#category : #'Famix-Java-Entities-Entities'
}

{ #category : #meta }
FamixJavaConcretisation class >> annotation [

<FMClass: #Concretisation super: #FamixJavaEntity>
<package: #'Famix-Java-Entities'>
<generated>
^ self
]
6 changes: 3 additions & 3 deletions src/Famix-Java-Entities/FamixJavaException.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
### Other
| Relation | Origin | Opposite | Type | Comment |
| `annotationInstances` | `FamixTWithAnnotationInstances` | `annotatedEntity` | `FamixTAnnotationInstance` | This property corresponds to the set of annotations associated to the entity|
| `catchingEntities` | `FamixTException` | `caughtExceptions` | `FamixTWithExceptions` | |
| `catchingEntities` | `FamixTThrowable` | `caughtExceptions` | `FamixTWithExceptions` | |
| `comments` | `FamixTWithComments` | `commentedEntity` | `FamixTComment` | List of comments for the entity|
| `declaringEntities` | `FamixTException` | `declaredExceptions` | `FamixTWithExceptions` | |
| `declaringEntities` | `FamixTThrowable` | `declaredExceptions` | `FamixTWithExceptions` | |
| `receivingInvocations` | `FamixTInvocationsReceiver` | `receiver` | `FamixTInvocation` | List of invocations performed on this entity (considered as the receiver)|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|
| `throwingEntities` | `FamixTException` | `thrownExceptions` | `FamixTWithExceptions` | |
| `throwingEntities` | `FamixTThrowable` | `thrownExceptions` | `FamixTWithExceptions` | |
| `typedEntities` | `FamixTType` | `declaredType` | `FamixTTypedEntity` | Entities that have this type as declaredType|
Expand Down
68 changes: 48 additions & 20 deletions src/Famix-Java-Entities/FamixJavaImportingContext.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ FamixJavaImportingContext >> importComment [
^ self importConcreteEntity: (self class fm3ClassNamed: #Comment)
]

{ #category : #importing }
FamixJavaImportingContext >> importConcretisation [

<generated>
^ self importAssociation: (self class fm3ClassNamed: #Concretisation)
]

{ #category : #importing }
FamixJavaImportingContext >> importEnum [

Expand Down Expand Up @@ -170,38 +177,38 @@ FamixJavaImportingContext >> importParameter [
]

{ #category : #importing }
FamixJavaImportingContext >> importParameterType [
FamixJavaImportingContext >> importParameterConcretisation [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterType)
^ self importAssociation: (self class fm3ClassNamed: #ParameterConcretisation)
]

{ #category : #importing }
FamixJavaImportingContext >> importParameterizableClass [
FamixJavaImportingContext >> importParameterType [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterizableClass)
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterType)
]

{ #category : #importing }
FamixJavaImportingContext >> importParameterizableException [
FamixJavaImportingContext >> importParametricClass [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterizableException)
^ self importConcreteEntity: (self class fm3ClassNamed: #ParametricClass)
]

{ #category : #importing }
FamixJavaImportingContext >> importParameterizableInterface [
FamixJavaImportingContext >> importParametricInterface [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterizableInterface)
^ self importConcreteEntity: (self class fm3ClassNamed: #ParametricInterface)
]

{ #category : #importing }
FamixJavaImportingContext >> importParameterizedType [
FamixJavaImportingContext >> importParametricMethod [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #ParameterizedType)
^ self importConcreteEntity: (self class fm3ClassNamed: #ParametricMethod)
]

{ #category : #importing }
Expand Down Expand Up @@ -253,6 +260,13 @@ FamixJavaImportingContext >> importUnknownVariable [
^ self importConcreteEntity: (self class fm3ClassNamed: #UnknownVariable)
]

{ #category : #importing }
FamixJavaImportingContext >> importWildcard [

<generated>
^ self importConcreteEntity: (self class fm3ClassNamed: #Wildcard)
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportAccess [

Expand Down Expand Up @@ -309,6 +323,13 @@ FamixJavaImportingContext >> shouldImportComment [
^ self shouldImport: #Comment
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportConcretisation [

<generated>
^ self shouldImport: #Concretisation
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportEnum [

Expand Down Expand Up @@ -408,38 +429,38 @@ FamixJavaImportingContext >> shouldImportParameter [
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportParameterType [
FamixJavaImportingContext >> shouldImportParameterConcretisation [

<generated>
^ self shouldImport: #ParameterType
^ self shouldImport: #ParameterConcretisation
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportParameterizableClass [
FamixJavaImportingContext >> shouldImportParameterType [

<generated>
^ self shouldImport: #ParameterizableClass
^ self shouldImport: #ParameterType
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportParameterizableException [
FamixJavaImportingContext >> shouldImportParametricClass [

<generated>
^ self shouldImport: #ParameterizableException
^ self shouldImport: #ParametricClass
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportParameterizableInterface [
FamixJavaImportingContext >> shouldImportParametricInterface [

<generated>
^ self shouldImport: #ParameterizableInterface
^ self shouldImport: #ParametricInterface
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportParameterizedType [
FamixJavaImportingContext >> shouldImportParametricMethod [

<generated>
^ self shouldImport: #ParameterizedType
^ self shouldImport: #ParametricMethod
]

{ #category : #testing }
Expand Down Expand Up @@ -490,3 +511,10 @@ FamixJavaImportingContext >> shouldImportUnknownVariable [
<generated>
^ self shouldImport: #UnknownVariable
]

{ #category : #testing }
FamixJavaImportingContext >> shouldImportWildcard [

<generated>
^ self shouldImport: #Wildcard
]
6 changes: 3 additions & 3 deletions src/Famix-Java-Entities/FamixJavaMethod.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@
### Other
| Relation | Origin | Opposite | Type | Comment |
| `caughtExceptions` | `FamixTWithExceptions` | `catchingEntities` | `FamixTException` | The exceptions caught by the method|
| `caughtExceptions` | `FamixTWithExceptions` | `catchingEntities` | `FamixTThrowable` | The exceptions caught by the method|
| `comments` | `FamixTWithComments` | `commentedEntity` | `FamixTComment` | List of comments for the entity|
| `declaredExceptions` | `FamixTWithExceptions` | `declaringEntities` | `FamixTException` | The exceptions declared by the method|
| `declaredExceptions` | `FamixTWithExceptions` | `declaringEntities` | `FamixTThrowable` | The exceptions declared by the method|
| `declaredType` | `FamixTTypedEntity` | `typedEntities` | `FamixTType` | Type of the entity, if any|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|
| `thrownExceptions` | `FamixTWithExceptions` | `throwingEntities` | `FamixTException` | The exceptions thrown by the method|
| `thrownExceptions` | `FamixTWithExceptions` | `throwingEntities` | `FamixTThrowable` | The exceptions thrown by the method|
## Properties
Expand Down
43 changes: 43 additions & 0 deletions src/Famix-Java-Entities/FamixJavaParameterConcretisation.class.st
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
"
## Relations
======================
### Association source
| Relation | Origin | Opposite | Type | Comment |
| `genericParameter` | `FamixTParameterConcretisation` | `concretisations` | `FamixTGenericParameterType` | genericParameter linked to in this relationship. from-side of the association|
### Association target
| Relation | Origin | Opposite | Type | Comment |
| `concreteParameter` | `FamixTParameterConcretisation` | `generics` | `FamixTConcreteParameterType` | concreteParameter linked to in this relationship. to-side of the association|
### Other
| Relation | Origin | Opposite | Type | Comment |
| `concretisations` | `FamixTParameterConcretisation` | `parameterConcretisations` | `FamixTConcretisation` | |
| `next` | `FamixTAssociation` | `previous` | `FamixTAssociation` | Next association in an ordered collection of associations. Currently not supported by the Moose importer|
| `previous` | `FamixTAssociation` | `next` | `FamixTAssociation` | Previous association in an ordered collection of associations. Currently not supported by the Moose importer|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|
## Properties
======================
| Name | Type | Default value | Comment |
| `isStub` | `Boolean` | false | Flag true if the entity attributes are incomplete, either because the entity is missing or not imported.|
"
Class {
#name : #FamixJavaParameterConcretisation,
#superclass : #FamixJavaEntity,
#traits : 'FamixTParameterConcretisation',
#classTraits : 'FamixTParameterConcretisation classTrait',
#category : #'Famix-Java-Entities-Entities'
}

{ #category : #meta }
FamixJavaParameterConcretisation class >> annotation [

<FMClass: #ParameterConcretisation super: #FamixJavaEntity>
<package: #'Famix-Java-Entities'>
<generated>
^ self
]
41 changes: 39 additions & 2 deletions src/Famix-Java-Entities/FamixJavaParameterType.class.st
Original file line number Diff line number Diff line change
@@ -1,8 +1,45 @@
"
## Relations
======================
### Parents
| Relation | Origin | Opposite | Type | Comment |
| `typeContainer` | `FamixTType` | `types` | `FamixTWithTypes` | Container entity to which this type belongs. Container is a namespace, not a package (Smalltalk).|
### Outgoing dependencies
| Relation | Origin | Opposite | Type | Comment |
| `concretisations` | `FamixTGenericParameterType` | `genericParameter` | `FamixTParameterConcretisation` | concretisations relationships, i.e. known concretisation of this type.|
| `superInheritances` | `FamixTWithInheritances` | `subclass` | `FamixTInheritance` | Superinheritance relationships, i.e. known superclasses of this type.|
### Incoming dependencies
| Relation | Origin | Opposite | Type | Comment |
| `incomingReferences` | `FamixTReferenceable` | `referredType` | `FamixTReference` | References to this entity by other entities.|
| `subInheritances` | `FamixTWithInheritances` | `superclass` | `FamixTInheritance` | Subinheritance relationships, i.e. known subclasses of this type.|
### Other
| Relation | Origin | Opposite | Type | Comment |
| `catchingEntities` | `FamixTThrowable` | `caughtExceptions` | `FamixTWithExceptions` | |
| `declaredType` | `FamixTTypedEntity` | `typedEntities` | `FamixTType` | Type of the entity, if any|
| `declaringEntities` | `FamixTThrowable` | `declaredExceptions` | `FamixTWithExceptions` | |
| `genericEntities` | `FamixTGenericParameterType` | `genericParameters` | `FamixTParametricEntity` | genericEntity of a parameter|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|
| `throwingEntities` | `FamixTThrowable` | `thrownExceptions` | `FamixTWithExceptions` | |
| `typedEntities` | `FamixTType` | `declaredType` | `FamixTTypedEntity` | Entities that have this type as declaredType|
## Properties
======================
| Name | Type | Default value | Comment |
| `isStub` | `Boolean` | false | Flag true if the entity attributes are incomplete, either because the entity is missing or not imported.|
| `name` | `String` | nil | Basic name of the entity, not full reference.|
"
Class {
#name : #FamixJavaParameterType,
#superclass : #FamixJavaType,
#traits : 'FamixTParameterType',
#classTraits : 'FamixTParameterType classTrait',
#traits : 'FamixTGenericParameterType + FamixTThrowable + FamixTTypedEntity + FamixTWithInheritances',
#classTraits : 'FamixTGenericParameterType classTrait + FamixTThrowable classTrait + FamixTTypedEntity classTrait + FamixTWithInheritances classTrait',
#category : #'Famix-Java-Entities-Entities'
}

Expand Down
54 changes: 0 additions & 54 deletions src/Famix-Java-Entities/FamixJavaParameterizableClass.class.st

This file was deleted.

Loading

0 comments on commit f002895

Please sign in to comment.