ts2famix 2.0.3 → 2.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.eslintrc.json +24 -24
  2. package/.vscode/settings.json +4 -0
  3. package/LICENSE +24 -24
  4. package/README.md +78 -78
  5. package/TODO +1 -0
  6. package/arwea-fix.json +1 -0
  7. package/bogus.ts +3 -0
  8. package/class-diagram.puml +792 -0
  9. package/debug.txt +13332 -0
  10. package/debuglog.txt +12073 -0
  11. package/dist/analyze.js +2 -2
  12. package/dist/analyze_functions/process_functions.js +84 -64
  13. package/dist/famix2puml.js +126 -0
  14. package/dist/famix_functions/EntityDictionary.js +865 -503
  15. package/dist/famix_functions/helpers_creation.js +1 -1
  16. package/dist/fqn.js +44 -11
  17. package/dist/getClasses-arrow-body.js +43 -0
  18. package/dist/lib/famix/famix_JSON_exporter.js +1 -1
  19. package/dist/lib/famix/famix_base_element.js +1 -1
  20. package/dist/lib/famix/famix_repository.js +57 -2
  21. package/dist/lib/famix/index.js +1 -1
  22. package/dist/lib/famix/model/famix/access.js +1 -1
  23. package/dist/lib/famix/model/famix/accessor.js +1 -1
  24. package/dist/lib/famix/model/famix/alias.js +1 -1
  25. package/dist/lib/famix/model/famix/arrow_function.js +1 -1
  26. package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
  27. package/dist/lib/famix/model/famix/class.js +1 -1
  28. package/dist/lib/famix/model/famix/comment.js +1 -1
  29. package/dist/lib/famix/model/famix/concretisation.js +1 -1
  30. package/dist/lib/famix/model/famix/container_entity.js +1 -1
  31. package/dist/lib/famix/model/famix/decorator.js +1 -1
  32. package/dist/lib/famix/model/famix/entity.js +1 -1
  33. package/dist/lib/famix/model/famix/enum.js +1 -1
  34. package/dist/lib/famix/model/famix/enum_value.js +1 -1
  35. package/dist/lib/famix/model/famix/function.js +1 -1
  36. package/dist/lib/famix/model/famix/import_clause.js +1 -1
  37. package/dist/lib/famix/model/famix/index.js +1 -1
  38. package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
  39. package/dist/lib/famix/model/famix/inheritance.js +1 -1
  40. package/dist/lib/famix/model/famix/interface.js +1 -1
  41. package/dist/lib/famix/model/famix/invocation.js +1 -1
  42. package/dist/lib/famix/model/famix/method.js +1 -1
  43. package/dist/lib/famix/model/famix/module.js +1 -1
  44. package/dist/lib/famix/model/famix/named_entity.js +1 -1
  45. package/dist/lib/famix/model/famix/parameter.js +1 -1
  46. package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
  47. package/dist/lib/famix/model/famix/parameter_type.js +1 -1
  48. package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
  49. package/dist/lib/famix/model/famix/parametric_class.js +1 -1
  50. package/dist/lib/famix/model/famix/parametric_function.js +1 -1
  51. package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
  52. package/dist/lib/famix/model/famix/parametric_method.js +1 -1
  53. package/dist/lib/famix/model/famix/primitive_type.js +1 -1
  54. package/dist/lib/famix/model/famix/property.js +1 -1
  55. package/dist/lib/famix/model/famix/reference.js +1 -1
  56. package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
  57. package/dist/lib/famix/model/famix/script_entity.js +1 -1
  58. package/dist/lib/famix/model/famix/source_anchor.js +1 -1
  59. package/dist/lib/famix/model/famix/source_language.js +1 -1
  60. package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
  61. package/dist/lib/famix/model/famix/structural_entity.js +1 -1
  62. package/dist/lib/famix/model/famix/type.js +1 -1
  63. package/dist/lib/famix/model/famix/variable.js +1 -1
  64. package/dist/lib/famix/src/famix_JSON_exporter.js +55 -0
  65. package/dist/lib/famix/src/famix_base_element.js +18 -0
  66. package/dist/lib/famix/src/famix_repository.js +224 -0
  67. package/dist/lib/famix/src/index.js +31 -0
  68. package/dist/lib/famix/src/model/famix/access.js +40 -0
  69. package/dist/lib/famix/src/model/famix/accessor.js +17 -0
  70. package/dist/lib/famix/src/model/famix/alias.js +33 -0
  71. package/dist/lib/famix/src/model/famix/arrowFunction.js +17 -0
  72. package/dist/lib/famix/src/model/famix/arrow_function.js +17 -0
  73. package/dist/lib/famix/src/model/famix/behavioral_entity.js +79 -0
  74. package/dist/lib/famix/src/model/famix/class.js +71 -0
  75. package/dist/lib/famix/src/model/famix/comment.js +39 -0
  76. package/dist/lib/famix/src/model/famix/concretisation.js +31 -0
  77. package/dist/lib/famix/src/model/famix/container_entity.js +126 -0
  78. package/dist/lib/famix/src/model/famix/decorator.js +32 -0
  79. package/dist/lib/famix/src/model/famix/entity.js +17 -0
  80. package/dist/lib/famix/src/model/famix/enum.js +31 -0
  81. package/dist/lib/famix/src/model/famix/enum_value.js +25 -0
  82. package/dist/lib/famix/src/model/famix/function.js +17 -0
  83. package/dist/lib/famix/src/model/famix/implicit_variable.js +17 -0
  84. package/dist/lib/famix/src/model/famix/import_clause.js +41 -0
  85. package/dist/lib/famix/src/model/famix/index.js +86 -0
  86. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +38 -0
  87. package/dist/lib/famix/src/model/famix/inheritance.js +33 -0
  88. package/dist/lib/famix/src/model/famix/interface.js +64 -0
  89. package/dist/lib/famix/src/model/famix/invocation.js +54 -0
  90. package/dist/lib/famix/src/model/famix/method.js +67 -0
  91. package/dist/lib/famix/src/model/famix/module.js +60 -0
  92. package/dist/lib/famix/src/model/famix/named_entity.js +78 -0
  93. package/dist/lib/famix/src/model/famix/parameter.js +25 -0
  94. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +44 -0
  95. package/dist/lib/famix/src/model/famix/parameter_concretisation.js +44 -0
  96. package/dist/lib/famix/src/model/famix/parameter_type.js +45 -0
  97. package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +29 -0
  98. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +31 -0
  99. package/dist/lib/famix/src/model/famix/parametric_class.js +44 -0
  100. package/dist/lib/famix/src/model/famix/parametric_function.js +31 -0
  101. package/dist/lib/famix/src/model/famix/parametric_interface.js +44 -0
  102. package/dist/lib/famix/src/model/famix/parametric_method.js +31 -0
  103. package/dist/lib/famix/src/model/famix/primitive_type.js +17 -0
  104. package/dist/lib/famix/src/model/famix/property.js +73 -0
  105. package/dist/lib/famix/src/model/famix/reference.js +33 -0
  106. package/dist/lib/famix/src/model/famix/scoping_entity.js +36 -0
  107. package/dist/lib/famix/src/model/famix/script_entity.js +29 -0
  108. package/dist/lib/famix/src/model/famix/source_anchor.js +27 -0
  109. package/dist/lib/famix/src/model/famix/source_language.js +35 -0
  110. package/dist/lib/famix/src/model/famix/sourced_entity.js +60 -0
  111. package/dist/lib/famix/src/model/famix/structural_entity.js +39 -0
  112. package/dist/lib/famix/src/model/famix/text_anchor.js +38 -0
  113. package/dist/lib/famix/src/model/famix/type.js +73 -0
  114. package/dist/lib/famix/src/model/famix/variable.js +24 -0
  115. package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
  116. package/dist/refactorer/refactor-getter-setter.js +1 -1
  117. package/dist/ts2famix-cli-wrapper.js +1 -1
  118. package/dist/ts2famix-cli.js +1 -1
  119. package/doc-uml/famix-typescript-model.puml +607 -607
  120. package/eslint.config.mjs +28 -0
  121. package/fqn-model.json +1 -0
  122. package/iterateGenericTypes.ts +69 -0
  123. package/out/class-diagram/class-diagram.svg +1 -0
  124. package/package.json +70 -66
  125. package/sample.json +1 -0
  126. package/sample.ts +1 -0
  127. package/src/analyze.ts +120 -120
  128. package/src/analyze_functions/process_functions.ts +1040 -1019
  129. package/src/famix_functions/EntityDictionary.ts +2016 -1593
  130. package/src/famix_functions/helpers_creation.ts +135 -135
  131. package/src/fqn.ts +50 -16
  132. package/src/generate_uml.sh +20 -20
  133. package/src/lib/famix/License.md +22 -22
  134. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  135. package/src/lib/famix/famix_base_element.ts +22 -22
  136. package/src/lib/famix/famix_repository.ts +278 -243
  137. package/src/lib/famix/index.ts +8 -8
  138. package/src/lib/famix/model/famix/access.ts +50 -50
  139. package/src/lib/famix/model/famix/accessor.ts +15 -15
  140. package/src/lib/famix/model/famix/alias.ts +39 -39
  141. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  142. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  143. package/src/lib/famix/model/famix/class.ts +85 -85
  144. package/src/lib/famix/model/famix/comment.ts +47 -47
  145. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  146. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  147. package/src/lib/famix/model/famix/decorator.ts +37 -37
  148. package/src/lib/famix/model/famix/entity.ts +15 -15
  149. package/src/lib/famix/model/famix/enum.ts +30 -30
  150. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  151. package/src/lib/famix/model/famix/function.ts +15 -15
  152. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  153. package/src/lib/famix/model/famix/index.ts +41 -41
  154. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  155. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  156. package/src/lib/famix/model/famix/interface.ts +75 -75
  157. package/src/lib/famix/model/famix/invocation.ts +65 -65
  158. package/src/lib/famix/model/famix/method.ts +89 -89
  159. package/src/lib/famix/model/famix/module.ts +71 -71
  160. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  161. package/src/lib/famix/model/famix/parameter.ts +28 -28
  162. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  163. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  164. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  165. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  166. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  167. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  168. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  169. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  170. package/src/lib/famix/model/famix/property.ts +94 -94
  171. package/src/lib/famix/model/famix/reference.ts +40 -40
  172. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  173. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  174. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  175. package/src/lib/famix/model/famix/source_language.ts +35 -35
  176. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  177. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  178. package/src/lib/famix/model/famix/type.ts +87 -87
  179. package/src/lib/famix/model/famix/variable.ts +27 -27
  180. package/src/lib/famix/package.json +28 -28
  181. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  182. package/src/refactorer/refactor-getter-setter.ts +140 -140
  183. package/src/ts2famix-cli-wrapper.ts +21 -21
  184. package/src/ts2famix-cli.ts +60 -60
  185. package/stats.txt +3091 -0
  186. package/tabby-debug-output.txt +19433 -0
  187. package/ts2famix.log +22656 -0
  188. package/tsconfig.check-tests.json +14 -14
  189. package/tsconfig.json +72 -72
  190. package/validate-references.js +103 -0
