ts2famix 2.0.0 → 2.0.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 (212) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +29 -60
  3. package/dist/analyze.js +1 -1
  4. package/dist/analyze_functions/process_functions.js +49 -43
  5. package/dist/famix_functions/EntityDictionary.js +309 -182
  6. package/dist/famix_functions/helpers_creation.js +36 -5
  7. package/dist/fqn.js +76 -114
  8. package/dist/lib/famix/famix_JSON_exporter.js +55 -0
  9. package/dist/lib/famix/famix_base_element.js +18 -0
  10. package/dist/lib/famix/famix_repository.js +224 -0
  11. package/dist/lib/famix/{src/index.js → index.js} +1 -1
  12. package/dist/lib/famix/model/famix/access.js +40 -0
  13. package/dist/lib/famix/model/famix/accessor.js +17 -0
  14. package/dist/lib/famix/model/famix/alias.js +33 -0
  15. package/dist/lib/famix/model/famix/arrow_function.js +17 -0
  16. package/dist/lib/famix/model/famix/behavioral_entity.js +79 -0
  17. package/dist/lib/famix/model/famix/class.js +71 -0
  18. package/dist/lib/famix/model/famix/comment.js +39 -0
  19. package/dist/lib/famix/model/famix/concretisation.js +31 -0
  20. package/dist/lib/famix/model/famix/container_entity.js +126 -0
  21. package/dist/lib/famix/model/famix/decorator.js +32 -0
  22. package/dist/lib/famix/model/famix/entity.js +17 -0
  23. package/dist/lib/famix/model/famix/enum.js +31 -0
  24. package/dist/lib/famix/model/famix/enum_value.js +25 -0
  25. package/dist/lib/famix/model/famix/function.js +17 -0
  26. package/dist/lib/famix/model/famix/import_clause.js +41 -0
  27. package/dist/lib/famix/{src/model → model}/famix/index.js +6 -10
  28. package/dist/lib/famix/model/famix/indexed_file_anchor.js +38 -0
  29. package/dist/lib/famix/model/famix/inheritance.js +33 -0
  30. package/dist/lib/famix/model/famix/interface.js +64 -0
  31. package/dist/lib/famix/model/famix/invocation.js +54 -0
  32. package/dist/lib/famix/model/famix/method.js +67 -0
  33. package/dist/lib/famix/model/famix/module.js +60 -0
  34. package/dist/lib/famix/model/famix/named_entity.js +78 -0
  35. package/dist/lib/famix/model/famix/parameter.js +25 -0
  36. package/dist/lib/famix/model/famix/parameter_concretisation.js +44 -0
  37. package/dist/lib/famix/model/famix/parameter_type.js +45 -0
  38. package/dist/lib/famix/model/famix/parametric_arrow_function.js +31 -0
  39. package/dist/lib/famix/model/famix/parametric_class.js +44 -0
  40. package/dist/lib/famix/model/famix/parametric_function.js +31 -0
  41. package/dist/lib/famix/model/famix/parametric_interface.js +44 -0
  42. package/dist/lib/famix/model/famix/parametric_method.js +31 -0
  43. package/dist/lib/famix/model/famix/primitive_type.js +17 -0
  44. package/dist/lib/famix/model/famix/property.js +73 -0
  45. package/dist/lib/famix/model/famix/reference.js +33 -0
  46. package/dist/lib/famix/model/famix/scoping_entity.js +36 -0
  47. package/dist/lib/famix/model/famix/script_entity.js +29 -0
  48. package/dist/lib/famix/model/famix/source_anchor.js +27 -0
  49. package/dist/lib/famix/model/famix/source_language.js +35 -0
  50. package/dist/lib/famix/model/famix/sourced_entity.js +60 -0
  51. package/dist/lib/famix/model/famix/structural_entity.js +39 -0
  52. package/dist/lib/famix/model/famix/type.js +73 -0
  53. package/dist/lib/famix/model/famix/variable.js +24 -0
  54. package/dist/lib/ts-complex/cyclomatic-service.js +2 -2
  55. package/dist/refactorer/refactor-getter-setter.js +142 -0
  56. package/dist/ts2famix-cli-wrapper.js +29 -3
  57. package/dist/ts2famix-cli.js +1 -1
  58. package/doc-uml/famix-typescript-model.puml +390 -341
  59. package/doc-uml/famix-typescript-model.svg +1 -1
  60. package/package.json +8 -7
  61. package/src/analyze.ts +2 -2
  62. package/src/analyze_functions/process_functions.ts +49 -44
  63. package/src/famix_functions/EntityDictionary.ts +345 -216
  64. package/src/famix_functions/helpers_creation.ts +36 -4
  65. package/src/fqn.ts +76 -125
  66. package/src/lib/famix/famix_JSON_exporter.ts +56 -0
  67. package/src/lib/famix/famix_base_element.ts +22 -0
  68. package/src/lib/famix/famix_repository.ts +243 -0
  69. package/src/lib/famix/model/famix/access.ts +50 -0
  70. package/src/lib/famix/model/famix/alias.ts +39 -0
  71. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -0
  72. package/src/lib/famix/model/famix/class.ts +85 -0
  73. package/src/lib/famix/model/famix/comment.ts +47 -0
  74. package/src/lib/famix/model/famix/concretisation.ts +40 -0
  75. package/src/lib/famix/model/famix/container_entity.ts +160 -0
  76. package/src/lib/famix/model/famix/decorator.ts +37 -0
  77. package/src/lib/famix/model/famix/enum.ts +30 -0
  78. package/src/lib/famix/model/famix/enum_value.ts +28 -0
  79. package/src/lib/famix/model/famix/import_clause.ts +51 -0
  80. package/src/lib/famix/{src/model → model}/famix/index.ts +2 -4
  81. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -0
  82. package/src/lib/famix/model/famix/inheritance.ts +40 -0
  83. package/src/lib/famix/model/famix/interface.ts +75 -0
  84. package/src/lib/famix/model/famix/invocation.ts +65 -0
  85. package/src/lib/famix/model/famix/method.ts +89 -0
  86. package/src/lib/famix/model/famix/module.ts +71 -0
  87. package/src/lib/famix/model/famix/named_entity.ts +95 -0
  88. package/src/lib/famix/{src/model → model}/famix/parameter.ts +11 -12
  89. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -0
  90. package/src/lib/famix/model/famix/parameter_type.ts +58 -0
  91. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -0
  92. package/src/lib/famix/model/famix/parametric_class.ts +49 -0
  93. package/src/lib/famix/model/famix/parametric_function.ts +32 -0
  94. package/src/lib/famix/model/famix/parametric_interface.ts +49 -0
  95. package/src/lib/famix/model/famix/parametric_method.ts +32 -0
  96. package/src/lib/famix/model/famix/primitive_type.ts +15 -0
  97. package/src/lib/famix/model/famix/property.ts +94 -0
  98. package/src/lib/famix/model/famix/reference.ts +40 -0
  99. package/src/lib/famix/model/famix/scoping_entity.ts +35 -0
  100. package/src/lib/famix/model/famix/script_entity.ts +34 -0
  101. package/src/lib/famix/model/famix/source_anchor.ts +30 -0
  102. package/src/lib/famix/model/famix/source_language.ts +35 -0
  103. package/src/lib/famix/model/famix/sourced_entity.ts +70 -0
  104. package/src/lib/famix/model/famix/structural_entity.ts +43 -0
  105. package/src/lib/famix/model/famix/type.ts +87 -0
  106. package/src/lib/famix/model/famix/variable.ts +27 -0
  107. package/src/lib/famix/package.json +1 -1
  108. package/src/lib/ts-complex/cyclomatic-service.ts +10 -10
  109. package/src/refactorer/refactor-getter-setter.ts +140 -0
  110. package/src/ts2famix-cli-wrapper.ts +6 -2
  111. package/src/ts2famix-cli.ts +1 -1
  112. package/tsconfig.check-tests.json +14 -0
  113. package/tsconfig.json +70 -68
  114. package/dist/famix2puml.js +0 -126
  115. package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
  116. package/dist/lib/famix/src/famix_base_element.js +0 -18
  117. package/dist/lib/famix/src/famix_repository.js +0 -223
  118. package/dist/lib/famix/src/model/famix/access.js +0 -40
  119. package/dist/lib/famix/src/model/famix/accessor.js +0 -17
  120. package/dist/lib/famix/src/model/famix/alias.js +0 -33
  121. package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
  122. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
  123. package/dist/lib/famix/src/model/famix/class.js +0 -71
  124. package/dist/lib/famix/src/model/famix/comment.js +0 -39
  125. package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
  126. package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
  127. package/dist/lib/famix/src/model/famix/decorator.js +0 -32
  128. package/dist/lib/famix/src/model/famix/entity.js +0 -17
  129. package/dist/lib/famix/src/model/famix/enum.js +0 -31
  130. package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
  131. package/dist/lib/famix/src/model/famix/function.js +0 -17
  132. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
  133. package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
  134. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -52
  135. package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
  136. package/dist/lib/famix/src/model/famix/interface.js +0 -64
  137. package/dist/lib/famix/src/model/famix/invocation.js +0 -54
  138. package/dist/lib/famix/src/model/famix/method.js +0 -67
  139. package/dist/lib/famix/src/model/famix/module.js +0 -84
  140. package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
  141. package/dist/lib/famix/src/model/famix/parameter.js +0 -25
  142. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
  143. package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
  144. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
  145. package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
  146. package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
  147. package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
  148. package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
  149. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
  150. package/dist/lib/famix/src/model/famix/property.js +0 -126
  151. package/dist/lib/famix/src/model/famix/reference.js +0 -33
  152. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -37
  153. package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
  154. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
  155. package/dist/lib/famix/src/model/famix/source_language.js +0 -35
  156. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
  157. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
  158. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
  159. package/dist/lib/famix/src/model/famix/type.js +0 -73
  160. package/dist/lib/famix/src/model/famix/variable.js +0 -24
  161. package/jest.config-old.ts +0 -199
  162. package/src/famix2puml.ts +0 -119
  163. package/src/lib/famix/package-lock.json +0 -301
  164. package/src/lib/famix/readme.md +0 -5
  165. package/src/lib/famix/src/famix_JSON_exporter.ts +0 -56
  166. package/src/lib/famix/src/famix_base_element.ts +0 -22
  167. package/src/lib/famix/src/famix_repository.ts +0 -243
  168. package/src/lib/famix/src/model/famix/access.ts +0 -53
  169. package/src/lib/famix/src/model/famix/alias.ts +0 -41
  170. package/src/lib/famix/src/model/famix/behavioral_entity.ts +0 -100
  171. package/src/lib/famix/src/model/famix/class.ts +0 -86
  172. package/src/lib/famix/src/model/famix/comment.ts +0 -50
  173. package/src/lib/famix/src/model/famix/concretisation.ts +0 -42
  174. package/src/lib/famix/src/model/famix/container_entity.ts +0 -165
  175. package/src/lib/famix/src/model/famix/decorator.ts +0 -39
  176. package/src/lib/famix/src/model/famix/enum.ts +0 -31
  177. package/src/lib/famix/src/model/famix/enum_value.ts +0 -29
  178. package/src/lib/famix/src/model/famix/implicit_variable.ts +0 -15
  179. package/src/lib/famix/src/model/famix/import_clause.ts +0 -54
  180. package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +0 -71
  181. package/src/lib/famix/src/model/famix/inheritance.ts +0 -41
  182. package/src/lib/famix/src/model/famix/interface.ts +0 -75
  183. package/src/lib/famix/src/model/famix/invocation.ts +0 -68
  184. package/src/lib/famix/src/model/famix/method.ts +0 -96
  185. package/src/lib/famix/src/model/famix/module.ts +0 -97
  186. package/src/lib/famix/src/model/famix/named_entity.ts +0 -98
  187. package/src/lib/famix/src/model/famix/parameterConcretisation.ts +0 -54
  188. package/src/lib/famix/src/model/famix/parameter_type.ts +0 -60
  189. package/src/lib/famix/src/model/famix/parametric_arrow_function.ts +0 -32
  190. package/src/lib/famix/src/model/famix/parametric_class.ts +0 -49
  191. package/src/lib/famix/src/model/famix/parametric_function.ts +0 -32
  192. package/src/lib/famix/src/model/famix/parametric_interface.ts +0 -49
  193. package/src/lib/famix/src/model/famix/parametric_method.ts +0 -32
  194. package/src/lib/famix/src/model/famix/primitive_type.ts +0 -15
  195. package/src/lib/famix/src/model/famix/property.ts +0 -152
  196. package/src/lib/famix/src/model/famix/reference.ts +0 -42
  197. package/src/lib/famix/src/model/famix/scoping_entity.ts +0 -36
  198. package/src/lib/famix/src/model/famix/script_entity.ts +0 -36
  199. package/src/lib/famix/src/model/famix/source_anchor.ts +0 -31
  200. package/src/lib/famix/src/model/famix/source_language.ts +0 -36
  201. package/src/lib/famix/src/model/famix/sourced_entity.ts +0 -73
  202. package/src/lib/famix/src/model/famix/structural_entity.ts +0 -44
  203. package/src/lib/famix/src/model/famix/text_anchor.ts +0 -49
  204. package/src/lib/famix/src/model/famix/type.ts +0 -89
  205. package/src/lib/famix/src/model/famix/variable.ts +0 -28
  206. package/src/lib/famix/tsconfig.json +0 -27
  207. package/src/lib/famix/tslint.json +0 -15
  208. /package/src/lib/famix/{src/index.ts → index.ts} +0 -0
  209. /package/src/lib/famix/{src/model → model}/famix/accessor.ts +0 -0
  210. /package/src/lib/famix/{src/model/famix/arrowFunction.ts → model/famix/arrow_function.ts} +0 -0
  211. /package/src/lib/famix/{src/model → model}/famix/entity.ts +0 -0
  212. /package/src/lib/famix/{src/model → model}/famix/function.ts +0 -0
