diff --git a/doc-uml/FamixTypeScript-traits.puml b/doc-uml/FamixTypeScript-traits.puml
index 6a52ed8..471d2f7 100644
--- a/doc-uml/FamixTypeScript-traits.puml
+++ b/doc-uml/FamixTypeScript-traits.puml
@@ -1 +1 @@
-@startuml
hide empty members
skinparam class {
BackgroundColor white
ArrowColor black
BorderColor darkGray
}
class EnumValue <<(C,white)>> #CCFFFF {
}
class TImport <<(T,white)External>> #FFFFCC {
}
class TGenericParameterType <<(T,white)External>> #FFFFCC {
}
class TCanImplement <<(T,white)External>> #FFFFCC {
}
class Concretization <<(C,white)>> #CCFFFF {
}
class TMethod <<(T,white)External>> #FFFFCC {
}
class IndexedFileAnchor <<(C,white)>> #CCFFFF {
}
class Folder <<(C,white)>> #CCFFFF {
}
class TWithFunctions <<(T,white)External>> #FFFFCC {
}
class TComment <<(T,white)External>> #FFFFCC {
String content
}
class ScriptEntity <<(C,white)>> #CCFFFF {
}
class implicitVariable <<(C,white)>> #CCFFFF {
}
class Decorator <<(C,white)>> #CCFFFF {
String expression
}
class TSourceAnchor <<(T,white)External>> #FFFFCC {
Number lineCount
}
class ParameterType <<(C,white)>> #CCFFFF {
}
class BehaviouralEntity <<(C,white)>> #CCFFFF {
}
class TParametricEntity <<(T,white)External>> #FFFFCC {
}
class Namespace <<(C,white)>> #CCFFFF {
}
class Class <<(C,white)>> #CCFFFF {
}
class TInvocable <<(T,white)External>> #FFFFCC {
}
class Interface <<(C,white)>> #CCFFFF {
}
class TWithComments <<(T,white)External>> #FFFFCC {
Boolean hasComments
Number numberOfComments
}
class ParametricFunction <<(C,white)>> #CCFFFF {
}
class TWithLocalVariables <<(T,white)External>> #FFFFCC {
}
class TWithAttributes <<(T,white)External>> #FFFFCC {
Number numberOfAttributes
}
class ParameterConcretization <<(C,white)>> #CCFFFF {
}
class TTypedEntity <<(T,white)External>> #FFFFCC {
}
class THasSignature <<(T,white)External>> #FFFFCC {
String signature
}
class TLocalVariable <<(T,white)External>> #FFFFCC {
}
class TInvocation <<(T,white)External>> #FFFFCC {
}
class ArrowFunction <<(C,white)>> #CCFFFF {
}
class Comment <<(C,white)>> #CCFFFF {
Boolean isJSDoc
}
class Property <<(C,white)>> #CCFFFF {
Boolean isOptional
Boolean isJavaScriptPrivate
Boolean readOnly
Boolean isDefinitelyAssigned
}
class ParametricClass <<(C,white)>> #CCFFFF {
}
class Accessor <<(C,white)>> #CCFFFF {
}
class TEnumValue <<(T,white)External>> #FFFFCC {
}
class TStructuralEntity <<(T,white)External>> #FFFFCC {
}
class THasKind <<(T,white)External>> #FFFFCC {
Boolean isConstant
Boolean isGetter
Boolean isSetter
Boolean isConstructor
String kind
}
class TWithStatements <<(T,white)External>> #FFFFCC {
Number numberOfStatements
}
class TConcreteParameterType <<(T,white)External>> #FFFFCC {
}
class SourceLanguage <<(C,white)>> #CCFFFF {
}
class TWithTypes <<(T,white)External>> #FFFFCC {
}
class Invocation <<(C,white)>> #CCFFFF {
}
class Entity <<(C,white)>> #CCFFFF {
}
class TClassMetrics <<(T,white)External>> #FFFFCC {
Number numberOfLocallyDefinedMethods
Number totalNumberOfSubclasses
Number numberOfAttributesInherited
Number numberOfMethodsInherited
Number numberOfMethodsOverridden
Number numberOfMethodsInHierarchy
}
class ParametricMethod <<(C,white)>> #CCFFFF {
}
class TClass <<(T,white)External>> #FFFFCC {
Boolean isTestCase
Number weightOfAClass
}
class TType <<(T,white)External>> #FFFFCC {
}
class Enum <<(C,white)>> #CCFFFF {
}
class Module <<(C,white)>> #CCFFFF {
}
class THasVisibility <<(T,white)External>> #FFFFCC {
Boolean isPackageVisibility
Boolean isPrivate
Boolean isPublic
String visibility
Boolean isProtected
}
class TWithClasses <<(T,white)External>> #FFFFCC {
Number numberOfClasses
}
class Alias <<(C,white)>> #CCFFFF {
}
class TSourceLanguage <<(T,white)External>> #FFFFCC {
}
class Function <<(C,white)>> #CCFFFF {
}
class TFolder <<(T,white)External>> #FFFFCC {
Number numberOfEmptyLinesOfText
Number numberOfFolders
Number totalNumberOfLinesOfText
Number numberOfFiles
}
class TParameter <<(T,white)External>> #FFFFCC {
}
class Variable <<(C,white)>> #CCFFFF {
}
class ParametricInterface <<(C,white)>> #CCFFFF {
}
class TEntityCreator <<(T,white)>> #CCFFFF {
}
class TImplementable <<(T,white)External>> #FFFFCC {
}
class FamixTypeScriptModel <<(C,white)>> #CCFFFF {
}
class SourceTextAnchor <<(C,white)>> #CCFFFF {
}
class Inheritance <<(C,white)>> #CCFFFF {
}
class Implementation <<(C,white)>> #CCFFFF {
}
class ParametricArrowFunction <<(C,white)>> #CCFFFF {
}
class TImportable <<(T,white)External>> #FFFFCC {
}
class TFile <<(T,white)External>> #FFFFCC {
Number averageNumberOfCharactersPerLine
Number numberOfBytes
Number numberOfCharacters
Number numberOfKiloBytes
Number totalNumberOfLinesOfText
Number numberOfEmptyLinesOfText
}
class TParameterConcretization <<(T,white)External>> #FFFFCC {
}
class NamedEntity <<(C,white)>> #CCFFFF {
}
class ContainerEntity <<(C,white)>> #CCFFFF {
}
class PrimitiveType <<(C,white)>> #CCFFFF {
}
class Reference <<(C,white)>> #CCFFFF {
}
class TDefinedInModule <<(T,white)External>> #FFFFCC {
}
class ScopingEntity <<(C,white)>> #CCFFFF {
}
class ImportClause <<(C,white)>> #CCFFFF {
}
class THasImmediateSource <<(T,white)External>> #FFFFCC {
String source
}
class TWithInterfaces <<(T,white)>> #CCFFFF {
}
class Type <<(C,white)>> #CCFFFF {
}
class TImplementation <<(T,white)External>> #FFFFCC {
}
class Method <<(C,white)>> #CCFFFF {
}
class Access <<(C,white)>> #CCFFFF {
}
class Model <<(C,white)External>> #FFFFCC {
Number numberOfModelClasses
Number numberOfLinesOfCodePerMethod
Number numberOfModelMethods
Number numberOfClassesPerPackage
Number numberOfLinesOfCode
Number averageCyclomaticComplexity
Number numberOfMethods
Number numberOfClasses
Number numberOfLinesOfCodePerPackage
Number numberOfLinesOfCodePerClass
Number numberOfClassesPerPackage
}
class TConcretization <<(T,white)External>> #FFFFCC {
}
class StructuralEntity <<(C,white)>> #CCFFFF {
}
class TEnum <<(T,white)External>> #FFFFCC {
}
class TWithMethods <<(T,white)External>> #FFFFCC {
Number weightedMethodCount
Number numberOfAbstractMethods
Number numberOfMethods
Number tightClassCohesion
}
class Entity <<(C,white)External>> #FFFFCC {
Number numberOfTags
Boolean isTagged
Boolean isDead
}
class TWithInheritances <<(T,white)External>> #FFFFCC {
Number hierarchyNestingLevel
Number numberOfDirectSubclasses
Number numberOfSubclasses
Number subclassHierarchyDepth
}
class TAttribute <<(T,white)External>> #FFFFCC {
Number hierarchyNestingLevel
}
class TWithInvocations <<(T,white)External>> #FFFFCC {
Number numberOfOutgoingInvocations
}
class SourcedEntity <<(C,white)>> #CCFFFF {
}
class TIndexedFileNavigation <<(T,white)External>> #FFFFCC {
Number endPos
Number startPos
}
class SourceAnchor <<(C,white)>> #CCFFFF {
}
class TEntityMetaLevelDependency <<(T,white)External>> #FFFFCC {
Number numberOfExternalClients
Number numberOfChildren
Number fanOut
Number fanIn
Number numberOfInternalProviders
Number numberOfInternalClients
Number numberOfExternalProviders
Number numberOfDeadChildren
Boolean isDead
Boolean isRoot
}
class TFunction <<(T,white)External>> #FFFFCC {
}
class TWithImports <<(T,white)External>> #FFFFCC {
}
class TSourceEntity <<(T,white)External>> #FFFFCC {
Boolean containsReplicas
Number numberOfLinesOfCodeWithMoreThanOneCharacter
String sourceText
Boolean isStub
Number duplicationRate
Number numberOfLinesOfCode
}
class File <<(C,white)>> #CCFFFF {
}
class Parameter <<(C,white)>> #CCFFFF {
}
class TPrimitiveType <<(T,white)External>> #FFFFCC {
}
class TClassMetrics <<(T,white)>> #CCFFFF {
}
class TNamedEntity <<(T,white)External>> #FFFFCC {
String name
}
class JSDoc <<(C,white)>> #CCFFFF {
}
class TInvocationsReceiver <<(T,white)External>> #FFFFCC {
}
class TNamespace <<(T,white)External>> #FFFFCC {
}
class TInheritance <<(T,white)External>> #FFFFCC {
}
class TCanBeClassSide <<(T,white)External>> #FFFFCC {
Boolean isClassSide
}
class TLCOMMetrics <<(T,white)External>> #FFFFCC {
Number lcom3
Number lcom2
}
class TAccess <<(T,white)External>> #FFFFCC {
Boolean isReadWriteUnknown
Boolean isWrite
Boolean isRead
}
class TCanBeAbstract <<(T,white)External>> #FFFFCC {
Boolean isAbstract
}
class TWithAccesses <<(T,white)External>> #FFFFCC {
}
StructuralEntity <|-- EnumValue
Entity <|-- Concretization
SourceAnchor <|-- IndexedFileAnchor
NamedEntity <|-- Folder
ScopingEntity <|-- ScriptEntity
Variable <|-- implicitVariable
NamedEntity <|-- Decorator
Type <|-- ParameterType
ContainerEntity <|-- BehaviouralEntity
ScopingEntity <|-- Namespace
Type <|-- Class
Function <|-- ParametricFunction
Entity <|-- ParameterConcretization
Type <|-- Interface
SourcedEntity <|-- Comment
BehaviouralEntity <|-- ArrowFunction
StructuralEntity <|-- Property
Class <|-- ParametricClass
Method <|-- Accessor
Entity <|-- SourceLanguage
Entity <|-- Entity
Entity <|-- Invocation
Method <|-- ParametricMethod
ScriptEntity <|-- Module
NamedEntity <|-- Alias
Type <|-- Enum
BehaviouralEntity <|-- Function
StructuralEntity <|-- Variable
Interface <|-- ParametricInterface
Model <|-- FamixTypeScriptModel
SourceAnchor <|-- SourceTextAnchor
Entity <|-- Inheritance
Entity <|-- Implementation
ArrowFunction <|-- ParametricArrowFunction
SourcedEntity <|-- NamedEntity
NamedEntity <|-- ContainerEntity
Type <|-- PrimitiveType
Entity <|-- Reference
ContainerEntity <|-- ScopingEntity
Entity <|-- ImportClause
ContainerEntity <|-- Type
BehaviouralEntity <|-- Method
Entity <|-- Access
AbstractGroup <|-- Model
NamedEntity <|-- StructuralEntity
Object <|-- Entity
Entity <|-- SourcedEntity
Entity <|-- SourceAnchor
NamedEntity <|-- File
StructuralEntity <|-- Parameter
SourcedEntity <|-- JSDoc
TEnumValue <|.. EnumValue
TAssociation <|.. TImport
TType <|.. TGenericParameterType
THasSignature <|.. TMethod
TInvocable <|.. TMethod
TMethodMetrics <|.. TMethod
TNamedEntity <|.. TMethod
TTypedEntity <|.. TMethod
TWithImplicitVariables <|.. TMethod
TWithLocalVariables <|.. TMethod
TWithParameters <|.. TMethod
TWithStatements <|.. TMethod
TEntityMetaLevelDependency <|.. TMethod
TConcretization <|.. Concretization
TIndexedFileNavigation <|.. IndexedFileAnchor
TFolder <|.. Folder
TWithStatements <|.. ScriptEntity
TEntityMetaLevelDependency <|.. TComment
TGenericParameterType <|.. ParameterType
TTypedEntity <|.. ParameterType
TWithInheritances <|.. ParameterType
TImportable <|.. Decorator
TDefinedInModule <|.. Namespace
TImportable <|.. Namespace
TNamespace <|.. Namespace
TCanBeAbstract <|.. Class
TCanImplement <|.. Class
TClass <|.. Class
TClassMetrics <|.. Class
TImportable <|.. Class
TLCOMMetrics <|.. Class
TWithAccesses <|.. Class
TWithInvocations <|.. Class
TClassMetrics <|.. Class
TParametricEntity <|.. ParametricFunction
TParameterConcretization <|.. ParameterConcretization
TImplementable <|.. Interface
TStructuralEntity <|.. TLocalVariable
TInvocationsReceiver <|.. Interface
TWithAttributes <|.. Interface
TWithInheritances <|.. Interface
TWithMethods <|.. Interface
TAssociation <|.. TInvocation
THasSignature <|.. TInvocation
TComment <|.. Comment
TDefinedInModule <|.. ArrowFunction
TFunction <|.. ArrowFunction
TImportable <|.. ArrowFunction
TInvocable <|.. ArrowFunction
TAttribute <|.. Property
TCanBeClassSide <|.. Property
THasVisibility <|.. Property
TParametricEntity <|.. ParametricClass
TStructuralEntity <|.. TEnumValue
TAccessible <|.. TStructuralEntity
TNamedEntity <|.. TStructuralEntity
TSourceEntity <|.. TStructuralEntity
TTypedEntity <|.. TStructuralEntity
TEntityMetaLevelDependency <|.. TStructuralEntity
TSourceEntity <|.. TWithStatements
TWithAccesses <|.. TWithStatements
TWithInvocations <|.. TWithStatements
TWithReferences <|.. TWithStatements
TType <|.. TConcreteParameterType
TSourceLanguage <|.. SourceLanguage
TParametricEntity <|.. ParametricMethod
THasSignature <|.. Invocation
TInvocation <|.. Invocation
TInvocationsReceiver <|.. TClass
TType <|.. TClass
TWithAttributes <|.. TClass
TWithComments <|.. TClass
TWithInheritances <|.. TClass
TWithMethods <|.. TClass
TNamedEntity <|.. TType
TReferenceable <|.. TType
TSourceEntity <|.. TType
TImportable <|.. Module
TWithImports <|.. Module
TWithLocalVariables <|.. Module
TEntityMetaLevelDependency <|.. TType
TWithTypes <|.. TWithClasses
TImportable <|.. Alias
TDefinedInModule <|.. Function
TFunction <|.. Function
TImportable <|.. Function
TInvocable <|.. Function
TImportable <|.. Variable
TLocalVariable <|.. Variable
TStructuralEntity <|.. TParameter
TFileSystemEntity <|.. TFolder
TParametricEntity <|.. ParametricInterface
TEntityCreator <|.. FamixTypeScriptModel
TEnum <|.. Enum
TImportable <|.. Enum
THasImmediateSource <|.. SourceTextAnchor
TInheritance <|.. Inheritance
TImplementation <|.. Implementation
TParametricEntity <|.. ParametricArrowFunction
TFileSystemEntity <|.. TFile
TAssociation <|.. TParameterConcretization
TWithClasses <|.. ContainerEntity
TWithFunctions <|.. ContainerEntity
TWithLocalVariables <|.. ContainerEntity
TWithInterfaces <|.. ContainerEntity
TImportable <|.. NamedEntity
TInvocationsReceiver <|.. NamedEntity
TNamedEntity <|.. NamedEntity
TEntityMetaLevelDependency <|.. NamedEntity
TPrimitiveType <|.. PrimitiveType
TWithAccesses <|.. ScopingEntity
TWithInvocations <|.. ScopingEntity
TImport <|.. ImportClause
TSourceAnchor <|.. THasImmediateSource
TWithTypes <|.. TWithInterfaces
TConcreteParameterType <|.. Type
TImportable <|.. Type
TType <|.. Type
TWithMethods <|.. Type
TCanBeAbstract <|.. Method
TCanBeClassSide <|.. Method
THasKind <|.. Method
THasVisibility <|.. Method
TImportable <|.. Method
TMethod <|.. Method
TAssociation <|.. TImplementation
TAccess <|.. Access
TAssociation <|.. TConcretization
TStructuralEntity <|.. StructuralEntity
TType <|.. TEnum
TWithEnumValues <|.. TEnum
TStructuralEntity <|.. TAttribute
TFileAnchor <|.. TIndexedFileNavigation
TSourceEntity <|.. SourcedEntity
TWithComments <|.. SourcedEntity
TSourceAnchor <|.. SourceAnchor
THasSignature <|.. TFunction
TInvocable <|.. TFunction
TNamedEntity <|.. TFunction
TTypedEntity <|.. TFunction
TWithLocalVariables <|.. TFunction
TWithParameters <|.. TFunction
TWithStatements <|.. TFunction
TEntityMetaLevelDependency <|.. TFunction
TFile <|.. File
TParameter <|.. Parameter
TType <|.. TPrimitiveType
TNamedEntity <|.. TNamespace
TSourceEntity <|.. TNamespace
TEntityMetaLevelDependency <|.. TNamespace
TAssociation <|.. TInheritance
TAssociation <|.. TAccess
TCanImplement "implementingClass" -- "interfaceImplementations*" TImplementation
TInvocable "candidates*" -- "incomingInvocations*" TInvocation
TWithAttributes "parentType" o-- "attributes*" TAttribute
TParametricEntity "concreteEntity" -- "genericization" TConcretization
TSourceAnchor "sourceAnchor" -- "element" TSourceEntity
TInvocation "outgoingInvocations*" -- "sender" TWithInvocations
TComment "comments*" --o "commentedEntity" TWithComments
TWithInheritances "superclass" -- "subInheritances*" TInheritance
Decorator "decorators*" -- "decoratedEntity" NamedEntity
TGenericParameterType "genericParameters*" -- "genericEntities*" TParametricEntity
TMethod "methods*" --o "parentType" TWithMethods
TWithFunctions "functionOwner" o-- "functions*" TFunction
TParametricEntity "genericEntity" -- "concretizations*" TConcretization
TTypedEntity "typedEntities*" -- "declaredType" TType
TWithInheritances "subclass" -- "superInheritances*" TInheritance
TConcreteParameterType "concreteParameter" -- "generics*" TParameterConcretization
TParametricEntity "concreteEntities*" -- "concreteParameters*" TConcreteParameterType
TInvocation "receivingInvocations*" -- "receiver" TInvocationsReceiver
TAccess "accesses*" -- "accessor" TWithAccesses
TImplementable "interface" -- "implementations*" TImplementation
TImport "incomingImports*" -- "importedEntity" TImportable
TParameterConcretization "parameterConcretizations*" -- "concretizations*" TConcretization
TWithLocalVariables "parentBehaviouralEntity" o-- "localVariables*" TLocalVariable
TImport "outgoingImports*" -- "importingEntity" TWithImports
TWithTypes "typeContainer" o-- "types*" TType
Model -- "sourceLanguage" TSourceLanguage
TGenericParameterType "genericParameter" -- "concretizations*" TParameterConcretization
@enduml
\ No newline at end of file
+@startuml
hide empty members
skinparam class {
BackgroundColor white
ArrowColor black
BorderColor darkGray
}
class EnumValue <<(C,white)>> #CCFFFF {
}
class Access <<(C,white)>> #CCFFFF {
}
class TCanBeAbstract <<(T,white)External>> #FFFFCC {
Boolean isAbstract
}
class TClassMetrics <<(T,white)External>> #FFFFCC {
Number numberOfMethodsInHierarchy
Number numberOfMethodsInherited
Number numberOfAttributesInherited
Number totalNumberOfSubclasses
Number numberOfMethodsOverridden
Number numberOfLocallyDefinedMethods
}
class ParametricClass <<(C,white)>> #CCFFFF {
}
class Parameter <<(C,white)>> #CCFFFF {
}
class Decorator <<(C,white)>> #CCFFFF {
String expression
}
class Variable <<(C,white)>> #CCFFFF {
}
class TInvocable <<(T,white)External>> #FFFFCC {
}
class Entity <<(C,white)External>> #FFFFCC {
Boolean isDead
Boolean isTagged
Number numberOfTags
}
class TImplementable <<(T,white)External>> #FFFFCC {
}
class TEntityCreator <<(T,white)>> #CCFFFF {
}
class TIndexedFileNavigation <<(T,white)External>> #FFFFCC {
Number startPos
Number endPos
}
class StructuralEntity <<(C,white)>> #CCFFFF {
}
class implicitVariable <<(C,white)>> #CCFFFF {
}
class TWithInvocations <<(T,white)External>> #FFFFCC {
Number numberOfOutgoingInvocations
}
class TEntityMetaLevelDependency <<(T,white)External>> #FFFFCC {
Number fanIn
Number numberOfDeadChildren
Number numberOfChildren
Number numberOfExternalClients
Number numberOfInternalClients
Number numberOfExternalProviders
Boolean isRoot
Number fanOut
Boolean isDead
Number numberOfInternalProviders
}
class ScopingEntity <<(C,white)>> #CCFFFF {
}
class Accessor <<(C,white)>> #CCFFFF {
}
class TPrimitiveType <<(T,white)External>> #FFFFCC {
}
class TLocalVariable <<(T,white)External>> #FFFFCC {
}
class TImportable <<(T,white)External>> #FFFFCC {
}
class TType <<(T,white)External>> #FFFFCC {
}
class Interface <<(C,white)>> #CCFFFF {
}
class TWithFunctions <<(T,white)External>> #FFFFCC {
}
class ParameterType <<(C,white)>> #CCFFFF {
}
class File <<(C,white)>> #CCFFFF {
}
class IndexedFileAnchor <<(C,white)>> #CCFFFF {
}
class SourceAnchor <<(C,white)>> #CCFFFF {
}
class Module <<(C,white)>> #CCFFFF {
}
class TFolder <<(T,white)External>> #FFFFCC {
Number numberOfEmptyLinesOfText
Number numberOfFiles
Number totalNumberOfLinesOfText
Number numberOfFolders
}
class TSourceEntity <<(T,white)External>> #FFFFCC {
Number duplicationRate
String sourceText
Boolean isStub
Boolean containsReplicas
Number numberOfLinesOfCodeWithMoreThanOneCharacter
Number numberOfLinesOfCode
}
class TNamedEntity <<(T,white)External>> #FFFFCC {
String name
}
class ParametricFunction <<(C,white)>> #CCFFFF {
}
class TInvocation <<(T,white)External>> #FFFFCC {
}
class TReference <<(T,white)External>> #FFFFCC {
}
class ParametricMethod <<(C,white)>> #CCFFFF {
}
class TAccess <<(T,white)External>> #FFFFCC {
Boolean isWrite
Boolean isRead
Boolean isReadWriteUnknown
}
class SourcedEntity <<(C,white)>> #CCFFFF {
}
class TNamespace <<(T,white)External>> #FFFFCC {
}
class Namespace <<(C,white)>> #CCFFFF {
}
class ScriptEntity <<(C,white)>> #CCFFFF {
}
class TInheritance <<(T,white)External>> #FFFFCC {
}
class TMethod <<(T,white)External>> #FFFFCC {
}
class FamixTypeScriptModel <<(C,white)>> #CCFFFF {
}
class TFunction <<(T,white)External>> #FFFFCC {
}
class TSourceLanguage <<(T,white)External>> #FFFFCC {
}
class Type <<(C,white)>> #CCFFFF {
}
class NamedEntity <<(C,white)>> #CCFFFF {
}
class TParameter <<(T,white)External>> #FFFFCC {
}
class TDefinedInModule <<(T,white)External>> #FFFFCC {
}
class Enum <<(C,white)>> #CCFFFF {
}
class Function <<(C,white)>> #CCFFFF {
}
class Inheritance <<(C,white)>> #CCFFFF {
}
class SourceTextAnchor <<(C,white)>> #CCFFFF {
}
class Method <<(C,white)>> #CCFFFF {
}
class Concretization <<(C,white)>> #CCFFFF {
}
class Property <<(C,white)>> #CCFFFF {
Boolean isJavaScriptPrivate
Boolean isOptional
Boolean isDefinitelyAssigned
Boolean readOnly
}
class TWithAccesses <<(T,white)External>> #FFFFCC {
}
class ContainerEntity <<(C,white)>> #CCFFFF {
}
class TWithInheritances <<(T,white)External>> #FFFFCC {
Number hierarchyNestingLevel
Number numberOfDirectSubclasses
Number numberOfSubclasses
Number subclassHierarchyDepth
}
class TLCOMMetrics <<(T,white)External>> #FFFFCC {
Number lcom3
Number lcom2
}
class SourceLanguage <<(C,white)>> #CCFFFF {
}
class ImportClause <<(C,white)>> #CCFFFF {
}
class Invocation <<(C,white)>> #CCFFFF {
}
class Model <<(C,white)External>> #FFFFCC {
Number numberOfClassesPerPackage
Number numberOfLinesOfCodePerClass
Number numberOfClasses
Number averageCyclomaticComplexity
Number numberOfLinesOfCode
Number numberOfLinesOfCodePerMethod
Number numberOfModelClasses
Number numberOfClassesPerPackage
Number numberOfModelMethods
Number numberOfLinesOfCodePerPackage
Number numberOfMethods
}
class TWithAttributes <<(T,white)External>> #FFFFCC {
Number numberOfAttributes
}
class THasVisibility <<(T,white)External>> #FFFFCC {
Boolean isPublic
Boolean isProtected
String visibility
Boolean isPrivate
Boolean isPackageVisibility
}
class TStructuralEntity <<(T,white)External>> #FFFFCC {
}
class TGenericParameterType <<(T,white)External>> #FFFFCC {
}
class TFile <<(T,white)External>> #FFFFCC {
Number totalNumberOfLinesOfText
Number numberOfEmptyLinesOfText
Number numberOfBytes
Number numberOfKiloBytes
Number averageNumberOfCharactersPerLine
Number numberOfCharacters
}
class Folder <<(C,white)>> #CCFFFF {
}
class TComment <<(T,white)External>> #FFFFCC {
String content
}
class TEnum <<(T,white)External>> #FFFFCC {
}
class THasKind <<(T,white)External>> #FFFFCC {
String kind
Boolean isSetter
Boolean isConstructor
Boolean isGetter
Boolean isConstant
}
class Alias <<(C,white)>> #CCFFFF {
}
class JSDoc <<(C,white)>> #CCFFFF {
}
class TParametricEntity <<(T,white)External>> #FFFFCC {
}
class ParameterConcretization <<(C,white)>> #CCFFFF {
}
class TWithStatements <<(T,white)External>> #FFFFCC {
Number numberOfStatements
}
class THasImmediateSource <<(T,white)External>> #FFFFCC {
String source
}
class TParameterConcretization <<(T,white)External>> #FFFFCC {
}
class ArrowFunction <<(C,white)>> #CCFFFF {
}
class TWithClasses <<(T,white)External>> #FFFFCC {
Number numberOfClasses
}
class ParametricInterface <<(C,white)>> #CCFFFF {
}
class TImport <<(T,white)External>> #FFFFCC {
}
class Entity <<(C,white)>> #CCFFFF {
}
class TTypedEntity <<(T,white)External>> #FFFFCC {
}
class TWithInterfaces <<(T,white)>> #CCFFFF {
}
class Comment <<(C,white)>> #CCFFFF {
Boolean isJSDoc
}
class TConcreteParameterType <<(T,white)External>> #FFFFCC {
}
class TWithMethods <<(T,white)External>> #FFFFCC {
Number tightClassCohesion
Number numberOfMethods
Number weightedMethodCount
Number numberOfAbstractMethods
}
class Class <<(C,white)>> #CCFFFF {
}
class THasSignature <<(T,white)External>> #FFFFCC {
String signature
}
class TClassMetrics <<(T,white)>> #CCFFFF {
}
class TConcretization <<(T,white)External>> #FFFFCC {
}
class BehaviouralEntity <<(C,white)>> #CCFFFF {
}
class TCanImplement <<(T,white)External>> #FFFFCC {
}
class Implementation <<(C,white)>> #CCFFFF {
}
class TCanBeClassSide <<(T,white)External>> #FFFFCC {
Boolean isClassSide
}
class TImplementation <<(T,white)External>> #FFFFCC {
}
class TWithImports <<(T,white)External>> #FFFFCC {
}
class TClass <<(T,white)External>> #FFFFCC {
Number weightOfAClass
Boolean isTestCase
}
class TAttribute <<(T,white)External>> #FFFFCC {
Number hierarchyNestingLevel
}
class TEnumValue <<(T,white)External>> #FFFFCC {
}
class TSourceAnchor <<(T,white)External>> #FFFFCC {
Number lineCount
}
class ParametricArrowFunction <<(C,white)>> #CCFFFF {
}
class Reference <<(C,white)>> #CCFFFF {
}
class TWithComments <<(T,white)External>> #FFFFCC {
Boolean hasComments
Number numberOfComments
}
class PrimitiveType <<(C,white)>> #CCFFFF {
}
class TInvocationsReceiver <<(T,white)External>> #FFFFCC {
}
class TWithLocalVariables <<(T,white)External>> #FFFFCC {
}
class TWithTypes <<(T,white)External>> #FFFFCC {
}
StructuralEntity <|-- EnumValue
Entity <|-- Access
Class <|-- ParametricClass
StructuralEntity <|-- Parameter
NamedEntity <|-- Decorator
StructuralEntity <|-- Variable
Object <|-- Entity
NamedEntity <|-- StructuralEntity
Variable <|-- implicitVariable
ContainerEntity <|-- ScopingEntity
Method <|-- Accessor
Type <|-- ParameterType
Type <|-- Interface
NamedEntity <|-- File
Entity <|-- SourceAnchor
SourceAnchor <|-- IndexedFileAnchor
ScriptEntity <|-- Module
Function <|-- ParametricFunction
Method <|-- ParametricMethod
Entity <|-- SourcedEntity
ScopingEntity <|-- ScriptEntity
ScopingEntity <|-- Namespace
Model <|-- FamixTypeScriptModel
Type <|-- Enum
Entity <|-- Inheritance
SourceAnchor <|-- SourceTextAnchor
BehaviouralEntity <|-- Method
Entity <|-- Concretization
StructuralEntity <|-- Property
NamedEntity <|-- ContainerEntity
BehaviouralEntity <|-- Function
Entity <|-- SourceLanguage
Entity <|-- ImportClause
ContainerEntity <|-- Type
AbstractGroup <|-- Model
Entity <|-- Invocation
NamedEntity <|-- Folder
NamedEntity <|-- Alias
SourcedEntity <|-- JSDoc
Entity <|-- ParameterConcretization
SourcedEntity <|-- NamedEntity
BehaviouralEntity <|-- ArrowFunction
Interface <|-- ParametricInterface
Entity <|-- Entity
SourcedEntity <|-- Comment
Type <|-- Class
ContainerEntity <|-- BehaviouralEntity
Entity <|-- Implementation
ArrowFunction <|-- ParametricArrowFunction
Entity <|-- Reference
Type <|-- PrimitiveType
TEnumValue <|.. EnumValue
TAccess <|.. Access
TParametricEntity <|.. ParametricClass
TParameter <|.. Parameter
TImportable <|.. Decorator
TImportable <|.. Variable
TLocalVariable <|.. Variable
TFileAnchor <|.. TIndexedFileNavigation
TStructuralEntity <|.. StructuralEntity
TWithAccesses <|.. ScopingEntity
TWithInvocations <|.. ScopingEntity
TType <|.. TPrimitiveType
TStructuralEntity <|.. TLocalVariable
TNamedEntity <|.. TType
TReferenceable <|.. TType
TGenericParameterType <|.. ParameterType
TTypedEntity <|.. ParameterType
TWithInheritances <|.. ParameterType
TSourceEntity <|.. TType
TEntityMetaLevelDependency <|.. TType
TImplementable <|.. Interface
TFile <|.. File
TInvocationsReceiver <|.. Interface
TSourceAnchor <|.. SourceAnchor
TWithAttributes <|.. Interface
TWithInheritances <|.. Interface
TWithMethods <|.. Interface
TIndexedFileNavigation <|.. IndexedFileAnchor
TImportable <|.. Module
TFileSystemEntity <|.. TFolder
TWithImports <|.. Module
TWithLocalVariables <|.. Module
TAssociation <|.. TReference
TParametricEntity <|.. ParametricFunction
TAssociation <|.. TAccess
TAssociation <|.. TInvocation
THasSignature <|.. TInvocation
TParametricEntity <|.. ParametricMethod
TSourceEntity <|.. SourcedEntity
TWithComments <|.. SourcedEntity
TNamedEntity <|.. TNamespace
TSourceEntity <|.. TNamespace
TEntityMetaLevelDependency <|.. TNamespace
TWithStatements <|.. ScriptEntity
TDefinedInModule <|.. Namespace
TImportable <|.. Namespace
TNamespace <|.. Namespace
TAssociation <|.. TInheritance
THasSignature <|.. TMethod
TEntityCreator <|.. FamixTypeScriptModel
THasSignature <|.. TFunction
TInvocable <|.. TFunction
TNamedEntity <|.. TFunction
TTypedEntity <|.. TFunction
TWithLocalVariables <|.. TFunction
TWithParameters <|.. TFunction
TWithStatements <|.. TFunction
TEntityMetaLevelDependency <|.. TFunction
TEnum <|.. Enum
TImportable <|.. Enum
TInvocable <|.. TMethod
TMethodMetrics <|.. TMethod
TNamedEntity <|.. TMethod
TTypedEntity <|.. TMethod
TWithImplicitVariables <|.. TMethod
TWithLocalVariables <|.. TMethod
TWithParameters <|.. TMethod
TWithStatements <|.. TMethod
TEntityMetaLevelDependency <|.. TMethod
TInheritance <|.. Inheritance
THasImmediateSource <|.. SourceTextAnchor
TCanBeAbstract <|.. Method
TCanBeClassSide <|.. Method
TConcretization <|.. Concretization
THasKind <|.. Method
THasVisibility <|.. Method
TImportable <|.. Method
TMethod <|.. Method
TAttribute <|.. Property
TWithClasses <|.. ContainerEntity
TWithFunctions <|.. ContainerEntity
TWithLocalVariables <|.. ContainerEntity
TWithInterfaces <|.. ContainerEntity
TCanBeClassSide <|.. Property
THasVisibility <|.. Property
TDefinedInModule <|.. Function
TFunction <|.. Function
TSourceLanguage <|.. SourceLanguage
TImportable <|.. Function
TInvocable <|.. Function
TImport <|.. ImportClause
TStructuralEntity <|.. TParameter
TConcreteParameterType <|.. Type
THasSignature <|.. Invocation
TInvocation <|.. Invocation
TAccessible <|.. TStructuralEntity
TNamedEntity <|.. TStructuralEntity
TSourceEntity <|.. TStructuralEntity
TTypedEntity <|.. TStructuralEntity
TEntityMetaLevelDependency <|.. TStructuralEntity
TFileSystemEntity <|.. TFile
TImportable <|.. Type
TType <|.. Type
TFolder <|.. Folder
TEntityMetaLevelDependency <|.. TComment
TAssociation <|.. TParameterConcretization
TImportable <|.. Alias
TParameterConcretization <|.. ParameterConcretization
TSourceEntity <|.. TWithStatements
TWithAccesses <|.. TWithStatements
TWithInvocations <|.. TWithStatements
TWithReferences <|.. TWithStatements
TType <|.. TEnum
TWithEnumValues <|.. TEnum
TSourceAnchor <|.. THasImmediateSource
TWithMethods <|.. Type
TImportable <|.. NamedEntity
TInvocationsReceiver <|.. NamedEntity
TNamedEntity <|.. NamedEntity
TEntityMetaLevelDependency <|.. NamedEntity
TType <|.. TGenericParameterType
TDefinedInModule <|.. ArrowFunction
TParametricEntity <|.. ParametricInterface
TFunction <|.. ArrowFunction
TAssociation <|.. TImport
TImportable <|.. ArrowFunction
TInvocable <|.. ArrowFunction
TWithTypes <|.. TWithClasses
TWithTypes <|.. TWithInterfaces
TComment <|.. Comment
TType <|.. TConcreteParameterType
TCanBeAbstract <|.. Class
TCanImplement <|.. Class
TClass <|.. Class
TClassMetrics <|.. Class
TImportable <|.. Class
TLCOMMetrics <|.. Class
TWithAccesses <|.. Class
TWithInvocations <|.. Class
TClassMetrics <|.. Class
TAssociation <|.. TConcretization
TImplementation <|.. Implementation
TAssociation <|.. TImplementation
TStructuralEntity <|.. TEnumValue
TStructuralEntity <|.. TAttribute
TInvocationsReceiver <|.. TClass
TType <|.. TClass
TWithAttributes <|.. TClass
TWithComments <|.. TClass
TWithInheritances <|.. TClass
TWithMethods <|.. TClass
TParametricEntity <|.. ParametricArrowFunction
TReference <|.. Reference
TPrimitiveType <|.. PrimitiveType
TParameterConcretization "generics*" -- "concreteParameter" TConcreteParameterType
TImplementable "interface" -- "implementations*" TImplementation
TWithInvocations "sender" -- "outgoingInvocations*" TInvocation
TParametricEntity "genericEntity" -- "concretizations*" TConcretization
TComment "comments*" --o "commentedEntity" TWithComments
TMethod "methods*" --o "parentType" TWithMethods
TWithFunctions "functionOwner" o-- "functions*" TFunction
Decorator "decorators*" -- "decoratedEntity" NamedEntity
Model -- "sourceLanguage" TSourceLanguage
TImportable "importedEntity" -- "incomingImports*" TImport
TType "declaredType" -- "typedEntities*" TTypedEntity
TGenericParameterType "genericParameter" -- "concretizations*" TParameterConcretization
TInheritance "subInheritances*" -- "superclass" TWithInheritances
TInheritance "superInheritances*" -- "subclass" TWithInheritances
TType "types*" --o "typeContainer" TWithTypes
TWithAttributes "parentType" o-- "attributes*" TAttribute
TParametricEntity "concreteEntity" -- "genericization" TConcretization
TParameterConcretization "parameterConcretizations*" -- "concretizations*" TConcretization
TImport "outgoingImports*" -- "importingEntity" TWithImports
TInvocable "candidates*" -- "incomingInvocations*" TInvocation
TLocalVariable "localVariables*" --o "parentBehaviouralEntity" TWithLocalVariables
TInvocation "receivingInvocations*" -- "receiver" TInvocationsReceiver
TAccess "accesses*" -- "accessor" TWithAccesses
TGenericParameterType "genericParameters*" -- "genericEntities*" TParametricEntity
TParametricEntity "concreteEntities*" -- "concreteParameters*" TConcreteParameterType
TSourceEntity "element" -- "sourceAnchor" TSourceAnchor
TCanImplement "implementingClass" -- "interfaceImplementations*" TImplementation
@enduml
\ No newline at end of file
diff --git a/doc-uml/FamixTypeScript-traits.svg b/doc-uml/FamixTypeScript-traits.svg
index 58efe2c..1b403b2 100644
--- a/doc-uml/FamixTypeScript-traits.svg
+++ b/doc-uml/FamixTypeScript-traits.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/doc-uml/FamixTypeScript.puml b/doc-uml/FamixTypeScript.puml
index 6be9d69..b7abe14 100644
--- a/doc-uml/FamixTypeScript.puml
+++ b/doc-uml/FamixTypeScript.puml
@@ -1 +1 @@
-@startuml
hide empty members
skinparam 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 <|-- PrimitiveType
Type <|-- ParameterType
ScopingEntity <|-- ScriptEntity
NamedEntity <|-- File
SourceAnchor <|-- SourceTextAnchor
Entity <|-- SourcedEntity
ContainerEntity <|-- ScopingEntity
Type <|-- Enum
Entity <|-- SourceLanguage
NamedEntity <|-- Decorator
NamedEntity <|-- ContainerEntity
BehaviouralEntity <|-- ArrowFunction
Entity <|-- ImportClause
SourceAnchor <|-- IndexedFileAnchor
Variable <|-- implicitVariable
SourcedEntity <|-- Comment
StructuralEntity <|-- Variable
Entity <|-- Concretization
NamedEntity <|-- StructuralEntity
Entity <|-- Access
NamedEntity <|-- Alias
ContainerEntity <|-- BehaviouralEntity
Entity <|-- Implementation
Type <|-- Class
BehaviouralEntity <|-- Function
Entity <|-- Inheritance
Class <|-- ParametricClass
Entity <|-- Invocation
Interface <|-- ParametricInterface
ScopingEntity <|-- Namespace
SourcedEntity <|-- JSDoc
NamedEntity <|-- Folder
Method <|-- Accessor
Function <|-- ParametricFunction
StructuralEntity <|-- Property
Type <|-- Interface
SourcedEntity <|-- NamedEntity
ArrowFunction <|-- ParametricArrowFunction
ContainerEntity <|-- Type
Entity <|-- ParameterConcretization
Entity <|-- Reference
Method <|-- ParametricMethod
ScriptEntity <|-- Module
BehaviouralEntity <|-- Method
StructuralEntity <|-- EnumValue
Entity <|-- SourceAnchor
StructuralEntity <|-- Parameter
TWithInterfaces <|.. ContainerEntity
TEntityCreator <|.. FamixTypeScriptModel
TClassMetrics <|.. Class
Decorator "decorators*" -- "decoratedEntity" NamedEntity
@enduml
\ No newline at end of file
+@startuml
hide empty members
skinparam class {
BackgroundColor white
ArrowColor black
BorderColor darkGray
}
class TWithInterfaces <<(T,white)>> #CCFFFF {
}
class Concretization <<(C,white)>> #CCFFFF {
}
class Module <<(C,white)>> #CCFFFF {
}
class FamixTypeScriptModel <<(C,white)>> #CCFFFF {
}
class Implementation <<(C,white)>> #CCFFFF {
}
class Interface <<(C,white)>> #CCFFFF {
}
class ParameterType <<(C,white)>> #CCFFFF {
}
class TClassMetrics <<(T,white)>> #CCFFFF {
}
class IndexedFileAnchor <<(C,white)>> #CCFFFF {
}
class SourceTextAnchor <<(C,white)>> #CCFFFF {
}
class PrimitiveType <<(C,white)>> #CCFFFF {
}
class Access <<(C,white)>> #CCFFFF {
}
class StructuralEntity <<(C,white)>> #CCFFFF {
}
class NamedEntity <<(C,white)>> #CCFFFF {
}
class Parameter <<(C,white)>> #CCFFFF {
}
class implicitVariable <<(C,white)>> #CCFFFF {
}
class Method <<(C,white)>> #CCFFFF {
}
class File <<(C,white)>> #CCFFFF {
}
class Entity <<(C,white)>> #CCFFFF {
}
class ScriptEntity <<(C,white)>> #CCFFFF {
}
class Reference <<(C,white)>> #CCFFFF {
}
class ContainerEntity <<(C,white)>> #CCFFFF {
}
class Enum <<(C,white)>> #CCFFFF {
}
class Accessor <<(C,white)>> #CCFFFF {
}
class ParametricArrowFunction <<(C,white)>> #CCFFFF {
}
class TEntityCreator <<(T,white)>> #CCFFFF {
}
class ParametricInterface <<(C,white)>> #CCFFFF {
}
class Type <<(C,white)>> #CCFFFF {
}
class Alias <<(C,white)>> #CCFFFF {
}
class ParametricClass <<(C,white)>> #CCFFFF {
}
class ParametricMethod <<(C,white)>> #CCFFFF {
}
class Decorator <<(C,white)>> #CCFFFF {
String expression
}
class ParameterConcretization <<(C,white)>> #CCFFFF {
}
class SourceAnchor <<(C,white)>> #CCFFFF {
}
class BehaviouralEntity <<(C,white)>> #CCFFFF {
}
class Variable <<(C,white)>> #CCFFFF {
}
class Folder <<(C,white)>> #CCFFFF {
}
class Property <<(C,white)>> #CCFFFF {
Boolean isDefinitelyAssigned
Boolean isOptional
Boolean readOnly
Boolean isJavaScriptPrivate
}
class Inheritance <<(C,white)>> #CCFFFF {
}
class Comment <<(C,white)>> #CCFFFF {
Boolean isJSDoc
}
class Class <<(C,white)>> #CCFFFF {
}
class SourceLanguage <<(C,white)>> #CCFFFF {
}
class ScopingEntity <<(C,white)>> #CCFFFF {
}
class ArrowFunction <<(C,white)>> #CCFFFF {
}
class JSDoc <<(C,white)>> #CCFFFF {
}
class EnumValue <<(C,white)>> #CCFFFF {
}
class SourcedEntity <<(C,white)>> #CCFFFF {
}
class Function <<(C,white)>> #CCFFFF {
}
class Invocation <<(C,white)>> #CCFFFF {
}
class ParametricFunction <<(C,white)>> #CCFFFF {
}
class ImportClause <<(C,white)>> #CCFFFF {
}
class Namespace <<(C,white)>> #CCFFFF {
}
Entity <|-- Concretization
ScriptEntity <|-- Module
Type <|-- Interface
Entity <|-- Implementation
Type <|-- ParameterType
SourceAnchor <|-- IndexedFileAnchor
SourceAnchor <|-- SourceTextAnchor
Type <|-- PrimitiveType
Entity <|-- Access
NamedEntity <|-- StructuralEntity
SourcedEntity <|-- NamedEntity
StructuralEntity <|-- Parameter
NamedEntity <|-- File
ScopingEntity <|-- ScriptEntity
Variable <|-- implicitVariable
Entity <|-- Reference
NamedEntity <|-- ContainerEntity
Type <|-- Enum
BehaviouralEntity <|-- Method
Method <|-- Accessor
ArrowFunction <|-- ParametricArrowFunction
Interface <|-- ParametricInterface
NamedEntity <|-- Alias
ContainerEntity <|-- Type
Class <|-- ParametricClass
Method <|-- ParametricMethod
Entity <|-- ParameterConcretization
NamedEntity <|-- Decorator
ContainerEntity <|-- BehaviouralEntity
Entity <|-- SourceAnchor
StructuralEntity <|-- Variable
NamedEntity <|-- Folder
StructuralEntity <|-- Property
Entity <|-- Inheritance
SourcedEntity <|-- Comment
Type <|-- Class
Entity <|-- SourceLanguage
ContainerEntity <|-- ScopingEntity
BehaviouralEntity <|-- ArrowFunction
SourcedEntity <|-- JSDoc
BehaviouralEntity <|-- Function
StructuralEntity <|-- EnumValue
Entity <|-- SourcedEntity
Function <|-- ParametricFunction
Entity <|-- Invocation
Entity <|-- ImportClause
ScopingEntity <|-- Namespace
TEntityCreator <|.. FamixTypeScriptModel
TWithInterfaces <|.. ContainerEntity
TClassMetrics <|.. Class
NamedEntity "decoratedEntity" -- "decorators*" Decorator
@enduml
\ No newline at end of file
diff --git a/doc-uml/FamixTypeScript.svg b/doc-uml/FamixTypeScript.svg
index 6991a23..0b7e2d8 100644
--- a/doc-uml/FamixTypeScript.svg
+++ b/doc-uml/FamixTypeScript.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/Famix-TypeScript-Entities/FamixTypeScriptEntity.class.st b/src/Famix-TypeScript-Entities/FamixTypeScriptEntity.class.st
index d54f312..9d17ef6 100644
--- a/src/Famix-TypeScript-Entities/FamixTypeScriptEntity.class.st
+++ b/src/Famix-TypeScript-Entities/FamixTypeScriptEntity.class.st
@@ -154,6 +154,13 @@ FamixTypeScriptEntity >> isQueryable [
^ false
]
+{ #category : #testing }
+FamixTypeScriptEntity >> isReference [
+
+
+ ^ false
+]
+
{ #category : #testing }
FamixTypeScriptEntity >> isStructuralEntity [
diff --git a/src/Famix-TypeScript-Entities/FamixTypeScriptImportingContext.class.st b/src/Famix-TypeScript-Entities/FamixTypeScriptImportingContext.class.st
index 96e9096..dfda18d 100644
--- a/src/Famix-TypeScript-Entities/FamixTypeScriptImportingContext.class.st
+++ b/src/Famix-TypeScript-Entities/FamixTypeScriptImportingContext.class.st
@@ -264,7 +264,7 @@ FamixTypeScriptImportingContext >> importProperty [
FamixTypeScriptImportingContext >> importReference [
- ^ self importConcreteEntity: (self class fm3ClassNamed: #Reference)
+ ^ self importAssociation: (self class fm3ClassNamed: #Reference)
]
{ #category : #importing }
diff --git a/src/Famix-TypeScript-Entities/FamixTypeScriptReference.class.st b/src/Famix-TypeScript-Entities/FamixTypeScriptReference.class.st
index 390fbcc..a92f410 100644
--- a/src/Famix-TypeScript-Entities/FamixTypeScriptReference.class.st
+++ b/src/Famix-TypeScript-Entities/FamixTypeScriptReference.class.st
@@ -1,6 +1,38 @@
+"
+## Relations
+======================
+
+### Association source
+| Relation | Origin | Opposite | Type | Comment |
+|---|
+| `referencer` | `FamixTReference` | `outgoingReferences` | `FamixTWithReferences` | Source entity making the reference. from-side of the association|
+
+### Association target
+| Relation | Origin | Opposite | Type | Comment |
+|---|
+| `referredType` | `FamixTReference` | `incomingReferences` | `FamixTReferenceable` | Target entity referenced. 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|
+| `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 : #FamixTypeScriptReference,
#superclass : #FamixTypeScriptEntity,
+ #traits : 'FamixTReference',
+ #classTraits : 'FamixTReference classTrait',
#category : #'Famix-TypeScript-Entities-Entities'
}
diff --git a/src/Famix-TypeScript-Extensions/FamixTSourceLanguage.extension.st b/src/Famix-TypeScript-Extensions/FamixTSourceLanguage.extension.st
new file mode 100644
index 0000000..d35a0b9
--- /dev/null
+++ b/src/Famix-TypeScript-Extensions/FamixTSourceLanguage.extension.st
@@ -0,0 +1,6 @@
+Extension { #name : #FamixTSourceLanguage }
+
+{ #category : #'*Famix-TypeScript-Extensions' }
+FamixTSourceLanguage >> isTypeScript [
+ ^ false
+]
diff --git a/src/Famix-TypeScript-Generator/FamixTWithSourceLanguages.extension.st b/src/Famix-TypeScript-Generator/FamixTWithSourceLanguages.extension.st
deleted file mode 100644
index 8a7b66a..0000000
--- a/src/Famix-TypeScript-Generator/FamixTWithSourceLanguages.extension.st
+++ /dev/null
@@ -1,8 +0,0 @@
-Extension { #name : #FamixTWithSourceLanguages }
-
-{ #category : #'*Famix-TypeScript-Generator' }
-FamixTWithSourceLanguages >> formattedSourceText [
- ^ self sourceLanguage
- ifNotNil: [ :language | language format: self sourceText from: self ]
- ifNil: [ self sourceText ]
-]
diff --git a/src/Famix-TypeScript-Generator/FamixTypeScriptGenerator.class.st b/src/Famix-TypeScript-Generator/FamixTypeScriptGenerator.class.st
index ed86b8e..e83d376 100644
--- a/src/Famix-TypeScript-Generator/FamixTypeScriptGenerator.class.st
+++ b/src/Famix-TypeScript-Generator/FamixTypeScriptGenerator.class.st
@@ -376,6 +376,8 @@ FamixTypeScriptGenerator >> defineHierarchy [
primitiveType --|> type.
primitiveType --|> #TPrimitiveType.
+
+ reference --|> #TReference.
sourcedEntity --|> #TWithComments.