Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc-uml/FamixTypeScript-traits.puml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion doc-uml/FamixTypeScript-traits.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion doc-uml/FamixTypeScript.puml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
@startumlhide empty membersskinparam class { BackgroundColor white ArrowColor black BorderColor darkGray}class ScriptEntity <<(C,white)>> #CCFFFF {}class File <<(C,white)>> #CCFFFF {}class TWithInterfaces <<(T,white)>> #CCFFFF {}class SourceTextAnchor <<(C,white)>> #CCFFFF {}class ScopingEntity <<(C,white)>> #CCFFFF {}class SourcedEntity <<(C,white)>> #CCFFFF {}class Enum <<(C,white)>> #CCFFFF {}class SourceLanguage <<(C,white)>> #CCFFFF {}class Decorator <<(C,white)>> #CCFFFF { String expression}class ContainerEntity <<(C,white)>> #CCFFFF {}class ArrowFunction <<(C,white)>> #CCFFFF {}class ImportClause <<(C,white)>> #CCFFFF {}class implicitVariable <<(C,white)>> #CCFFFF {}class Comment <<(C,white)>> #CCFFFF { Boolean isJSDoc}class Variable <<(C,white)>> #CCFFFF {}class IndexedFileAnchor <<(C,white)>> #CCFFFF {}class Concretization <<(C,white)>> #CCFFFF {}class Entity <<(C,white)>> #CCFFFF {}class StructuralEntity <<(C,white)>> #CCFFFF {}class Access <<(C,white)>> #CCFFFF {}class Alias <<(C,white)>> #CCFFFF {}class FamixTypeScriptModel <<(C,white)>> #CCFFFF {}class TClassMetrics <<(T,white)>> #CCFFFF {}class BehaviouralEntity <<(C,white)>> #CCFFFF {}class Implementation <<(C,white)>> #CCFFFF {}class Class <<(C,white)>> #CCFFFF {}class Inheritance <<(C,white)>> #CCFFFF {}class Function <<(C,white)>> #CCFFFF {}class ParametricClass <<(C,white)>> #CCFFFF {}class Invocation <<(C,white)>> #CCFFFF {}class ParametricInterface <<(C,white)>> #CCFFFF {}class Namespace <<(C,white)>> #CCFFFF {}class JSDoc <<(C,white)>> #CCFFFF {}class ParametricFunction <<(C,white)>> #CCFFFF {}class Accessor <<(C,white)>> #CCFFFF {}class Folder <<(C,white)>> #CCFFFF {}class TEntityCreator <<(T,white)>> #CCFFFF {}class Property <<(C,white)>> #CCFFFF { Boolean isJavaScriptPrivate Boolean isDefinitelyAssigned Boolean isOptional Boolean readOnly}class Interface <<(C,white)>> #CCFFFF {}class NamedEntity <<(C,white)>> #CCFFFF {}class ParametricArrowFunction <<(C,white)>> #CCFFFF {}class ParameterConcretization <<(C,white)>> #CCFFFF {}class Type <<(C,white)>> #CCFFFF {}class Reference <<(C,white)>> #CCFFFF {}class ParametricMethod <<(C,white)>> #CCFFFF {}class Module <<(C,white)>> #CCFFFF {}class EnumValue <<(C,white)>> #CCFFFF {}class Method <<(C,white)>> #CCFFFF {}class SourceAnchor <<(C,white)>> #CCFFFF {}class Parameter <<(C,white)>> #CCFFFF {}class PrimitiveType <<(C,white)>> #CCFFFF {}class ParameterType <<(C,white)>> #CCFFFF {}Type <|-- PrimitiveTypeType <|-- ParameterTypeScopingEntity <|-- ScriptEntityNamedEntity <|-- FileSourceAnchor <|-- SourceTextAnchorEntity <|-- SourcedEntityContainerEntity <|-- ScopingEntityType <|-- EnumEntity <|-- SourceLanguageNamedEntity <|-- DecoratorNamedEntity <|-- ContainerEntityBehaviouralEntity <|-- ArrowFunctionEntity <|-- ImportClauseSourceAnchor <|-- IndexedFileAnchorVariable <|-- implicitVariableSourcedEntity <|-- CommentStructuralEntity <|-- VariableEntity <|-- ConcretizationNamedEntity <|-- StructuralEntityEntity <|-- AccessNamedEntity <|-- AliasContainerEntity <|-- BehaviouralEntityEntity <|-- ImplementationType <|-- ClassBehaviouralEntity <|-- FunctionEntity <|-- InheritanceClass <|-- ParametricClassEntity <|-- InvocationInterface <|-- ParametricInterfaceScopingEntity <|-- NamespaceSourcedEntity <|-- JSDocNamedEntity <|-- FolderMethod <|-- AccessorFunction <|-- ParametricFunctionStructuralEntity <|-- PropertyType <|-- InterfaceSourcedEntity <|-- NamedEntityArrowFunction <|-- ParametricArrowFunctionContainerEntity <|-- TypeEntity <|-- ParameterConcretizationEntity <|-- ReferenceMethod <|-- ParametricMethodScriptEntity <|-- ModuleBehaviouralEntity <|-- MethodStructuralEntity <|-- EnumValueEntity <|-- SourceAnchorStructuralEntity <|-- ParameterTWithInterfaces <|.. ContainerEntityTEntityCreator <|.. FamixTypeScriptModelTClassMetrics <|.. ClassDecorator "decorators*" -- "decoratedEntity" NamedEntity@enduml
@startumlhide empty membersskinparam class { BackgroundColor white ArrowColor black BorderColor darkGray}class SourceLanguage <<(C,white)>> #CCFFFF {}class ParametricMethod <<(C,white)>> #CCFFFF {}class ParametricInterface <<(C,white)>> #CCFFFF {}class Decorator <<(C,white)>> #CCFFFF { String expression}class Parameter <<(C,white)>> #CCFFFF {}class SourcedEntity <<(C,white)>> #CCFFFF {}class NamedEntity <<(C,white)>> #CCFFFF {}class Class <<(C,white)>> #CCFFFF {}class Invocation <<(C,white)>> #CCFFFF {}class ParameterConcretization <<(C,white)>> #CCFFFF {}class BehaviouralEntity <<(C,white)>> #CCFFFF {}class Folder <<(C,white)>> #CCFFFF {}class FamixTypeScriptModel <<(C,white)>> #CCFFFF {}class TClassMetrics <<(T,white)>> #CCFFFF {}class Type <<(C,white)>> #CCFFFF {}class Comment <<(C,white)>> #CCFFFF { Boolean isJSDoc}class Function <<(C,white)>> #CCFFFF {}class Reference <<(C,white)>> #CCFFFF {}class ArrowFunction <<(C,white)>> #CCFFFF {}class Entity <<(C,white)>> #CCFFFF {}class Implementation <<(C,white)>> #CCFFFF {}class Access <<(C,white)>> #CCFFFF {}class Interface <<(C,white)>> #CCFFFF {}class EnumValue <<(C,white)>> #CCFFFF {}class ImportClause <<(C,white)>> #CCFFFF {}class Module <<(C,white)>> #CCFFFF {}class IndexedFileAnchor <<(C,white)>> #CCFFFF {}class Namespace <<(C,white)>> #CCFFFF {}class JSDoc <<(C,white)>> #CCFFFF {}class Enum <<(C,white)>> #CCFFFF {}class Alias <<(C,white)>> #CCFFFF {}class SourceTextAnchor <<(C,white)>> #CCFFFF {}class Variable <<(C,white)>> #CCFFFF {}class SourceAnchor <<(C,white)>> #CCFFFF {}class Concretization <<(C,white)>> #CCFFFF {}class ParametricArrowFunction <<(C,white)>> #CCFFFF {}class TWithInterfaces <<(T,white)>> #CCFFFF {}class Inheritance <<(C,white)>> #CCFFFF {}class TEntityCreator <<(T,white)>> #CCFFFF {}class ScopingEntity <<(C,white)>> #CCFFFF {}class ParametricClass <<(C,white)>> #CCFFFF {}class ContainerEntity <<(C,white)>> #CCFFFF {}class PrimitiveType <<(C,white)>> #CCFFFF {}class Accessor <<(C,white)>> #CCFFFF {}class ParametricFunction <<(C,white)>> #CCFFFF {}class Method <<(C,white)>> #CCFFFF {}class ParameterType <<(C,white)>> #CCFFFF {}class ScriptEntity <<(C,white)>> #CCFFFF {}class Property <<(C,white)>> #CCFFFF { Boolean isOptional Boolean readOnly Boolean isDefinitelyAssigned Boolean isJavaScriptPrivate}class implicitVariable <<(C,white)>> #CCFFFF {}class StructuralEntity <<(C,white)>> #CCFFFF {}class File <<(C,white)>> #CCFFFF {}Entity <|-- SourceLanguageNamedEntity <|-- FileMethod <|-- ParametricMethodInterface <|-- ParametricInterfaceNamedEntity <|-- DecoratorStructuralEntity <|-- ParameterEntity <|-- SourcedEntitySourcedEntity <|-- NamedEntityType <|-- ClassEntity <|-- InvocationEntity <|-- ParameterConcretizationContainerEntity <|-- BehaviouralEntityNamedEntity <|-- FolderContainerEntity <|-- TypeSourcedEntity <|-- CommentBehaviouralEntity <|-- FunctionEntity <|-- ReferenceBehaviouralEntity <|-- ArrowFunctionEntity <|-- ImplementationEntity <|-- AccessStructuralEntity <|-- EnumValueType <|-- InterfaceEntity <|-- ImportClauseScriptEntity <|-- ModuleSourceAnchor <|-- IndexedFileAnchorScopingEntity <|-- NamespaceSourcedEntity <|-- JSDocNamedEntity <|-- AliasSourceAnchor <|-- SourceTextAnchorStructuralEntity <|-- VariableType <|-- EnumEntity <|-- ConcretizationEntity <|-- SourceAnchorArrowFunction <|-- ParametricArrowFunctionEntity <|-- InheritanceContainerEntity <|-- ScopingEntityClass <|-- ParametricClassNamedEntity <|-- ContainerEntityType <|-- PrimitiveTypeMethod <|-- AccessorFunction <|-- ParametricFunctionScopingEntity <|-- ScriptEntityType <|-- ParameterTypeBehaviouralEntity <|-- MethodStructuralEntity <|-- PropertyVariable <|-- implicitVariableNamedEntity <|-- StructuralEntityTClassMetrics <|.. ClassTEntityCreator <|.. FamixTypeScriptModelTWithInterfaces <|.. ContainerEntityDecorator "decorators*" -- "decoratedEntity" NamedEntity@enduml
Expand Down
2 changes: 1 addition & 1 deletion doc-uml/FamixTypeScript.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 6 additions & 5 deletions src/Famix-TypeScript-Entities/FamixTypeScriptAccess.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,20 @@