@@ -1,42 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { ContainerEntity } from "./container_entity";
4
- import { Entity } from "./entity";
5
-
6
- export class Reference extends Entity {
7
-
8
- private source: ContainerEntity;
9
-
10
- public getSource(): ContainerEntity {
11
- return this.source;
12
- }
13
-
14
- public setSource(source: ContainerEntity): void {
15
- this.source = source;
16
- source.addOutgoingReference(this);
17
- }
18
-
19
- private target: Type;
20
-
21
- public getTarget(): Type {
22
- return this.target;
23
- }
24
-
25
- public setTarget(target: Type): void {
26
- this.target = target;
27
- target.addIncomingReference(this);
28
- }
29
-
30
-
31
- public getJSON(): string {
32
- const json: FamixJSONExporter = new FamixJSONExporter("Reference", this);
33
- this.addPropertiesToExporter(json);
34
- return json.getJSON();
35
- }
36
-
37
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
38
- super.addPropertiesToExporter(exporter);
39
- exporter.addProperty("source", this.getSource());
40
- exporter.addProperty("target", this.getTarget());
41
- }
42
- }
@@ -1,36 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ContainerEntity } from "./container_entity";
3
- // import { Namespace } from "./namespace";
4
- import { logger } from "../../../../../analyze";
5
- import { Module } from "./module";
6
-
7
- export class ScopingEntity extends ContainerEntity {
8
-
9
- private childModules: Set<Module> = new Set();
10
-
11
- public getModules(): Set<Module> {
12
- return this.childModules;
13
- }
14
-
15
- public addModule(childModule: Module): void {
16
- if (!this.childModules.has(childModule)) {
17
- logger.debug("Adding module " + childModule.getName() + " to " + this.getName());
18
- this.childModules.add(childModule);
19
- childModule.setParentScope(this);
20
- } else {
21
- logger.debug("Module " + childModule.getName() + " already added to " + this.getName());
22
- }
23
- }
24
-
25
-
26
- public getJSON(): string {
27
- const json: FamixJSONExporter = new FamixJSONExporter("ScopingEntity", this);
28
- this.addPropertiesToExporter(json);
29
- return json.getJSON();
30
- }
31
-
32
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
33
- super.addPropertiesToExporter(exporter);
34
- // exporter.addProperty("namespaces", this.getModules());
35
- }
36
- }
@@ -1,36 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ScopingEntity } from "./scoping_entity";
3
-
4
- export class ScriptEntity extends ScopingEntity {
5
-
6
- private numberOfLinesOfText: number;
7
-
8
- public getNumberOfLinesOfText(): number {
9
- return this.numberOfLinesOfText;
10
- }
11
-
12
- public setNumberOfLinesOfText(numberOfLinesOfText: number): void {
13
- this.numberOfLinesOfText = numberOfLinesOfText;
14
- }
15
-
16
- private numberOfCharacters: number;
17
-
18
- public getNumberOfCharacters(): number {
19
- return this.numberOfCharacters;
20
- }
21
-
22
- public setNumberOfCharacters(numberOfCharacters: number): void {
23
- this.numberOfCharacters = numberOfCharacters;
24
- }
25
-
26
-
27
- public getJSON(): string {
28
- const json: FamixJSONExporter = new FamixJSONExporter("ScriptEntity", this);
29
- this.addPropertiesToExporter(json);
30
- return json.getJSON();
31
- }
32
-
33
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
34
- super.addPropertiesToExporter(exporter);
35
- }
36
- }
@@ -1,31 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Entity } from "./entity";
3
- import { SourcedEntity } from "./sourced_entity";
4
-
5
- export class SourceAnchor extends Entity {
6
-
7
- private element: SourcedEntity;
8
-
9
- public getElement(): SourcedEntity {
10
- return this.element;
11
- }
12
-
13
- public setElement(element: SourcedEntity): void {
14
- if (this.element === undefined) {
15
- this.element = element;
16
- element.setSourceAnchor(this);
17
- }
18
- }
19
-
20
-
21
- public getJSON(): string {
22
- const json: FamixJSONExporter = new FamixJSONExporter("SourceAnchor", this);
23
- this.addPropertiesToExporter(json);
24
- return json.getJSON();
25
- }
26
-
27
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
- super.addPropertiesToExporter(exporter);
29
- exporter.addProperty("element", this.getElement());
30
- }
31
- }
@@ -1,36 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Entity } from "./entity";
3
- import { SourcedEntity } from "./sourced_entity";
4
-
5
- export class SourceLanguage extends Entity {
6
-
7
- private sourcedEntities: Set<SourcedEntity> = new Set();
8
-
9
- // name of the source language
10
- get name(): string {
11
- return "TypeScript";
12
- }
13
-
14
- public getSourcedEntities(): Set<SourcedEntity> {
15
- return this.sourcedEntities;
16
- }
17
-
18
- public addSourcedEntity(sourcedEntity: SourcedEntity): void {
19
- if (!this.sourcedEntities.has(sourcedEntity)) {
20
- this.sourcedEntities.add(sourcedEntity);
21
- sourcedEntity.setDeclaredSourceLanguage(this);
22
- }
23
- }
24
-
25
-
26
- public getJSON(): string {
27
- const json: FamixJSONExporter = new FamixJSONExporter("SourceLanguage", this);
28
- this.addPropertiesToExporter(json);
29
- return json.getJSON();
30
- }
31
-
32
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
33
- super.addPropertiesToExporter(exporter);
34
- exporter.addProperty("sourcedEntities", this.getSourcedEntities());
35
- }
36
- }
@@ -1,73 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourceLanguage } from "./source_language";
3
- import { Entity } from "./entity";
4
- import { Comment } from "./comment";
5
- import { SourceAnchor } from "./source_anchor";
6
- import { logger } from "../../../../../analyze";
7
-
8
- export class SourcedEntity extends Entity {
9
-
10
- private isStub: boolean;
11
-
12
- public getIsStub(): boolean {
13
- return this.isStub;
14
- }
15
-
16
- public setIsStub(isStub: boolean): void {
17
- this.isStub = isStub;
18
- }
19
-
20
- private sourceAnchor: SourceAnchor;
21
-
22
- public getSourceAnchor(): SourceAnchor {
23
- return this.sourceAnchor;
24
- }
25
-
26
- public setSourceAnchor(sourceAnchor: SourceAnchor): void {
27
- if (this.sourceAnchor === undefined) {
28
- this.sourceAnchor = sourceAnchor;
29
- sourceAnchor.setElement(this);
30
- }
31
- }
32
-
33
- private comments: Set<Comment> = new Set();
34
-
35
- public getComments(): Set<Comment> {
36
- return this.comments;
37
- }
38
-
39
- public addComment(comment: Comment): void {
40
- if (!this.comments.has(comment)) {
41
- this.comments.add(comment);
42
- comment.setContainer(this);
43
- } else {
44
- logger.debug("Adding comment that is already in comments: " + comment.getJSON() + " to " + this.getJSON());
45
- }
46
- }
47
-
48
- private declaredSourceLanguage: SourceLanguage;
49
-
50
- public getDeclaredSourceLanguage(): SourceLanguage {
51
- return this.declaredSourceLanguage;
52
- }
53
-
54
- public setDeclaredSourceLanguage(declaredSourceLanguage: SourceLanguage): void {
55
- this.declaredSourceLanguage = declaredSourceLanguage;
56
- declaredSourceLanguage.addSourcedEntity(this);
57
- }
58
-
59
-
60
- public getJSON(): string {
61
- const json: FamixJSONExporter = new FamixJSONExporter("SourcedEntity", this);
62
- this.addPropertiesToExporter(json);
63
- return json.getJSON();
64
- }
65
-
66
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
67
- super.addPropertiesToExporter(exporter);
68
- exporter.addProperty("isStub", this.getIsStub());
69
- exporter.addProperty("sourceAnchor", this.getSourceAnchor());
70
- exporter.addProperty("comments", this.getComments());
71
- exporter.addProperty("declaredSourceLanguage", this.getDeclaredSourceLanguage());
72
- }
73
- }
@@ -1,44 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { Access } from "./access";
4
- import { NamedEntity } from "./named_entity";
5
-
6
- export class StructuralEntity extends NamedEntity {
7
-
8
- private incomingAccesses: Set<Access> = new Set();
9
-
10
- public getIncomingAccesses(): Set<Access> {
11
- return this.incomingAccesses;
12
- }
13
-
14
- public addIncomingAccess(incomingAccess: Access): void {
15
- if (!this.incomingAccesses.has(incomingAccess)) {
16
- this.incomingAccesses.add(incomingAccess);
17
- incomingAccess.setVariable(this);
18
- }
19
- }
20
-
21
- private declaredType: Type;
22
-
23
- public getDeclaredType(): Type {
24
- return this.declaredType;
25
- }
26
-
27
- public setDeclaredType(declaredType: Type): void {
28
- this.declaredType = declaredType;
29
- declaredType.addStructureWithDeclaredType(this);
30
- }
31
-
32
-
33
- public getJSON(): string {
34
- const json: FamixJSONExporter = new FamixJSONExporter("StructuralEntity", this);
35
- this.addPropertiesToExporter(json);
36
- return json.getJSON();
37
- }
38
-
39
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
40
- super.addPropertiesToExporter(exporter);
41
- exporter.addProperty("incomingAccesses", this.getIncomingAccesses());
42
- exporter.addProperty("declaredType", this.getDeclaredType());
43
- }
44
- }
@@ -1,49 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourceAnchor } from "./source_anchor";
3
-
4
- export class TextAnchor extends SourceAnchor {
5
-
6
- private startPos: number;
7
-
8
- public getStartPos(): number {
9
- return this.startPos;
10
- }
11
-
12
- public setStartPos(startPos: number): void {
13
- this.startPos = startPos;
14
- }
15
-
16
- private endPos: number;
17
-
18
- public getEndPos(): number {
19
- return this.endPos;
20
- }
21
-
22
- public setEndPos(endPos: number): void {
23
- this.endPos = endPos;
24
- }
25
-
26
- private fileName: string;
27
-
28
- public getFileName(): string {
29
- return this.fileName;
30
- }
31
-
32
- public setFileName(fileName: string): void {
33
- this.fileName = fileName;
34
- }
35
-
36
-
37
- public getJSON(): string {
38
- const json: FamixJSONExporter = new FamixJSONExporter("TextAnchor", this);
39
- this.addPropertiesToExporter(json);
40
- return json.getJSON();
41
- }
42
-
43
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
44
- super.addPropertiesToExporter(exporter);
45
- exporter.addProperty("startPos", this.getStartPos());
46
- exporter.addProperty("endPos", this.getEndPos());
47
- exporter.addProperty("fileName", this.getFileName());
48
- }
49
- }
@@ -1,89 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { StructuralEntity } from "./structural_entity";
3
- import { ContainerEntity } from "./container_entity";
4
- import { Reference } from "./reference";
5
- import { BehavioralEntity } from "./behavioral_entity";
6
- import { Alias } from "./alias";
7
-
8
- export class Type extends ContainerEntity {
9
-
10
- private container: ContainerEntity;
11
-
12
- public getContainer(): ContainerEntity {
13
- return this.container;
14
- }
15
-
16
- public setContainer(container: ContainerEntity): void {
17
- this.container = container;
18
- container.addType(this);
19
- }
20
-
21
- private typeAliases: Set<Alias> = new Set();
22
-
23
- public getTypeAliases(): Set<Alias> {
24
- return this.typeAliases;
25
- }
26
-
27
- public addTypeAlias(typeAlias: Alias): void {
28
- if (!this.typeAliases.has(typeAlias)) {
29
- this.typeAliases.add(typeAlias);
30
- typeAlias.setAliasedEntity(this);
31
- }
32
- }
33
-
34
- private structuresWithDeclaredType: Set<StructuralEntity> = new Set();
35
-
36
- public getStructuresWithDeclaredType(): Set<StructuralEntity> {
37
- return this.structuresWithDeclaredType;
38
- }
39
-
40
- public addStructureWithDeclaredType(structureWithDeclaredType: StructuralEntity): void {
41
- if (!this.structuresWithDeclaredType.has(structureWithDeclaredType)) {
42
- this.structuresWithDeclaredType.add(structureWithDeclaredType);
43
- structureWithDeclaredType.setDeclaredType(this);
44
- }
45
- }
46
-
47
- private behavioralEntitiesWithDeclaredType: Set<BehavioralEntity> = new Set();
48
-
49
- public getBehavioralEntitiesWithDeclaredType(): Set<BehavioralEntity> {
50
- return this.behavioralEntitiesWithDeclaredType;
51
- }
52
-
53
- public addBehavioralEntityWithDeclaredType(behavioralEntityWithDeclaredType: BehavioralEntity): void {
54
- if (!this.behavioralEntitiesWithDeclaredType.has(behavioralEntityWithDeclaredType)) {
55
- this.behavioralEntitiesWithDeclaredType.add(behavioralEntityWithDeclaredType);
56
- behavioralEntityWithDeclaredType.setDeclaredType(this);
57
- }
58
- }
59
-
60
- private incomingReferences: Set<Reference> = new Set();
61
-
62
- public getIncomingReferences(): Set<Reference> {
63
- return this.incomingReferences;
64
- }
65
-
66
- public addIncomingReference(incomingReference: Reference): void {
67
- if (!this.incomingReferences.has(incomingReference)) {
68
- this.incomingReferences.add(incomingReference);
69
- incomingReference.setTarget(this);
70
- }
71
- }
72
-
73
-
74
- public getJSON(): string {
75
- const json: FamixJSONExporter = new FamixJSONExporter("Type", this);
76
- this.addPropertiesToExporter(json);
77
- return json.getJSON();
78
- }
79
-
80
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
81
- super.addPropertiesToExporter(exporter);
82
- exporter.addProperty("typeContainer", this.getContainer());
83
- /* unsupported properties in MM so far */
84
- // exporter.addProperty("typeAliases", this.getTypeAliases());
85
- // exporter.addProperty("structuresWithDeclaredType", this.getStructuresWithDeclaredType());
86
- // exporter.addProperty("behavioralEntitiesWithDeclaredType", this.getBehavioralEntitiesWithDeclaredType());
87
- exporter.addProperty("incomingReferences", this.getIncomingReferences());
88
- }
89
- }
@@ -1,28 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ContainerEntity } from "./container_entity";
3
- import { StructuralEntity } from "./structural_entity";
4
-
5
- export class Variable extends StructuralEntity {
6
-
7
- private parentContainerEntity: ContainerEntity;
8
-
9
- public getParentContainerEntity(): ContainerEntity {
10
- return this.parentContainerEntity;
11
- }
12
-
13
- public setParentContainerEntity(parentContainerEntity: ContainerEntity): void {
14
- this.parentContainerEntity = parentContainerEntity;
15
- }
16
-
17
-
18
- public getJSON(): string {
19
- const json: FamixJSONExporter = new FamixJSONExporter("Variable", this);
20
- this.addPropertiesToExporter(json);
21
- return json.getJSON();
22
- }
23
-
24
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
25
- super.addPropertiesToExporter(exporter);
26
- exporter.addProperty("parentBehaviouralEntity", this.getParentContainerEntity());
27
- }
28
- }
@@ -1,27 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "outDir": "dist",
5
- "incremental": true,
6
- "pretty": true,
7
- "noFallthroughCasesInSwitch": true,
8
- "noImplicitReturns": true,
9
- "noUnusedParameters": true,
10
- "noUnusedLocals": true,
11
- "noImplicitAny": true,
12
- "declaration": true,
13
- "strictNullChecks": true,
14
- "strictFunctionTypes": true,
15
- "alwaysStrict": true,
16
- "target": "es2017",
17
- "sourceMap": true,
18
- "lib": ["es6"]
19
- },
20
- "filesGlob": [
21
- "./**/*.ts"
22
- ],
23
- "exclude": [
24
- "node_modules",
25
- "dist"
26
- ]
27
- }
@@ -1,15 +0,0 @@
1
- {
2
- "defaultSeverity": "error",
3
- "extends": [
4
- "tslint:recommended"
5
- ],
6
- "jsRules": {},
7
- "rules": {
8
- "member-ordering": false,
9
- "no-consecutive-blank-lines": false,
10
- "ordered-imports": false,
11
- "ban-types": false,
12
- "max-line-length": false
13
- },
14
- "rulesDirectory": []
15
- }
File without changes