@@ -1,608 +1,608 @@
1
- @startuml
2
- class FamixJSONExporter {
3
- -element: FamixBaseElement
4
- -bufferArray: any
5
- -FamixPrefix: string
6
- +addProperty(name: string, prop: unknown): void
7
- +getJSON(): string
8
- }
9
- class Entity extends FamixBaseElement {
10
- +getJSON(): string
11
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
12
- }
13
- class SourceLanguage extends Entity {
14
- -_sourcedEntities: Set<SourcedEntity>
15
- +name: string
16
- +addSourcedEntity(sourcedEntity: SourcedEntity): void
17
- +getJSON(): string
18
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
19
- +sourcedEntities: Set<SourcedEntity>
20
- }
21
- class Comment extends SourcedEntity {
22
- -_isJSDoc: boolean
23
- -_container: SourcedEntity
24
- -_content: string
25
- +getJSON(): string
26
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
27
- +isJSDoc: boolean
28
- +isJSDoc: boolean
29
- +container: SourcedEntity
30
- +container: SourcedEntity
31
- +content: string
32
- +content: string
33
- }
34
- class SourceAnchor extends Entity {
35
- -_element: SourcedEntity
36
- +getJSON(): string
37
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
38
- +element: SourcedEntity
39
- +element: SourcedEntity
40
- }
41
- class SourcedEntity extends Entity {
42
- -_isStub: boolean
43
- -_sourceAnchor: SourceAnchor
44
- -_comments: Set<Comment>
45
- +addComment(comment: Comment): void
46
- -_declaredSourceLanguage: SourceLanguage
47
- +getJSON(): string
48
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
49
- +isStub: boolean
50
- +isStub: boolean
51
- +sourceAnchor: SourceAnchor
52
- +sourceAnchor: SourceAnchor
53
- +comments: Set<Comment>
54
- +declaredSourceLanguage: SourceLanguage
55
- +declaredSourceLanguage: SourceLanguage
56
- }
57
- class ScopingEntity extends ContainerEntity {
58
- -_modules: Set<Module>
59
- +addModule(childModule: Module): void
60
- +getJSON(): string
61
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
62
- +modules: Set<Module>
63
- }
64
- class ScriptEntity extends ScopingEntity {
65
- -_numberOfLinesOfText: number
66
- -_numberOfCharacters: number
67
- +getJSON(): string
68
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
69
- +numberOfLinesOfText: number
70
- +numberOfLinesOfText: number
71
- +numberOfCharacters: number
72
- +numberOfCharacters: number
73
- }
74
- class Module extends ScriptEntity {
75
- +isAmbient: boolean
76
- +isAmbient: boolean
77
- -_isAmbient: boolean
78
- +isNamespace: boolean
79
- +isNamespace: boolean
80
- -_isNamespace: boolean
81
- +isModule: boolean
82
- +isModule: boolean
83
- -_isModule: boolean
84
- -_parentScope: ScopingEntity
85
- -_outgoingImports: Set<ImportClause>
86
- +addOutgoingImport(importClause: ImportClause): void
87
- +getJSON(): string
88
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
89
- +parentScope: ScopingEntity
90
- +parentScope: ScopingEntity
91
- +outgoingImports: Set<ImportClause>
92
- }
93
- class ImportClause extends Entity {
94
- -_importingEntity: Module
95
- -_importedEntity: NamedEntity
96
- -_moduleSpecifier: string
97
- +getJSON(): string
98
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
99
- +importingEntity: Module
100
- +importingEntity: Module
101
- +importedEntity: NamedEntity
102
- +importedEntity: NamedEntity
103
- +moduleSpecifier: string
104
- +moduleSpecifier: string
105
- }
106
- class Alias extends NamedEntity {
107
- -_parentEntity: NamedEntity
108
- -_aliasedEntity: Type
109
- +getJSON(): string
110
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
111
- +parentEntity: NamedEntity
112
- +parentEntity: NamedEntity
113
- +aliasedEntity: Type
114
- +aliasedEntity: Type
115
- }
116
- class Decorator extends NamedEntity {
117
- -_decoratorExpression: string
118
- -_decoratedEntity: NamedEntity
119
- +getJSON(): string
120
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
121
- +decoratorExpression: string
122
- +decoratorExpression: string
123
- +decoratedEntity: NamedEntity
124
- +decoratedEntity: NamedEntity
125
- }
126
- class NamedEntity extends SourcedEntity {
127
- -_fullyQualifiedName: string
128
- -_receivedInvocations: Set<Invocation>
129
- +addReceivedInvocation(receivedInvocation: Invocation): void
130
- -_incomingImports: Set<ImportClause>
131
- +addIncomingImport(anImport: ImportClause): void
132
- -_name: string
133
- -_aliases: Set<Alias>
134
- +addAlias(alias: Alias): void
135
- -_decorators: Set<Decorator>
136
- +addDecorator(decorator: Decorator): void
137
- +getJSON(): string
138
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
139
- +fullyQualifiedName: string
140
- +fullyQualifiedName: string
141
- +receivedInvocations: Set<Invocation>
142
- +incomingImports: Set<ImportClause>
143
- +name: string
144
- +name: string
145
- +aliases: Set<Alias>
146
- +decorators: Set<Decorator>
147
- }
148
- class Parameter extends StructuralEntity {
149
- -_parentEntity: BehavioralEntity
150
- +getJSON(): string
151
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
152
- +parentEntity: BehavioralEntity
153
- +parentEntity: BehavioralEntity
154
- }
155
- class Property extends StructuralEntity {
156
- -_isClassSide: boolean
157
- +readOnly: boolean
158
- +readOnly: boolean
159
- -_readOnly: boolean
160
- -_parentEntity: Class | Interface
161
- +isDefinitelyAssigned: boolean
162
- +isDefinitelyAssigned: boolean
163
- +isOptional: boolean
164
- +isOptional: boolean
165
- +isJavaScriptPrivate: boolean
166
- +isJavaScriptPrivate: boolean
167
- -_isDefinitelyAssigned: boolean
168
- -_isOptional: boolean
169
- -_isJavaScriptPrivate: boolean
170
- +visibility: VisibilityTypes
171
- +visibility: VisibilityTypes
172
- -_visibility: VisibilityTypes
173
- +getJSON(): string
174
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
175
- +isClassSide: boolean
176
- +isClassSide: boolean
177
- +parentEntity: Class | Interface
178
- +parentEntity: Class | Interface
179
- }
180
- class Inheritance extends Entity {
181
- -_superclass: Class | Interface
182
- -_subclass: Class | Interface
183
- +getJSON(): string
184
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
185
- +superclass: Class | Interface
186
- +superclass: Class | Interface
187
- +subclass: Class | Interface
188
- +subclass: Class | Interface
189
- }
190
- class Class extends Type {
191
- -_isAbstract: boolean
192
- -_properties: Set<Property>
193
- +addProperty(property: Property): void
194
- -_methods: Set<Method>
195
- +addMethod(method: Method): void
196
- -_superInheritances: Set<Inheritance>
197
- +addSuperInheritance(superInheritance: Inheritance): void
198
- -_subInheritances: Set<Inheritance>
199
- +addSubInheritance(subInheritance: Inheritance): void
200
- +getJSON(): string
201
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
202
- +isAbstract: boolean
203
- +isAbstract: boolean
204
- +properties: Set<Property>
205
- +methods: Set<Method>
206
- +superInheritances: Set<Inheritance>
207
- +subInheritances: Set<Inheritance>
208
- }
209
- class Method extends BehavioralEntity {
210
- -_parentEntity: Class | Interface
211
- -_kind: string
212
- -_isAbstract: boolean
213
- -_isClassSide: boolean
214
- -_isPrivate: boolean
215
- -_isPublic: boolean
216
- -_isProtected: boolean
217
- +getJSON(): string
218
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
219
- +parentEntity: Class | Interface
220
- +parentEntity: Class | Interface
221
- +kind: string
222
- +kind: string
223
- +isAbstract: boolean
224
- +isAbstract: boolean
225
- +isClassSide: boolean
226
- +isClassSide: boolean
227
- +isPrivate: boolean
228
- +isPrivate: boolean
229
- +isPublic: boolean
230
- +isPublic: boolean
231
- +isProtected: boolean
232
- +isProtected: boolean
233
- }
234
- class Interface extends Type {
235
- -_properties: Set<Property>
236
- +addProperty(property: Property): void
237
- -_methods: Set<Method>
238
- +addMethod(method: Method): void
239
- -_superInheritances: Set<Inheritance>
240
- +addSuperInheritance(superInheritance: Inheritance): void
241
- -_subInheritances: Set<Inheritance>
242
- +addSubInheritance(subInheritance: Inheritance): void
243
- +getJSON(): string
244
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
245
- +properties: Set<Property>
246
- +methods: Set<Method>
247
- +superInheritances: Set<Inheritance>
248
- +subInheritances: Set<Inheritance>
249
- }
250
- class PrimitiveType extends Type {
251
- +getJSON(): string
252
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
253
- }
254
- class ParametricClass extends Class {
255
- -_genericParameters: Set<ParameterType>
256
- +addGenericParameter(genericParameter: ParameterType): void
257
- +clearGenericParameters(): void
258
- -_concreteParameters: Set<Class | Interface | PrimitiveType>
259
- +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
260
- +getJSON(): string
261
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
262
- +genericParameters: Set<ParameterType>
263
- +concreteParameters: Set<Class | Interface | PrimitiveType>
264
- }
265
- class ParametricInterface extends Interface {
266
- -_genericParameters: Set<ParameterType>
267
- +addGenericParameter(genericParameter: ParameterType): void
268
- +clearGenericParameters(): void
269
- -_concreteParameters: Set<Class | Interface | PrimitiveType>
270
- +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
271
- +getJSON(): string
272
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
273
- +genericParameters: Set<ParameterType>
274
- +concreteParameters: Set<Class | Interface | PrimitiveType>
275
- }
276
- class Function extends BehavioralEntity {
277
- +getJSON(): string
278
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
279
- }
280
- class Accessor extends Method {
281
- +getJSON(): string
282
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
283
- }
284
- class ParametricMethod extends Method {
285
- -_concreteParameters: Set<Class | Interface | PrimitiveType>
286
- +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
287
- +getJSON(): string
288
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
289
- +concreteParameters: Set<Class | Interface | PrimitiveType>
290
- }
291
- class ParametricFunction extends Function {
292
- -_concreteParameters: Set<Class | Interface | PrimitiveType>
293
- +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
294
- +getJSON(): string
295
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
296
- +concreteParameters: Set<Class | Interface | PrimitiveType>
297
- }
298
- class ArrowFunction extends BehavioralEntity {
299
- +getJSON(): string
300
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
301
- }
302
- class ParametricArrowFunction extends ArrowFunction {
303
- -_concreteParameters: Set<Class | Interface | PrimitiveType>
304
- +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
305
- +getJSON(): string
306
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
307
- +concreteParameters: Set<Class | Interface | PrimitiveType>
308
- }
309
- class ParameterType extends Type {
310
- -_parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
311
- -_baseType: Type
312
- -_arguments: Set<Type>
313
- +addArgument(argument: Type): void
314
- +getJSON(): string
315
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
316
- +parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
317
- +parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
318
- +baseType: Type
319
- +baseType: Type
320
- +arguments: Set<Type>
321
- }
322
- class BehavioralEntity extends ContainerEntity {
323
- -_signature: string
324
- -_parameters: Set<Parameter>
325
- +addParameter(parameter: Parameter): void
326
- -_numberOfParameters: number
327
- -_incomingInvocations: Set<Invocation>
328
- +addIncomingInvocation(incomingInvocation: Invocation): void
329
- -_declaredType: Type
330
- -_genericParameters: Set<ParameterType>
331
- +addGenericParameter(genericParameter: ParameterType): void
332
- +clearGenericParameters(): void
333
- +getJSON(): string
334
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
335
- +signature: string
336
- +signature: string
337
- +parameters: Set<Parameter>
338
- +numberOfParameters: number
339
- +numberOfParameters: number
340
- +incomingInvocations: Set<Invocation>
341
- +declaredType: Type
342
- +declaredType: Type
343
- +genericParameters: Set<ParameterType>
344
- }
345
- class Invocation extends Entity {
346
- -_candidates: Set<BehavioralEntity>
347
- +addCandidate(candidate: BehavioralEntity): void
348
- -_receiver: NamedEntity
349
- -_sender: ContainerEntity
350
- -_signature: string
351
- +getJSON(): string
352
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
353
- +candidates: Set<BehavioralEntity>
354
- +receiver: NamedEntity
355
- +receiver: NamedEntity
356
- +sender: ContainerEntity
357
- +sender: ContainerEntity
358
- +signature: string
359
- +signature: string
360
- }
361
- class Reference extends Entity {
362
- -_source: ContainerEntity
363
- -_target: Type
364
- +getJSON(): string
365
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
366
- +source: ContainerEntity
367
- +source: ContainerEntity
368
- +target: Type
369
- +target: Type
370
- }
371
- class Variable extends StructuralEntity {
372
- -_parentContainerEntity: ContainerEntity
373
- +getJSON(): string
374
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
375
- +parentContainerEntity: ContainerEntity
376
- +parentContainerEntity: ContainerEntity
377
- }
378
- class ContainerEntity extends NamedEntity {
379
- -_parentContainerEntity: ContainerEntity
380
- -_childrenContainerEntities: Set<ContainerEntity>
381
- +addChildContainerEntity(childContainerEntity: ContainerEntity): void
382
- -_cyclomaticComplexity: number
383
- -_numberOfStatements: number
384
- -_outgoingReferences: Set<Reference>
385
- +addOutgoingReference(outgoingReference: Reference): void
386
- -_numberOfLinesOfCode: number
387
- -_outgoingInvocations: Set<Invocation>
388
- +addOutgoingInvocation(outgoingInvocation: Invocation): void
389
- -_accesses: Set<Access>
390
- +addAccess(access: Access): void
391
- -childrenTypes: Set<Type>
392
- +addType(childType: Type): void
393
- -childrenFunctions: Set<FamixFunctionEntity>
394
- +addFunction(childFunction: FamixFunctionEntity): void
395
- -_variables: Set<Variable>
396
- +addVariable(variable: Variable): void
397
- +getJSON(): string
398
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
399
- +parentContainerEntity: ContainerEntity
400
- +parentContainerEntity: ContainerEntity
401
- +childrenContainerEntities: Set<ContainerEntity>
402
- +cyclomaticComplexity: number
403
- +cyclomaticComplexity: number
404
- +numberOfStatements: number
405
- +numberOfStatements: number
406
- +outgoingReferences: Set<Reference>
407
- +numberOfLinesOfCode: number
408
- +numberOfLinesOfCode: number
409
- +outgoingInvocations: Set<Invocation>
410
- +accesses: Set<Access>
411
- +types: Set<Type>
412
- +functions: Set<FamixFunctionEntity>
413
- +variables: Set<Variable>
414
- }
415
- class Type extends ContainerEntity {
416
- -_container: ContainerEntity
417
- -_typeAliases: Set<Alias>
418
- +addTypeAlias(typeAlias: Alias): void
419
- -_structuresWithDeclaredType: Set<StructuralEntity>
420
- +addStructureWithDeclaredType(structureWithDeclaredType: StructuralEntity): void
421
- -_behavioralEntitiesWithDeclaredType: Set<BehavioralEntity>
422
- +addBehavioralEntityWithDeclaredType(behavioralEntityWithDeclaredType: BehavioralEntity): void
423
- -_incomingReferences: Set<Reference>
424
- +addIncomingReference(incomingReference: Reference): void
425
- +getJSON(): string
426
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
427
- +container: ContainerEntity
428
- +container: ContainerEntity
429
- +typeAliases: Set<Alias>
430
- +structuresWithDeclaredType: Set<StructuralEntity>
431
- +behavioralEntitiesWithDeclaredType: Set<BehavioralEntity>
432
- +incomingReferences: Set<Reference>
433
- }
434
- class StructuralEntity extends NamedEntity {
435
- -_incomingAccesses: Set<Access>
436
- +addIncomingAccess(incomingAccess: Access): void
437
- -_declaredType: Type
438
- +getJSON(): string
439
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
440
- +incomingAccesses: Set<Access>
441
- +declaredType: Type
442
- +declaredType: Type
443
- }
444
- class Access extends Entity {
445
- -_accessor: ContainerEntity
446
- -_variable: StructuralEntity
447
- -_isWrite: boolean
448
- +getJSON(): string
449
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
450
- +accessor: ContainerEntity
451
- +accessor: ContainerEntity
452
- +variable: StructuralEntity
453
- +variable: StructuralEntity
454
- +isWrite: boolean
455
- +isWrite: boolean
456
- }
457
- class Concretisation extends Entity {
458
- -_genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
459
- -_concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
460
- +getJSON(): string
461
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
462
- +genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
463
- +genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
464
- +concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
465
- +concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
466
- }
467
- class Enum extends Type {
468
- -_values: Set<EnumValue>
469
- +addValue(value: EnumValue): void
470
- +getJSON(): string
471
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
472
- +values: Set<EnumValue>
473
- }
474
- class EnumValue extends StructuralEntity {
475
- -_parentEntity: Enum
476
- +getJSON(): string
477
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
478
- +parentEntity: Enum
479
- +parentEntity: Enum
480
- }
481
- class IndexedFileAnchor extends SourceAnchor {
482
- -_startPos: number
483
- -_endPos: number
484
- -_fileName: string
485
- +getJSON(): string
486
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
487
- +startPos: number
488
- +startPos: number
489
- +endPos: number
490
- +endPos: number
491
- +fileName: string
492
- +fileName: string
493
- }
494
- class ParameterConcretisation extends Entity {
495
- -_genericParameter: ParameterType
496
- -_concreteParameter: PrimitiveType
497
- -_concretisations: Set<Concretisation>
498
- +addConcretisation(concretisation: Concretisation): void
499
- +getJSON(): string
500
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
501
- +genericParameter: ParameterType
502
- +genericParameter: ParameterType
503
- +concreteParameter: PrimitiveType
504
- +concreteParameter: PrimitiveType
505
- +concretisations: Set<Concretisation>
506
- }
507
- interface SearchParameters {
508
- +searchArray: string[]
509
- +targetArray: string[]
510
- +start?: number | undefined
511
- }
512
- class EntityDictionary {
513
- +famixRep: FamixRepository
514
- -fmxAliasMap: Map<string, Famix.Alias>
515
- -fmxClassMap: Map<string, Famix.Class | Famix.ParametricClass>
516
- -fmxInterfaceMap: Map<string, Famix.Interface | Famix.ParametricInterface>
517
- -fmxModuleMap: Map<string, Famix.Module>
518
- -fmxFileMap: Map<string, Famix.Module | Famix.ScriptEntity>
519
- -fmxTypeMap: Map<string, Famix.Type | Famix.ParameterType | Famix.PrimitiveType>
520
- -fmxFunctionAndMethodMap: Map<string, Famix.Method | Famix.ParametricMethod | Famix.Function | Famix.ParametricFunction>
521
- -UNKNOWN_VALUE: string
522
- +fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>
523
- +tsMorphElementObjectMap: Map<TSMorphObjectType, Famix.Entity>
524
- +addSourceAnchor(fmx: Famix.SourcedEntity, node: TSMorphObjectType): Famix.IndexedFileAnchor
525
- +makeFamixIndexFileAnchor(sourceElement: TSMorphObjectType, famixElement: Famix.SourcedEntity): void
526
- +createOrGetFamixFile(f: SourceFile, isModule: boolean): Famix.Module | Famix.ScriptEntity
527
- +createOrGetFamixModule(m: ModuleDeclaration): Famix.Module
528
- +createFamixAlias(a: TypeAliasDeclaration): Famix.Alias
529
- +createOrGetFamixClass(cls: ClassDeclaration): Famix.Class | Famix.ParametricClass
530
- +createOrGetFamixInterface(inter: InterfaceDeclaration): Famix.Interface | Famix.ParametricInterface
531
- +createOrGetFamixConcreteElement(concreteElement: ParametricVariantType, concreteElementDeclaration: ConcreteElementTSMorphType, concreteArguments: TypeNode<ts.TypeNode>[]): ParametricVariantType
532
- +createFamixProperty(property: PropertyDeclaration | PropertySignature): Famix.Property
533
- +createOrGetFamixMethod(method: MethodDeclaration | ConstructorDeclaration | MethodSignature | GetAccessorDeclaration | SetAccessorDeclaration, currentCC: { [key: string]: number; }): Famix.Method | Famix.ParametricMethod | Famix.Accessor
534
- +createOrGetFamixFunction(func: FunctionDeclaration | FunctionExpression, currentCC: { [key: string]: number; }): Famix.Function | Famix.ParametricFunction
535
- +createFamixParameter(param: ParameterDeclaration): Famix.Parameter
536
- +createFamixParameterType(tp: TypeParameterDeclaration): Famix.ParameterType
537
- +createOrGetFamixConcreteType(param: TypeNode<ts.TypeNode>): Famix.Class | Famix.Interface | Famix.ParameterType | Famix.PrimitiveType
538
- +createFamixVariable(variable: VariableDeclaration): Famix.Variable
539
- +createFamixEnum(enumEntity: EnumDeclaration): Famix.Enum
540
- +createFamixEnumValue(enumMember: EnumMember): Famix.EnumValue
541
- +createOrGetFamixDecorator(decorator: Decorator, decoratedEntity: ClassDeclaration | MethodDeclaration | ParameterDeclaration | PropertyDeclaration | GetAccessorDeclaration | SetAccessorDeclaration): Famix.Decorator
542
- +createFamixComment(comment: CommentRange, fmxScope: Famix.NamedEntity, isJSDoc: boolean): Famix.Comment
543
- +createOrGetFamixType(typeName: string, element: TypeDeclaration): Famix.Type | Famix.ParameterType | Famix.PrimitiveType
544
- +createFamixAccess(node: Identifier, id: number): void
545
- +createFamixInvocation(node: Identifier, m: MethodDeclaration | ConstructorDeclaration | FunctionDeclaration | FunctionExpression | GetAccessorDeclaration | SetAccessorDeclaration, id: number): void
546
- +createFamixInheritance(cls: ClassDeclaration | InterfaceDeclaration, inhClass: ClassDeclaration | InterfaceDeclaration | ExpressionWithTypeArguments): void
547
- +createFamixImportClause(importedEntity: Famix.NamedEntity, importingEntity: Famix.Module): void
548
- +oldCreateFamixImportClause(importClauseInfo: { importDeclaration?: ImportDeclaration | ImportEqualsDeclaration | undefined; importerSourceFile: SourceFile; moduleSpecifierFilePath: string; importElement: ImportSpecifier | Identifier; isInExports: boolean; isDefaultExport: boolean; }): void
549
- +createFamixArrowFunction(arrowExpression: Expression<ts.Expression>, currentCC: { [key: string]: number; }): Famix.ParametricArrowFunction | Famix.ArrowFunction
550
- +createFamixConcretisation(conEntity: Famix.ParametricClass | Famix.ParametricInterface | Famix.ParametricMethod | Famix.ParametricFunction, genEntity: Famix.ParametricClass | Famix.ParametricInterface | Famix.ParametricMethod | Famix.ParametricFunction): Famix.Concretisation
551
- +createFamixParameterConcretisation(concretisation: Famix.Concretisation): Famix.ParameterConcretisation | undefined
552
- +createFamixConcretisationClassOrInterfaceSpecialisation(element: ClassDeclaration | InterfaceDeclaration): void
553
- +createFamixConcretisationGenericInstantiation(cls: ClassDeclaration): void
554
- +createFamixConcretisationFunctionInstantiation(element: MethodDeclaration | FunctionDeclaration): void
555
- +createFamixConcretisationInterfaceClass(cls: ClassDeclaration): void
556
- +createFamixConcretisationTypeInstanciation(element: ClassDeclaration | InterfaceDeclaration): void
557
- +convertToRelativePath(absolutePath: string, absolutePathProject: string): string
558
- }
559
- class FamixRepository {
560
- -elements: Set<FamixBaseElement>
561
- -famixClasses: Set<Class>
562
- -famixInterfaces: Set<Interface>
563
- -famixModules: Set<Module>
564
- -famixMethods: Set<Method>
565
- -famixVariables: Set<Variable>
566
- -famixFunctions: Set<FamixFunctionEntity>
567
- -famixFiles: Set<Module | ScriptEntity>
568
- -idCounter: number
569
- -absolutePath: string
570
- -fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>
571
- -tsMorphObjectMap: Map<TSMorphObjectType, Famix.Entity>
572
- +setFmxElementObjectMap(fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>): void
573
- +getFmxElementObjectMap(): Map<Famix.Entity, TSMorphObjectType>
574
- +getAbsolutePath(): string
575
- +setAbsolutePath(path: string): void
576
- +getFamixEntityById(id: number): FamixBaseElement | undefined
577
- +getFamixEntityByFullyQualifiedName(fullyQualifiedName: string): FamixBaseElement | undefined
578
- +export(arg0: { format: string; }): string
579
- +_getAllEntities(): Set<FamixBaseElement>
580
- +_getAllEntitiesWithType(theType: string): Set<FamixBaseElement>
581
- +_getFamixClass(fullyQualifiedName: string): Class | undefined
582
- +_getFamixInterface(fullyQualifiedName: string): Interface | undefined
583
- +_getFamixMethod(fullyQualifiedName: string): Method | undefined
584
- +_getFamixFunction(fullyQualifiedName: string): FamixFunctionEntity | undefined
585
- +_getFamixVariable(fullyQualifiedName: string): Variable | undefined
586
- +_getFamixModule(fullyQualifiedName: string): Module | undefined
587
- +_getFamixModules(): Set<Module>
588
- +_getFamixFile(fullyQualifiedName: string): Module | ScriptEntity | undefined
589
- +_getFamixFiles(): Set<Module | ScriptEntity>
590
- +_methodNamesAsSetFromClass(className: string): Set<string>
591
- +_methodParentsAsSetFromClass(className: string): Set<Type>
592
- +_initMapFromModel(model: string): Map<number, unknown>
593
- +addElement(element: FamixBaseElement): void
594
- +getJSON(): string
595
- }
596
- class Importer {
597
- -project: Project
598
- +famixRepFromPaths(paths: string[]): FamixRepository
599
- -processEntities(project: Project): void
600
- +famixRepFromSource(filename: string, source: string): FamixRepository
601
- +famixRepFromProject(project: Project): FamixRepository
602
- }
603
- abstract class FamixBaseElement {
604
- +id: number
605
- +{abstract} getJSON(): string
606
- +addPropertiesToExporter(exporter: FamixJSONExporter): void
607
- }
1
+ @startuml
2
+ class FamixJSONExporter {
3
+ -element: FamixBaseElement
4
+ -bufferArray: any
5
+ -FamixPrefix: string
6
+ +addProperty(name: string, prop: unknown): void
7
+ +getJSON(): string
8
+ }
9
+ class Entity extends FamixBaseElement {
10
+ +getJSON(): string
11
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
12
+ }
13
+ class SourceLanguage extends Entity {
14
+ -_sourcedEntities: Set<SourcedEntity>
15
+ +name: string
16
+ +addSourcedEntity(sourcedEntity: SourcedEntity): void
17
+ +getJSON(): string
18
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
19
+ +sourcedEntities: Set<SourcedEntity>
20
+ }
21
+ class Comment extends SourcedEntity {
22
+ -_isJSDoc: boolean
23
+ -_container: SourcedEntity
24
+ -_content: string
25
+ +getJSON(): string
26
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
27
+ +isJSDoc: boolean
28
+ +isJSDoc: boolean
29
+ +container: SourcedEntity
30
+ +container: SourcedEntity
31
+ +content: string
32
+ +content: string
33
+ }
34
+ class SourceAnchor extends Entity {
35
+ -_element: SourcedEntity
36
+ +getJSON(): string
37
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
38
+ +element: SourcedEntity
39
+ +element: SourcedEntity
40
+ }
41
+ class SourcedEntity extends Entity {
42
+ -_isStub: boolean
43
+ -_sourceAnchor: SourceAnchor
44
+ -_comments: Set<Comment>
45
+ +addComment(comment: Comment): void
46
+ -_declaredSourceLanguage: SourceLanguage
47
+ +getJSON(): string
48
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
49
+ +isStub: boolean
50
+ +isStub: boolean
51
+ +sourceAnchor: SourceAnchor
52
+ +sourceAnchor: SourceAnchor
53
+ +comments: Set<Comment>
54
+ +declaredSourceLanguage: SourceLanguage
55
+ +declaredSourceLanguage: SourceLanguage
56
+ }
57
+ class ScopingEntity extends ContainerEntity {
58
+ -_modules: Set<Module>
59
+ +addModule(childModule: Module): void
60
+ +getJSON(): string
61
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
62
+ +modules: Set<Module>
63
+ }
64
+ class ScriptEntity extends ScopingEntity {
65
+ -_numberOfLinesOfText: number
66
+ -_numberOfCharacters: number
67
+ +getJSON(): string
68
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
69
+ +numberOfLinesOfText: number
70
+ +numberOfLinesOfText: number
71
+ +numberOfCharacters: number
72
+ +numberOfCharacters: number
73
+ }
74
+ class Module extends ScriptEntity {
75
+ +isAmbient: boolean
76
+ +isAmbient: boolean
77
+ -_isAmbient: boolean
78
+ +isNamespace: boolean
79
+ +isNamespace: boolean
80
+ -_isNamespace: boolean
81
+ +isModule: boolean
82
+ +isModule: boolean
83
+ -_isModule: boolean
84
+ -_parentScope: ScopingEntity
85
+ -_outgoingImports: Set<ImportClause>
86
+ +addOutgoingImport(importClause: ImportClause): void
87
+ +getJSON(): string
88
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
89
+ +parentScope: ScopingEntity
90
+ +parentScope: ScopingEntity
91
+ +outgoingImports: Set<ImportClause>
92
+ }
93
+ class ImportClause extends Entity {
94
+ -_importingEntity: Module
95
+ -_importedEntity: NamedEntity
96
+ -_moduleSpecifier: string
97
+ +getJSON(): string
98
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
99
+ +importingEntity: Module
100
+ +importingEntity: Module
101
+ +importedEntity: NamedEntity
102
+ +importedEntity: NamedEntity
103
+ +moduleSpecifier: string
104
+ +moduleSpecifier: string
105
+ }
106
+ class Alias extends NamedEntity {
107
+ -_parentEntity: NamedEntity
108
+ -_aliasedEntity: Type
109
+ +getJSON(): string
110
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
111
+ +parentEntity: NamedEntity
112
+ +parentEntity: NamedEntity
113
+ +aliasedEntity: Type
114
+ +aliasedEntity: Type
115
+ }
116
+ class Decorator extends NamedEntity {
117
+ -_decoratorExpression: string
118
+ -_decoratedEntity: NamedEntity
119
+ +getJSON(): string
120
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
121
+ +decoratorExpression: string
122
+ +decoratorExpression: string
123
+ +decoratedEntity: NamedEntity
124
+ +decoratedEntity: NamedEntity
125
+ }
126
+ class NamedEntity extends SourcedEntity {
127
+ -_fullyQualifiedName: string
128
+ -_receivedInvocations: Set<Invocation>
129
+ +addReceivedInvocation(receivedInvocation: Invocation): void
130
+ -_incomingImports: Set<ImportClause>
131
+ +addIncomingImport(anImport: ImportClause): void
132
+ -_name: string
133
+ -_aliases: Set<Alias>
134
+ +addAlias(alias: Alias): void
135
+ -_decorators: Set<Decorator>
136
+ +addDecorator(decorator: Decorator): void
137
+ +getJSON(): string
138
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
139
+ +fullyQualifiedName: string
140
+ +fullyQualifiedName: string
141
+ +receivedInvocations: Set<Invocation>
142
+ +incomingImports: Set<ImportClause>
143
+ +name: string
144
+ +name: string
145
+ +aliases: Set<Alias>
146
+ +decorators: Set<Decorator>
147
+ }
148
+ class Parameter extends StructuralEntity {
149
+ -_parentEntity: BehavioralEntity
150
+ +getJSON(): string
151
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
152
+ +parentEntity: BehavioralEntity
153
+ +parentEntity: BehavioralEntity
154
+ }
155
+ class Property extends StructuralEntity {
156
+ -_isClassSide: boolean
157
+ +readOnly: boolean
158
+ +readOnly: boolean
159
+ -_readOnly: boolean
160
+ -_parentEntity: Class | Interface
161
+ +isDefinitelyAssigned: boolean
162
+ +isDefinitelyAssigned: boolean
163
+ +isOptional: boolean
164
+ +isOptional: boolean
165
+ +isJavaScriptPrivate: boolean
166
+ +isJavaScriptPrivate: boolean
167
+ -_isDefinitelyAssigned: boolean
168
+ -_isOptional: boolean
169
+ -_isJavaScriptPrivate: boolean
170
+ +visibility: VisibilityTypes
171
+ +visibility: VisibilityTypes
172
+ -_visibility: VisibilityTypes
173
+ +getJSON(): string
174
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
175
+ +isClassSide: boolean
176
+ +isClassSide: boolean
177
+ +parentEntity: Class | Interface
178
+ +parentEntity: Class | Interface
179
+ }
180
+ class Inheritance extends Entity {
181
+ -_superclass: Class | Interface
182
+ -_subclass: Class | Interface
183
+ +getJSON(): string
184
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
185
+ +superclass: Class | Interface
186
+ +superclass: Class | Interface
187
+ +subclass: Class | Interface
188
+ +subclass: Class | Interface
189
+ }
190
+ class Class extends Type {
191
+ -_isAbstract: boolean
192
+ -_properties: Set<Property>
193
+ +addProperty(property: Property): void
194
+ -_methods: Set<Method>
195
+ +addMethod(method: Method): void
196
+ -_superInheritances: Set<Inheritance>
197
+ +addSuperInheritance(superInheritance: Inheritance): void
198
+ -_subInheritances: Set<Inheritance>
199
+ +addSubInheritance(subInheritance: Inheritance): void
200
+ +getJSON(): string
201
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
202
+ +isAbstract: boolean
203
+ +isAbstract: boolean
204
+ +properties: Set<Property>
205
+ +methods: Set<Method>
206
+ +superInheritances: Set<Inheritance>
207
+ +subInheritances: Set<Inheritance>
208
+ }
209
+ class Method extends BehavioralEntity {
210
+ -_parentEntity: Class | Interface
211
+ -_kind: string
212
+ -_isAbstract: boolean
213
+ -_isClassSide: boolean
214
+ -_isPrivate: boolean
215
+ -_isPublic: boolean
216
+ -_isProtected: boolean
217
+ +getJSON(): string
218
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
219
+ +parentEntity: Class | Interface
220
+ +parentEntity: Class | Interface
221
+ +kind: string
222
+ +kind: string
223
+ +isAbstract: boolean
224
+ +isAbstract: boolean
225
+ +isClassSide: boolean
226
+ +isClassSide: boolean
227
+ +isPrivate: boolean
228
+ +isPrivate: boolean
229
+ +isPublic: boolean
230
+ +isPublic: boolean
231
+ +isProtected: boolean
232
+ +isProtected: boolean
233
+ }
234
+ class Interface extends Type {
235
+ -_properties: Set<Property>
236
+ +addProperty(property: Property): void
237
+ -_methods: Set<Method>
238
+ +addMethod(method: Method): void
239
+ -_superInheritances: Set<Inheritance>
240
+ +addSuperInheritance(superInheritance: Inheritance): void
241
+ -_subInheritances: Set<Inheritance>
242
+ +addSubInheritance(subInheritance: Inheritance): void
243
+ +getJSON(): string
244
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
245
+ +properties: Set<Property>
246
+ +methods: Set<Method>
247
+ +superInheritances: Set<Inheritance>
248
+ +subInheritances: Set<Inheritance>
249
+ }
250
+ class PrimitiveType extends Type {
251
+ +getJSON(): string
252
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
253
+ }
254
+ class ParametricClass extends Class {
255
+ -_genericParameters: Set<ParameterType>
256
+ +addGenericParameter(genericParameter: ParameterType): void
257
+ +clearGenericParameters(): void
258
+ -_concreteParameters: Set<Class | Interface | PrimitiveType>
259
+ +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
260
+ +getJSON(): string
261
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
262
+ +genericParameters: Set<ParameterType>
263
+ +concreteParameters: Set<Class | Interface | PrimitiveType>
264
+ }
265
+ class ParametricInterface extends Interface {
266
+ -_genericParameters: Set<ParameterType>
267
+ +addGenericParameter(genericParameter: ParameterType): void
268
+ +clearGenericParameters(): void
269
+ -_concreteParameters: Set<Class | Interface | PrimitiveType>
270
+ +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
271
+ +getJSON(): string
272
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
273
+ +genericParameters: Set<ParameterType>
274
+ +concreteParameters: Set<Class | Interface | PrimitiveType>
275
+ }
276
+ class Function extends BehavioralEntity {
277
+ +getJSON(): string
278
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
279
+ }
280
+ class Accessor extends Method {
281
+ +getJSON(): string
282
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
283
+ }
284
+ class ParametricMethod extends Method {
285
+ -_concreteParameters: Set<Class | Interface | PrimitiveType>
286
+ +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
287
+ +getJSON(): string
288
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
289
+ +concreteParameters: Set<Class | Interface | PrimitiveType>
290
+ }
291
+ class ParametricFunction extends Function {
292
+ -_concreteParameters: Set<Class | Interface | PrimitiveType>
293
+ +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
294
+ +getJSON(): string
295
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
296
+ +concreteParameters: Set<Class | Interface | PrimitiveType>
297
+ }
298
+ class ArrowFunction extends BehavioralEntity {
299
+ +getJSON(): string
300
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
301
+ }
302
+ class ParametricArrowFunction extends ArrowFunction {
303
+ -_concreteParameters: Set<Class | Interface | PrimitiveType>
304
+ +addConcreteParameter(concreteParameter: Class | Interface | PrimitiveType): void
305
+ +getJSON(): string
306
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
307
+ +concreteParameters: Set<Class | Interface | PrimitiveType>
308
+ }
309
+ class ParameterType extends Type {
310
+ -_parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
311
+ -_baseType: Type
312
+ -_arguments: Set<Type>
313
+ +addArgument(argument: Type): void
314
+ +getJSON(): string
315
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
316
+ +parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
317
+ +parentGeneric: Method | ParametricArrowFunction | ArrowFunction | ParametricClass | ParametricInterface | ParametricMethod | Accessor | FamixFunction | ParametricFunction
318
+ +baseType: Type
319
+ +baseType: Type
320
+ +arguments: Set<Type>
321
+ }
322
+ class BehavioralEntity extends ContainerEntity {
323
+ -_signature: string
324
+ -_parameters: Set<Parameter>
325
+ +addParameter(parameter: Parameter): void
326
+ -_numberOfParameters: number
327
+ -_incomingInvocations: Set<Invocation>
328
+ +addIncomingInvocation(incomingInvocation: Invocation): void
329
+ -_declaredType: Type
330
+ -_genericParameters: Set<ParameterType>
331
+ +addGenericParameter(genericParameter: ParameterType): void
332
+ +clearGenericParameters(): void
333
+ +getJSON(): string
334
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
335
+ +signature: string
336
+ +signature: string
337
+ +parameters: Set<Parameter>
338
+ +numberOfParameters: number
339
+ +numberOfParameters: number
340
+ +incomingInvocations: Set<Invocation>
341
+ +declaredType: Type
342
+ +declaredType: Type
343
+ +genericParameters: Set<ParameterType>
344
+ }
345
+ class Invocation extends Entity {
346
+ -_candidates: Set<BehavioralEntity>
347
+ +addCandidate(candidate: BehavioralEntity): void
348
+ -_receiver: NamedEntity
349
+ -_sender: ContainerEntity
350
+ -_signature: string
351
+ +getJSON(): string
352
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
353
+ +candidates: Set<BehavioralEntity>
354
+ +receiver: NamedEntity
355
+ +receiver: NamedEntity
356
+ +sender: ContainerEntity
357
+ +sender: ContainerEntity
358
+ +signature: string
359
+ +signature: string
360
+ }
361
+ class Reference extends Entity {
362
+ -_source: ContainerEntity
363
+ -_target: Type
364
+ +getJSON(): string
365
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
366
+ +source: ContainerEntity
367
+ +source: ContainerEntity
368
+ +target: Type
369
+ +target: Type
370
+ }
371
+ class Variable extends StructuralEntity {
372
+ -_parentContainerEntity: ContainerEntity
373
+ +getJSON(): string
374
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
375
+ +parentContainerEntity: ContainerEntity
376
+ +parentContainerEntity: ContainerEntity
377
+ }
378
+ class ContainerEntity extends NamedEntity {
379
+ -_parentContainerEntity: ContainerEntity
380
+ -_childrenContainerEntities: Set<ContainerEntity>
381
+ +addChildContainerEntity(childContainerEntity: ContainerEntity): void
382
+ -_cyclomaticComplexity: number
383
+ -_numberOfStatements: number
384
+ -_outgoingReferences: Set<Reference>
385
+ +addOutgoingReference(outgoingReference: Reference): void
386
+ -_numberOfLinesOfCode: number
387
+ -_outgoingInvocations: Set<Invocation>
388
+ +addOutgoingInvocation(outgoingInvocation: Invocation): void
389
+ -_accesses: Set<Access>
390
+ +addAccess(access: Access): void
391
+ -childrenTypes: Set<Type>
392
+ +addType(childType: Type): void
393
+ -childrenFunctions: Set<FamixFunctionEntity>
394
+ +addFunction(childFunction: FamixFunctionEntity): void
395
+ -_variables: Set<Variable>
396
+ +addVariable(variable: Variable): void
397
+ +getJSON(): string
398
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
399
+ +parentContainerEntity: ContainerEntity
400
+ +parentContainerEntity: ContainerEntity
401
+ +childrenContainerEntities: Set<ContainerEntity>
402
+ +cyclomaticComplexity: number
403
+ +cyclomaticComplexity: number
404
+ +numberOfStatements: number
405
+ +numberOfStatements: number
406
+ +outgoingReferences: Set<Reference>
407
+ +numberOfLinesOfCode: number
408
+ +numberOfLinesOfCode: number
409
+ +outgoingInvocations: Set<Invocation>
410
+ +accesses: Set<Access>
411
+ +types: Set<Type>
412
+ +functions: Set<FamixFunctionEntity>
413
+ +variables: Set<Variable>
414
+ }
415
+ class Type extends ContainerEntity {
416
+ -_container: ContainerEntity
417
+ -_typeAliases: Set<Alias>
418
+ +addTypeAlias(typeAlias: Alias): void
419
+ -_structuresWithDeclaredType: Set<StructuralEntity>
420
+ +addStructureWithDeclaredType(structureWithDeclaredType: StructuralEntity): void
421
+ -_behavioralEntitiesWithDeclaredType: Set<BehavioralEntity>
422
+ +addBehavioralEntityWithDeclaredType(behavioralEntityWithDeclaredType: BehavioralEntity): void
423
+ -_incomingReferences: Set<Reference>
424
+ +addIncomingReference(incomingReference: Reference): void
425
+ +getJSON(): string
426
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
427
+ +container: ContainerEntity
428
+ +container: ContainerEntity
429
+ +typeAliases: Set<Alias>
430
+ +structuresWithDeclaredType: Set<StructuralEntity>
431
+ +behavioralEntitiesWithDeclaredType: Set<BehavioralEntity>
432
+ +incomingReferences: Set<Reference>
433
+ }
434
+ class StructuralEntity extends NamedEntity {
435
+ -_incomingAccesses: Set<Access>
436
+ +addIncomingAccess(incomingAccess: Access): void
437
+ -_declaredType: Type
438
+ +getJSON(): string
439
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
440
+ +incomingAccesses: Set<Access>
441
+ +declaredType: Type
442
+ +declaredType: Type
443
+ }
444
+ class Access extends Entity {
445
+ -_accessor: ContainerEntity
446
+ -_variable: StructuralEntity
447
+ -_isWrite: boolean
448
+ +getJSON(): string
449
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
450
+ +accessor: ContainerEntity
451
+ +accessor: ContainerEntity
452
+ +variable: StructuralEntity
453
+ +variable: StructuralEntity
454
+ +isWrite: boolean
455
+ +isWrite: boolean
456
+ }
457
+ class Concretisation extends Entity {
458
+ -_genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
459
+ -_concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
460
+ +getJSON(): string
461
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
462
+ +genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
463
+ +genericEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
464
+ +concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
465
+ +concreteEntity: ParametricClass | ParametricInterface | ParametricMethod | ParametricFunction
466
+ }
467
+ class Enum extends Type {
468
+ -_values: Set<EnumValue>
469
+ +addValue(value: EnumValue): void
470
+ +getJSON(): string
471
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
472
+ +values: Set<EnumValue>
473
+ }
474
+ class EnumValue extends StructuralEntity {
475
+ -_parentEntity: Enum
476
+ +getJSON(): string
477
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
478
+ +parentEntity: Enum
479
+ +parentEntity: Enum
480
+ }
481
+ class IndexedFileAnchor extends SourceAnchor {
482
+ -_startPos: number
483
+ -_endPos: number
484
+ -_fileName: string
485
+ +getJSON(): string
486
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
487
+ +startPos: number
488
+ +startPos: number
489
+ +endPos: number
490
+ +endPos: number
491
+ +fileName: string
492
+ +fileName: string
493
+ }
494
+ class ParameterConcretisation extends Entity {
495
+ -_genericParameter: ParameterType
496
+ -_concreteParameter: PrimitiveType
497
+ -_concretisations: Set<Concretisation>
498
+ +addConcretisation(concretisation: Concretisation): void
499
+ +getJSON(): string
500
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
501
+ +genericParameter: ParameterType
502
+ +genericParameter: ParameterType
503
+ +concreteParameter: PrimitiveType
504
+ +concreteParameter: PrimitiveType
505
+ +concretisations: Set<Concretisation>
506
+ }
507
+ interface SearchParameters {
508
+ +searchArray: string[]
509
+ +targetArray: string[]
510
+ +start?: number | undefined
511
+ }
512
+ class EntityDictionary {
513
+ +famixRep: FamixRepository
514
+ -fmxAliasMap: Map<string, Famix.Alias>
515
+ -fmxClassMap: Map<string, Famix.Class | Famix.ParametricClass>
516
+ -fmxInterfaceMap: Map<string, Famix.Interface | Famix.ParametricInterface>
517
+ -fmxModuleMap: Map<string, Famix.Module>
518
+ -fmxFileMap: Map<string, Famix.Module | Famix.ScriptEntity>
519
+ -fmxTypeMap: Map<string, Famix.Type | Famix.ParameterType | Famix.PrimitiveType>
520
+ -fmxFunctionAndMethodMap: Map<string, Famix.Method | Famix.ParametricMethod | Famix.Function | Famix.ParametricFunction>
521
+ -UNKNOWN_VALUE: string
522
+ +fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>
523
+ +tsMorphElementObjectMap: Map<TSMorphObjectType, Famix.Entity>
524
+ +addSourceAnchor(fmx: Famix.SourcedEntity, node: TSMorphObjectType): Famix.IndexedFileAnchor
525
+ +makeFamixIndexFileAnchor(sourceElement: TSMorphObjectType, famixElement: Famix.SourcedEntity): void
526
+ +createOrGetFamixFile(f: SourceFile, isModule: boolean): Famix.Module | Famix.ScriptEntity
527
+ +createOrGetFamixModule(m: ModuleDeclaration): Famix.Module
528
+ +createFamixAlias(a: TypeAliasDeclaration): Famix.Alias
529
+ +createOrGetFamixClass(cls: ClassDeclaration): Famix.Class | Famix.ParametricClass
530
+ +createOrGetFamixInterface(inter: InterfaceDeclaration): Famix.Interface | Famix.ParametricInterface
531
+ +createOrGetFamixConcreteElement(concreteElement: ParametricVariantType, concreteElementDeclaration: ConcreteElementTSMorphType, concreteArguments: TypeNode<ts.TypeNode>[]): ParametricVariantType
532
+ +createFamixProperty(property: PropertyDeclaration | PropertySignature): Famix.Property
533
+ +createOrGetFamixMethod(method: MethodDeclaration | ConstructorDeclaration | MethodSignature | GetAccessorDeclaration | SetAccessorDeclaration, currentCC: { [key: string]: number; }): Famix.Method | Famix.ParametricMethod | Famix.Accessor
534
+ +createOrGetFamixFunction(func: FunctionDeclaration | FunctionExpression, currentCC: { [key: string]: number; }): Famix.Function | Famix.ParametricFunction
535
+ +createFamixParameter(param: ParameterDeclaration): Famix.Parameter
536
+ +createFamixParameterType(tp: TypeParameterDeclaration): Famix.ParameterType
537
+ +createOrGetFamixConcreteType(param: TypeNode<ts.TypeNode>): Famix.Class | Famix.Interface | Famix.ParameterType | Famix.PrimitiveType
538
+ +createFamixVariable(variable: VariableDeclaration): Famix.Variable
539
+ +createFamixEnum(enumEntity: EnumDeclaration): Famix.Enum
540
+ +createFamixEnumValue(enumMember: EnumMember): Famix.EnumValue
541
+ +createOrGetFamixDecorator(decorator: Decorator, decoratedEntity: ClassDeclaration | MethodDeclaration | ParameterDeclaration | PropertyDeclaration | GetAccessorDeclaration | SetAccessorDeclaration): Famix.Decorator
542
+ +createFamixComment(comment: CommentRange, fmxScope: Famix.NamedEntity, isJSDoc: boolean): Famix.Comment
543
+ +createOrGetFamixType(typeName: string, element: TypeDeclaration): Famix.Type | Famix.ParameterType | Famix.PrimitiveType
544
+ +createFamixAccess(node: Identifier, id: number): void
545
+ +createFamixInvocation(node: Identifier, m: MethodDeclaration | ConstructorDeclaration | FunctionDeclaration | FunctionExpression | GetAccessorDeclaration | SetAccessorDeclaration, id: number): void
546
+ +createFamixInheritance(cls: ClassDeclaration | InterfaceDeclaration, inhClass: ClassDeclaration | InterfaceDeclaration | ExpressionWithTypeArguments): void
547
+ +createFamixImportClause(importedEntity: Famix.NamedEntity, importingEntity: Famix.Module): void
548
+ +oldCreateFamixImportClause(importClauseInfo: { importDeclaration?: ImportDeclaration | ImportEqualsDeclaration | undefined; importerSourceFile: SourceFile; moduleSpecifierFilePath: string; importElement: ImportSpecifier | Identifier; isInExports: boolean; isDefaultExport: boolean; }): void
549
+ +createFamixArrowFunction(arrowExpression: Expression<ts.Expression>, currentCC: { [key: string]: number; }): Famix.ParametricArrowFunction | Famix.ArrowFunction
550
+ +createFamixConcretisation(conEntity: Famix.ParametricClass | Famix.ParametricInterface | Famix.ParametricMethod | Famix.ParametricFunction, genEntity: Famix.ParametricClass | Famix.ParametricInterface | Famix.ParametricMethod | Famix.ParametricFunction): Famix.Concretisation
551
+ +createFamixParameterConcretisation(concretisation: Famix.Concretisation): Famix.ParameterConcretisation | undefined
552
+ +createFamixConcretisationClassOrInterfaceSpecialisation(element: ClassDeclaration | InterfaceDeclaration): void
553
+ +createFamixConcretisationGenericInstantiation(cls: ClassDeclaration): void
554
+ +createFamixConcretisationFunctionInstantiation(element: MethodDeclaration | FunctionDeclaration): void
555
+ +createFamixConcretisationInterfaceClass(cls: ClassDeclaration): void
556
+ +createFamixConcretisationTypeInstanciation(element: ClassDeclaration | InterfaceDeclaration): void
557
+ +convertToRelativePath(absolutePath: string, absolutePathProject: string): string
558
+ }
559
+ class FamixRepository {
560
+ -elements: Set<FamixBaseElement>
561
+ -famixClasses: Set<Class>
562
+ -famixInterfaces: Set<Interface>
563
+ -famixModules: Set<Module>
564
+ -famixMethods: Set<Method>
565
+ -famixVariables: Set<Variable>
566
+ -famixFunctions: Set<FamixFunctionEntity>
567
+ -famixFiles: Set<Module | ScriptEntity>
568
+ -idCounter: number
569
+ -absolutePath: string
570
+ -fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>
571
+ -tsMorphObjectMap: Map<TSMorphObjectType, Famix.Entity>
572
+ +setFmxElementObjectMap(fmxElementObjectMap: Map<Famix.Entity, TSMorphObjectType>): void
573
+ +getFmxElementObjectMap(): Map<Famix.Entity, TSMorphObjectType>
574
+ +getAbsolutePath(): string
575
+ +setAbsolutePath(path: string): void
576
+ +getFamixEntityById(id: number): FamixBaseElement | undefined
577
+ +getFamixEntityByFullyQualifiedName(fullyQualifiedName: string): FamixBaseElement | undefined
578
+ +export(arg0: { format: string; }): string
579
+ +_getAllEntities(): Set<FamixBaseElement>
580
+ +_getAllEntitiesWithType(theType: string): Set<FamixBaseElement>
581
+ +_getFamixClass(fullyQualifiedName: string): Class | undefined
582
+ +_getFamixInterface(fullyQualifiedName: string): Interface | undefined
583
+ +_getFamixMethod(fullyQualifiedName: string): Method | undefined
584
+ +_getFamixFunction(fullyQualifiedName: string): FamixFunctionEntity | undefined
585
+ +_getFamixVariable(fullyQualifiedName: string): Variable | undefined
586
+ +_getFamixModule(fullyQualifiedName: string): Module | undefined
587
+ +_getFamixModules(): Set<Module>
588
+ +_getFamixFile(fullyQualifiedName: string): Module | ScriptEntity | undefined
589
+ +_getFamixFiles(): Set<Module | ScriptEntity>
590
+ +_methodNamesAsSetFromClass(className: string): Set<string>
591
+ +_methodParentsAsSetFromClass(className: string): Set<Type>
592
+ +_initMapFromModel(model: string): Map<number, unknown>
593
+ +addElement(element: FamixBaseElement): void
594
+ +getJSON(): string
595
+ }
596
+ class Importer {
597
+ -project: Project
598
+ +famixRepFromPaths(paths: string[]): FamixRepository
599
+ -processEntities(project: Project): void
600
+ +famixRepFromSource(filename: string, source: string): FamixRepository
601
+ +famixRepFromProject(project: Project): FamixRepository
602
+ }
603
+ abstract class FamixBaseElement {
604
+ +id: number
605
+ +{abstract} getJSON(): string
606
+ +addPropertiesToExporter(exporter: FamixJSONExporter): void
607
+ }
608
608
  @enduml