Skip to content

Commit

Permalink
Merge pull request #62 from moosetechnology/missing-aggregation-in-ge…
Browse files Browse the repository at this point in the history
…nerator

Missing aggregation in generator
  • Loading branch information
NicolasAnquetil authored Feb 28, 2024
2 parents 9c30d88 + 0f74b45 commit 69887e6
Show file tree
Hide file tree
Showing 28 changed files with 327 additions and 149 deletions.
13 changes: 11 additions & 2 deletions src/FAST-Core-Model/FASTEntity.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ any entity
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Class {
Expand All @@ -31,3 +33,10 @@ FASTEntity class >> metamodel [
<generated>
^ FASTModel metamodel
]

{ #category : #testing }
FASTEntity >> isQueryable [

<generated>
^ false
]
40 changes: 31 additions & 9 deletions src/FAST-Core-Model/FASTTAssignment.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,27 @@ A node representing an assignment
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
- Relation: #expression Type: #FASTTExpression Opposite: #assignedIn Comment: Assigned expression (rhs of assignment)
- Relation: #variable Type: #FASTTVariableEntity Opposite: #parentAssignmentExpression Comment: An assigned variable (lhs of assignment)
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
### Children
| Relation | Origin | Opposite | Type | Comment |
|---|
| `expression` | `FASTTAssignment` | `assignedIn` | `FASTTExpression` | Assigned expression (rhs of assignment)|
| `variable` | `FASTTAssignment` | `parentAssignmentExpression` | `FASTTVariableEntity` | An assigned variable (lhs of assignment)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down Expand Up @@ -56,6 +64,13 @@ FASTTAssignment >> expression: anObject [
expression := anObject
]

{ #category : #navigation }
FASTTAssignment >> expressionGroup [
<generated>
<navigation: 'Expression'>
^ MooseSpecializedGroup with: self expression
]

{ #category : #accessing }
FASTTAssignment >> variable [
"Relation named: #variable type: #FASTTVariableEntity opposite: #parentAssignmentExpression"
Expand All @@ -71,3 +86,10 @@ FASTTAssignment >> variable: anObject [
<generated>
variable := anObject
]

{ #category : #navigation }
FASTTAssignment >> variableGroup [
<generated>
<navigation: 'Variable'>
^ MooseSpecializedGroup with: self variable
]
13 changes: 9 additions & 4 deletions src/FAST-Core-Model/FASTTBehaviouralEntity.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,19 @@ Local variables are intended to be stored in the local entities of the body
======================
### Children
- Relation: #parameters Type: #FASTTVariableEntity Opposite: #parameterOwner Comment: My parameters
- Relation: #statementBlock Type: #FASTTStatementBlock Opposite: #fastBehaviouralParent Comment: Statements block of the behavioural entity
| Relation | Origin | Opposite | Type | Comment |
|---|
| `parameters` | `FASTTWithParameters` | `parameterOwner` | `FASTTVariableEntity` | My parameters|
| `statementBlock` | `FASTTBehaviouralEntity` | `fastBehaviouralParent` | `FASTTStatementBlock` | Statements block of the behavioural entity|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
18 changes: 11 additions & 7 deletions src/FAST-Core-Model/FASTTBinaryExpression.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,21 @@ A trait representing a binary expression of a node of a source code.
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
20 changes: 12 additions & 8 deletions src/FAST-Core-Model/FASTTBooleanLiteral.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ A boolean literal
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #primitiveValue Type: String Comment: The literal itself as found in the source code. We use primitiveValue in order to override value from Object
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `primitiveValue` | `String` | nil | The literal itself as found in the source code. We use primitiveValue in order to override value from Object|
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
20 changes: 12 additions & 8 deletions src/FAST-Core-Model/FASTTCharacterLiteral.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ A character literal
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #primitiveValue Type: String Comment: The literal itself as found in the source code. We use primitiveValue in order to override value from Object
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `primitiveValue` | `String` | nil | The literal itself as found in the source code. We use primitiveValue in order to override value from Object|
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
9 changes: 7 additions & 2 deletions src/FAST-Core-Model/FASTTComment.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@ FASTComment represents one instance of a comment (in the sense of programming la
======================
### Other
- Relation: #container Type: #FASTTWithComments Opposite: #comments Comment: Source code entity containing the comment
| Relation | Origin | Opposite | Type | Comment |
|---|
| `container` | `FASTTComment` | `comments` | `FASTTWithComments` | Source code entity containing the comment|
## Properties
======================
- Named: #content Type: String Comment: Content of the comment as a String
| Name | Type | Default value | Comment |
|---|
| `content` | `String` | nil | Content of the comment as a String|
"
Trait {
Expand Down
6 changes: 4 additions & 2 deletions src/FAST-Core-Model/FASTTEntity.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ any entity
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
26 changes: 19 additions & 7 deletions src/FAST-Core-Model/FASTTExpression.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,21 @@ An abstract superclass representing an expression node of a source code.
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down Expand Up @@ -70,6 +74,7 @@ FASTTExpression >> assignedIn [

<generated>
<FMComment: 'Optional assignment where this expression is used'>
<container>
<derived>
^ assignedIn
]
Expand All @@ -81,6 +86,13 @@ FASTTExpression >> assignedIn: anObject [
assignedIn := anObject
]

{ #category : #navigation }
FASTTExpression >> assignedInGroup [
<generated>
<navigation: 'AssignedIn'>
^ MooseSpecializedGroup with: self assignedIn
]

{ #category : #accessing }
FASTTExpression >> expressionStatementOwner [
"Relation named: #expressionStatementOwner type: #FASTTExpressionStatement opposite: #expression"
Expand Down
16 changes: 12 additions & 4 deletions src/FAST-Core-Model/FASTTExpressionStatement.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,23 @@ A node of a statement which is representing a single expression.
======================
### Parents
- Relation: #statementContainer Type: #FASTTStatementBlock Opposite: #statements Comment: Block containing this statement.
| Relation | Origin | Opposite | Type | Comment |
|---|
| `statementContainer` | `FASTTStatement` | `statements` | `FASTTStatementBlock` | Block containing this statement.|
### Children
- Relation: #expression Type: #FASTTExpression Opposite: #expressionStatementOwner Comment: The expression of the statement
| Relation | Origin | Opposite | Type | Comment |
|---|
| `expression` | `FASTTExpressionStatement` | `expressionStatementOwner` | `FASTTExpression` | The expression of the statement|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
32 changes: 23 additions & 9 deletions src/FAST-Core-Model/FASTTInvocation.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,27 @@ A invocation of a behavioural entity
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
### Children
- Relation: #arguments Type: #FASTTExpression Opposite: #argumentOwner Comment: My arguments
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
- Relation: #invoked Type: #FASTTNamedEntity Opposite: #invokedIn Comment: The name of the behavioural invoked
| Relation | Origin | Opposite | Type | Comment |
|---|
| `arguments` | `FASTTWithArguments` | `argumentOwner` | `FASTTExpression` | My arguments|
| `invoked` | `FASTTInvocation` | `invokedIn` | `FASTTNamedEntity` | The name of the behavioural invoked|
## Properties
======================
- Named: #endPos Type: Number
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down Expand Up @@ -55,3 +62,10 @@ FASTTInvocation >> invoked: anObject [
<generated>
invoked := anObject
]

{ #category : #navigation }
FASTTInvocation >> invokedGroup [
<generated>
<navigation: 'Invoked'>
^ MooseSpecializedGroup with: self invoked
]
20 changes: 12 additions & 8 deletions src/FAST-Core-Model/FASTTLiteral.trait.st
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,22 @@ FLAG: should refactor some literals to core-model
======================
### Parents
- Relation: #argumentOwner Type: #FASTTWithArguments Opposite: #arguments Comment: my owner
- Relation: #expressionStatementOwner Type: #FASTTExpressionStatement Opposite: #expression Comment: The expression statement that own me (if it's the case
- Relation: #returnOwner Type: #FASTTReturnStatement Opposite: #expression Comment: The return statement that own the expression (if it's the case)
### Other
- Relation: #assignedIn Type: #FASTTAssignment Opposite: #expression Comment: Optional assignment where this expression is used
| Relation | Origin | Opposite | Type | Comment |
|---|
| `argumentOwner` | `FASTTExpression` | `arguments` | `FASTTWithArguments` | my owner|
| `assignedIn` | `FASTTExpression` | `expression` | `FASTTAssignment` | Optional assignment where this expression is used|
| `expressionStatementOwner` | `FASTTExpression` | `expression` | `FASTTExpressionStatement` | The expression statement that own me (if it's the case|
| `returnOwner` | `FASTTExpression` | `expression` | `FASTTReturnStatement` | The return statement that own the expression (if it's the case)|
## Properties
======================
- Named: #endPos Type: Number
- Named: #primitiveValue Type: String Comment: The literal itself as found in the source code. We use primitiveValue in order to override value from Object
- Named: #startPos Type: Number
| Name | Type | Default value | Comment |
|---|
| `endPos` | `Number` | nil | |
| `primitiveValue` | `String` | nil | The literal itself as found in the source code. We use primitiveValue in order to override value from Object|
| `startPos` | `Number` | nil | |
"
Trait {
Expand Down
Loading

0 comments on commit 69887e6

Please sign in to comment.