Skip to content
Open
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 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 <|-- ConcretizationScriptEntity <|-- ModuleType <|-- InterfaceEntity <|-- ImplementationType <|-- ParameterTypeSourceAnchor <|-- IndexedFileAnchorSourceAnchor <|-- SourceTextAnchorType <|-- PrimitiveTypeEntity <|-- AccessNamedEntity <|-- StructuralEntitySourcedEntity <|-- NamedEntityStructuralEntity <|-- ParameterNamedEntity <|-- FileScopingEntity <|-- ScriptEntityVariable <|-- implicitVariableEntity <|-- ReferenceNamedEntity <|-- ContainerEntityType <|-- EnumBehaviouralEntity <|-- MethodMethod <|-- AccessorArrowFunction <|-- ParametricArrowFunctionInterface <|-- ParametricInterfaceNamedEntity <|-- AliasContainerEntity <|-- TypeClass <|-- ParametricClassMethod <|-- ParametricMethodEntity <|-- ParameterConcretizationNamedEntity <|-- DecoratorContainerEntity <|-- BehaviouralEntityEntity <|-- SourceAnchorStructuralEntity <|-- VariableNamedEntity <|-- FolderStructuralEntity <|-- PropertyEntity <|-- InheritanceSourcedEntity <|-- CommentType <|-- ClassEntity <|-- SourceLanguageContainerEntity <|-- ScopingEntityBehaviouralEntity <|-- ArrowFunctionSourcedEntity <|-- JSDocBehaviouralEntity <|-- FunctionStructuralEntity <|-- EnumValueEntity <|-- SourcedEntityFunction <|-- ParametricFunctionEntity <|-- InvocationEntity <|-- ImportClauseScopingEntity <|-- NamespaceTEntityCreator <|.. FamixTypeScriptModelTWithInterfaces <|.. ContainerEntityTClassMetrics <|.. ClassNamedEntity "decoratedEntity" -- "decorators*" Decorator@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.
7 changes: 7 additions & 0 deletions src/Famix-TypeScript-Entities/FamixTypeScriptEntity.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,13 @@ FamixTypeScriptEntity >> isQueryable [
^ false
]

{ #category : #testing }
FamixTypeScriptEntity >> isReference [

<generated>
^ false
]

{ #category : #testing }
FamixTypeScriptEntity >> isStructuralEntity [

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ FamixTypeScriptImportingContext >> importProperty [
FamixTypeScriptImportingContext >> importReference [

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

{ #category : #importing }
Expand Down
32 changes: 32 additions & 0 deletions src/Famix-TypeScript-Entities/FamixTypeScriptReference.class.st
Original file line number Diff line number Diff line change
@@ -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'
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Extension { #name : #FamixTSourceLanguage }

{ #category : #'*Famix-TypeScript-Extensions' }
FamixTSourceLanguage >> isTypeScript [
^ false
]

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,8 @@ FamixTypeScriptGenerator >> defineHierarchy [

primitiveType --|> type.
primitiveType --|> #TPrimitiveType.

reference --|> #TReference.

sourcedEntity --|> #TWithComments.

Expand Down