| 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.|
| `isWrite` | `Boolean` | false | Write access|

"
Class {
#name : #FamixTypeScriptAccess,
#superclass : #FamixTypeScriptEntity,
#name : 'FamixTypeScriptAccess',
#superclass : 'FamixTypeScriptEntity',
#traits : 'FamixTAccess',
#classTraits : 'FamixTAccess classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptAccess class >> annotation [

<FMClass: #Access super: #FamixTypeScriptEntity>
Expand Down
10 changes: 6 additions & 4 deletions src/Famix-TypeScript-Entities/FamixTypeScriptAccessor.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ I represent a TypeScript Accessor (getter or setter)

"
Class {
#name : #FamixTypeScriptAccessor,
#superclass : #FamixTypeScriptMethod,
#category : #'Famix-TypeScript-Entities-Entities'
#name : 'FamixTypeScriptAccessor',
#superclass : 'FamixTypeScriptMethod',
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptAccessor class >> annotation [

<FMClass: #Accessor super: #FamixTypeScriptMethod>
Expand Down
10 changes: 6 additions & 4 deletions src/Famix-TypeScript-Entities/FamixTypeScriptAlias.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@

"
Class {
#name : #FamixTypeScriptAlias,
#superclass : #FamixTypeScriptNamedEntity,
#name : 'FamixTypeScriptAlias',
#superclass : 'FamixTypeScriptNamedEntity',
#traits : 'FamixTImportable',
#classTraits : 'FamixTImportable classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptAlias class >> annotation [

<FMClass: #Alias super: #FamixTypeScriptNamedEntity>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,16 @@ I represent a TypeScript arrow function.

"
Class {
#name : #FamixTypeScriptArrowFunction,
#superclass : #FamixTypeScriptBehaviouralEntity,
#name : 'FamixTypeScriptArrowFunction',
#superclass : 'FamixTypeScriptBehaviouralEntity',
#traits : 'FamixTDefinedInModule + FamixTFunction + FamixTImportable + FamixTInvocable',
#classTraits : 'FamixTDefinedInModule classTrait + FamixTFunction classTrait + FamixTImportable classTrait + FamixTInvocable classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptArrowFunction class >> annotation [

<FMClass: #ArrowFunction super: #FamixTypeScriptBehaviouralEntity>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ I represent an abstraction of various entities that have behavior.

"
Class {
#name : #FamixTypeScriptBehaviouralEntity,
#superclass : #FamixTypeScriptContainerEntity,
#category : #'Famix-TypeScript-Entities-Entities'
#name : 'FamixTypeScriptBehaviouralEntity',
#superclass : 'FamixTypeScriptContainerEntity',
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptBehaviouralEntity class >> annotation [

<FMClass: #BehaviouralEntity super: #FamixTypeScriptContainerEntity>
Expand Down
14 changes: 8 additions & 6 deletions src/Famix-TypeScript-Entities/FamixTypeScriptClass.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ I represent a TypeScript class.
| Relation | Origin | Opposite | Type | Comment |
|---|
| `incomingImports` | `FamixTImportable` | `importedEntity` | `FamixTImport` | List of imports of this entity|
| `incomingReferences` | `FamixTReferenceable` | `referredType` | `FamixTReference` | References to this entity by other entities.|
| `incomingReferences` | `FamixTReferenceable` | `referredEntity` | `FamixTReference` | References to this entity by other entities.|
| `subInheritances` | `FamixTWithInheritances` | `superclass` | `FamixTInheritance` | Subinheritance relationships, i.e. known subclasses of this type.|

### Other
Expand All @@ -50,14 +50,16 @@ I represent a TypeScript class.

"
Class {
#name : #FamixTypeScriptClass,
#superclass : #FamixTypeScriptType,
#name : 'FamixTypeScriptClass',
#superclass : 'FamixTypeScriptType',
#traits : 'FamixTCanBeAbstract + FamixTCanImplement + FamixTClass + FamixTClassMetrics + FamixTImportable + FamixTLCOMMetrics + FamixTWithAccesses + FamixTWithInvocations + FamixTypeScriptTClassMetrics',
#classTraits : 'FamixTCanBeAbstract classTrait + FamixTCanImplement classTrait + FamixTClass classTrait + FamixTClassMetrics classTrait + FamixTImportable classTrait + FamixTLCOMMetrics classTrait + FamixTWithAccesses classTrait + FamixTWithInvocations classTrait + FamixTypeScriptTClassMetrics classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptClass class >> annotation [

<FMClass: #Class super: #FamixTypeScriptType>
Expand All @@ -66,7 +68,7 @@ FamixTypeScriptClass class >> annotation [
^ self
]

{ #category : #testing }
{ #category : 'testing' }
FamixTypeScriptClass >> isClass [

<generated>
Expand Down
20 changes: 13 additions & 7 deletions src/Famix-TypeScript-Entities/FamixTypeScriptComment.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,34 @@
|---|
| `commentedEntity` | `FamixTComment` | `comments` | `FamixTWithComments` | Source code commented by the comment|

### Other
| Relation | Origin | Opposite | Type | Comment |
|---|
| `sourceAnchor` | `FamixTSourceEntity` | `element` | `FamixTSourceAnchor` | SourceAnchor entity linking to the original source code for this entity|


## Properties
======================

| Name | Type | Default value | Comment |
|---|
| `content` | `String` | nil | Content of the comment as a String|
| `isJSDoc` | `Boolean` | false | Comments can have the form of JSDoc.|

"
Class {
#name : #FamixTypeScriptComment,
#superclass : #FamixTypeScriptSourcedEntity,
#name : 'FamixTypeScriptComment',
#superclass : 'FamixTypeScriptSourcedEntity',
#traits : 'FamixTComment',
#classTraits : 'FamixTComment classTrait',
#instVars : [
'#isJSDoc => FMProperty defaultValue: false'
],
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptComment class >> annotation [

<FMClass: #Comment super: #FamixTypeScriptSourcedEntity>
Expand All @@ -37,7 +43,7 @@ FamixTypeScriptComment class >> annotation [
^ self
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptComment >> isJSDoc [

<FMProperty: #isJSDoc type: #Boolean defaultValue: false>
Expand All @@ -46,7 +52,7 @@ FamixTypeScriptComment >> isJSDoc [
^ isJSDoc ifNil: [ isJSDoc := false ]
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptComment >> isJSDoc: anObject [
<generated>
isJSDoc := anObject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,19 @@
| `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 : #FamixTypeScriptConcretization,
#superclass : #FamixTypeScriptEntity,
#name : 'FamixTypeScriptConcretization',
#superclass : 'FamixTypeScriptEntity',
#traits : 'FamixTConcretization',
#classTraits : 'FamixTConcretization classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptConcretization class >> annotation [

<FMClass: #Concretization super: #FamixTypeScriptEntity>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@

"
Class {
#name : #FamixTypeScriptContainerEntity,
#superclass : #FamixTypeScriptNamedEntity,
#name : 'FamixTypeScriptContainerEntity',
#superclass : 'FamixTypeScriptNamedEntity',
#traits : 'FamixTWithClasses + FamixTWithFunctions + FamixTWithLocalVariables + FamixTypeScriptTWithInterfaces',
#classTraits : 'FamixTWithClasses classTrait + FamixTWithFunctions classTrait + FamixTWithLocalVariables classTrait + FamixTypeScriptTWithInterfaces classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptContainerEntity class >> annotation [

<FMClass: #ContainerEntity super: #FamixTypeScriptNamedEntity>
Expand Down
18 changes: 10 additions & 8 deletions src/Famix-TypeScript-Entities/FamixTypeScriptDecorator.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,20 @@ I represent a TypeScript Decorator

"
Class {
#name : #FamixTypeScriptDecorator,
#superclass : #FamixTypeScriptNamedEntity,
#name : 'FamixTypeScriptDecorator',
#superclass : 'FamixTypeScriptNamedEntity',
#traits : 'FamixTImportable',
#classTraits : 'FamixTImportable classTrait',
#instVars : [
'#expression => FMProperty',
'#decoratedEntity => FMOne type: #FamixTypeScriptNamedEntity opposite: #decorators'
],
#category : #'Famix-TypeScript-Entities-Entities'
#category : 'Famix-TypeScript-Entities-Entities',
#package : 'Famix-TypeScript-Entities',
#tag : 'Entities'
}

{ #category : #meta }
{ #category : 'meta' }
FamixTypeScriptDecorator class >> annotation [

<FMClass: #Decorator super: #FamixTypeScriptNamedEntity>
Expand All @@ -44,22 +46,22 @@ FamixTypeScriptDecorator class >> annotation [
^ self
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptDecorator >> decoratedEntity [
"Relation named: #decoratedEntity type: #FamixTypeScriptNamedEntity opposite: #decorators"

<generated>
^ decoratedEntity
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptDecorator >> decoratedEntity: anObject [

<generated>
decoratedEntity := anObject
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptDecorator >> expression [

<FMProperty: #expression type: #String>
Expand All @@ -68,7 +70,7 @@ FamixTypeScriptDecorator >> expression [
^ expression
]

{ #category : #accessing }
{ #category : 'accessing' }
FamixTypeScriptDecorator >> expression: anObject [
<generated>
expression := anObject
Expand Down
Loading