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,165 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { Invocation } from "./invocation";
4
- import { NamedEntity } from "./named_entity";
5
- import { Reference } from "./reference";
6
- import { Access } from "./access";
7
- import { Function as FamixFunctionEntity } from "./function";
8
- import { Variable } from "./variable";
9
-
10
- export class ContainerEntity extends NamedEntity {
11
-
12
- private parentContainerEntity: ContainerEntity;
13
-
14
- public getParentContainerEntity(): ContainerEntity {
15
- return this.parentContainerEntity;
16
- }
17
-
18
- public setParentContainerEntity(parentContainerEntity: ContainerEntity): void {
19
- this.parentContainerEntity = parentContainerEntity;
20
- parentContainerEntity.addChildContainerEntity(this);
21
- }
22
-
23
- private childrenContainerEntities: Set<ContainerEntity> = new Set();
24
-
25
- public getChildrenContainerEntities(): Set<ContainerEntity> {
26
- return this.childrenContainerEntities;
27
- }
28
-
29
- public addChildContainerEntity(childContainerEntity: ContainerEntity): void {
30
- if (!this.childrenContainerEntities.has(childContainerEntity)) {
31
- this.childrenContainerEntities.add(childContainerEntity);
32
- childContainerEntity.setParentContainerEntity(this);
33
- }
34
- }
35
-
36
- private cyclomaticComplexity: number;
37
-
38
- public getCyclomaticComplexity(): number {
39
- return this.cyclomaticComplexity;
40
- }
41
-
42
- public setCyclomaticComplexity(cyclomaticComplexity: number): void {
43
- this.cyclomaticComplexity = cyclomaticComplexity;
44
- }
45
-
46
- private numberOfStatements: number;
47
-
48
- public getNumberOfStatements(): number {
49
- return this.numberOfStatements;
50
- }
51
-
52
- public setNumberOfStatements(numberOfStatements: number): void {
53
- this.numberOfStatements = numberOfStatements;
54
- }
55
-
56
- private outgoingReferences: Set<Reference> = new Set();
57
-
58
- public getOutgoingReferences(): Set<Reference> {
59
- return this.outgoingReferences;
60
- }
61
-
62
- public addOutgoingReference(outgoingReference: Reference): void {
63
- if (!this.outgoingReferences.has(outgoingReference)) {
64
- this.outgoingReferences.add(outgoingReference);
65
- outgoingReference.setSource(this);
66
- }
67
- }
68
-
69
- private numberOfLinesOfCode: number;
70
-
71
- public getNumberOfLinesOfCode(): number {
72
- return this.numberOfLinesOfCode;
73
- }
74
-
75
- public setNumberOfLinesOfCode(numberOfLinesOfCode: number): void {
76
- this.numberOfLinesOfCode = numberOfLinesOfCode;
77
- }
78
-
79
- private outgoingInvocations: Set<Invocation> = new Set();
80
-
81
- public getOutgoingInvocations(): Set<Invocation> {
82
- return this.outgoingInvocations;
83
- }
84
-
85
- public addOutgoingInvocation(outgoingInvocation: Invocation): void {
86
- if (!this.outgoingInvocations.has(outgoingInvocation)) {
87
- this.outgoingInvocations.add(outgoingInvocation);
88
- outgoingInvocation.setSender(this);
89
- }
90
- }
91
-
92
- private accesses: Set<Access> = new Set();
93
-
94
- public getAccesses(): Set<Access> {
95
- return this.accesses;
96
- }
97
-
98
- public addAccess(access: Access): void {
99
- if (!this.accesses.has(access)) {
100
- this.accesses.add(access);
101
- access.setAccessor(this);
102
- }
103
- }
104
-
105
- private childrenTypes: Set<Type> = new Set();
106
-
107
- public getTypes(): Set<Type> {
108
- return this.childrenTypes;
109
- }
110
-
111
- public addType(childType: Type): void {
112
- if (!this.childrenTypes.has(childType)) {
113
- this.childrenTypes.add(childType);
114
- childType.setParentContainerEntity(this);
115
- }
116
- }
117
-
118
- private childrenFunctions: Set<FamixFunctionEntity> = new Set();
119
-
120
- public getFunctions(): Set<FamixFunctionEntity> {
121
- return this.childrenFunctions;
122
- }
123
-
124
- public addFunction(childFunction: FamixFunctionEntity): void {
125
- if (!this.childrenFunctions.has(childFunction)) {
126
- this.childrenFunctions.add(childFunction);
127
- childFunction.setParentContainerEntity(this);
128
- }
129
- }
130
-
131
- private variables: Set<Variable> = new Set();
132
-
133
- public getVariables(): Set<Variable> {
134
- return this.variables;
135
- }
136
-
137
- public addVariable(variable: Variable): void {
138
- if (!this.variables.has(variable)) {
139
- this.variables.add(variable);
140
- variable.setParentContainerEntity(this);
141
- }
142
- }
143
-
144
-
145
- public getJSON(): string {
146
- const json: FamixJSONExporter = new FamixJSONExporter("ContainerEntity", this);
147
- this.addPropertiesToExporter(json);
148
- return json.getJSON();
149
- }
150
-
151
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
152
- super.addPropertiesToExporter(exporter);
153
- // exporter.addProperty("parentBehaviouralEntity", this.getParentContainerEntity());
154
- // exporter.addProperty("childrenContainerEntities", this.getChildrenContainerEntities());
155
- exporter.addProperty("cyclomaticComplexity", this.getCyclomaticComplexity());
156
- exporter.addProperty("numberOfStatements", this.getNumberOfStatements());
157
- // exporter.addProperty("outgoingReferences", this.getOutgoingReferences()); /* derived ?*/
158
- exporter.addProperty("numberOfLinesOfCode", this.getNumberOfLinesOfCode());
159
- // exporter.addProperty("outgoingInvocations", this.getOutgoingInvocations()); /* derived ?*/
160
- // exporter.addProperty("accesses", this.getAccesses()); /* derived ?*/
161
- exporter.addProperty("types", this.getTypes());
162
- exporter.addProperty("functions", this.getFunctions());
163
- exporter.addProperty("localVariables", this.getVariables());
164
- }
165
- }
@@ -1,39 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { NamedEntity } from "./named_entity";
3
-
4
- export class Decorator extends NamedEntity {
5
-
6
- private decoratorExpression: string;
7
-
8
- public getDecoratorExpression(): string {
9
- return this.decoratorExpression;
10
- }
11
-
12
- public setDecoratorExpression(decoratorExpression: string) {
13
- this.decoratorExpression = decoratorExpression;
14
- }
15
-
16
- private decoratedEntity: NamedEntity;
17
-
18
- public getDecoratedEntity(): NamedEntity {
19
- return this.decoratedEntity;
20
- }
21
-
22
- public setDecoratedEntity(decoratedEntity: NamedEntity): void {
23
- this.decoratedEntity = decoratedEntity;
24
- decoratedEntity.addDecorator(this);
25
- }
26
-
27
-
28
- public getJSON(): string {
29
- const json: FamixJSONExporter = new FamixJSONExporter("Decorator", this);
30
- this.addPropertiesToExporter(json);
31
- return json.getJSON();
32
- }
33
-
34
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
35
- super.addPropertiesToExporter(exporter);
36
- exporter.addProperty("expression", this.getDecoratorExpression());
37
- exporter.addProperty("decoratedEntity", this.getDecoratedEntity());
38
- }
39
- }
@@ -1,31 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { EnumValue } from "./enum_value";
4
-
5
- export class Enum extends Type {
6
-
7
- private values: Set<EnumValue> = new Set();
8
-
9
- public getValues(): Set<EnumValue> {
10
- return this.values;
11
- }
12
-
13
- public addValue(value: EnumValue): void {
14
- if (!this.values.has(value)) {
15
- this.values.add(value);
16
- value.setParentEntity(this);
17
- }
18
- }
19
-
20
-
21
- public getJSON(): string {
22
- const json: FamixJSONExporter = new FamixJSONExporter("Enum", this);
23
- this.addPropertiesToExporter(json);
24
- return json.getJSON();
25
- }
26
-
27
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
- super.addPropertiesToExporter(exporter);
29
- exporter.addProperty("enumValues", this.getValues());
30
- }
31
- }
@@ -1,29 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { StructuralEntity } from "./structural_entity";
3
- import { Enum } from "./enum";
4
-
5
- export class EnumValue extends StructuralEntity {
6
-
7
- private parentEntity: Enum;
8
-
9
- public getParentEntity(): Enum {
10
- return this.parentEntity;
11
- }
12
-
13
- public setParentEntity(parentEntity: Enum): void {
14
- this.parentEntity = parentEntity;
15
- parentEntity.addValue(this);
16
- }
17
-
18
-
19
- public getJSON(): string {
20
- const json: FamixJSONExporter = new FamixJSONExporter("EnumValue", this);
21
- this.addPropertiesToExporter(json);
22
- return json.getJSON();
23
- }
24
-
25
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
26
- super.addPropertiesToExporter(exporter);
27
- exporter.addProperty("parentEnum", this.getParentEntity());
28
- }
29
- }
@@ -1,15 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Variable } from "./variable";
3
-
4
- export class ImplicitVariable extends Variable {
5
-
6
- public getJSON(): string {
7
- const json: FamixJSONExporter = new FamixJSONExporter("ImplicitVariable", this);
8
- this.addPropertiesToExporter(json);
9
- return json.getJSON();
10
- }
11
-
12
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
13
- super.addPropertiesToExporter(exporter);
14
- }
15
- }
@@ -1,54 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Entity } from "./entity";
3
- import { Module } from "./module";
4
- import { NamedEntity } from "./named_entity";
5
-
6
- export class ImportClause extends Entity {
7
-
8
- private importingEntity: Module;
9
-
10
- public getImportingEntity(): Module {
11
- return this.importingEntity;
12
- }
13
-
14
- public setImportingEntity(importer: Module): void {
15
- this.importingEntity = importer;
16
- importer.addOutgoingImport(this); // opposite
17
- }
18
-
19
- private importedEntity: NamedEntity;
20
-
21
- public getImportedEntity(): NamedEntity {
22
- return this.importedEntity;
23
- }
24
-
25
- public setImportedEntity(importedEntity: NamedEntity): void {
26
- this.importedEntity = importedEntity;
27
- importedEntity.addIncomingImport(this); // incomingImports in Famix TImportable/TImport
28
- }
29
-
30
- private moduleSpecifier: string;
31
-
32
- public getModuleSpecifier(): string {
33
- return this.moduleSpecifier;
34
- }
35
-
36
- public setModuleSpecifier(moduleSpecifier: string): void {
37
- this.moduleSpecifier = moduleSpecifier;
38
- }
39
-
40
-
41
- public getJSON(): string {
42
- const json: FamixJSONExporter = new FamixJSONExporter("ImportClause", this);
43
- this.addPropertiesToExporter(json);
44
- return json.getJSON();
45
- }
46
-
47
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
48
- super.addPropertiesToExporter(exporter);
49
- exporter.addProperty("importingEntity", this.getImportingEntity());
50
- exporter.addProperty("importedEntity", this.getImportedEntity());
51
- // unknown property below
52
- // exporter.addProperty("moduleSpecifier", this.getModuleSpecifier());
53
- }
54
- }
@@ -1,71 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourceAnchor } from "./source_anchor";
3
-
4
- export class IndexedFileAnchor 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 endLine: number;
27
-
28
- public getEndLine(): number {
29
- return this.endLine;
30
- }
31
-
32
- public setEndLine(sourceEndLine: number) {
33
- this.endLine = sourceEndLine;
34
- }
35
-
36
- private startLine: number;
37
-
38
- public getStartLine(): number {
39
- return this.startLine;
40
- }
41
-
42
- public setStartLine(sourceStartLine: number) {
43
- this.startLine = sourceStartLine;
44
- }
45
-
46
- private fileName: string;
47
-
48
- public getFileName(): string {
49
- return this.fileName;
50
- }
51
-
52
- public setFileName(fileName: string): void {
53
- this.fileName = fileName;
54
- }
55
-
56
-
57
- public getJSON(): string {
58
- const json: FamixJSONExporter = new FamixJSONExporter("IndexedFileAnchor", this);
59
- this.addPropertiesToExporter(json);
60
- return json.getJSON();
61
- }
62
-
63
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
64
- super.addPropertiesToExporter(exporter);
65
- exporter.addProperty("startPos", this.getStartPos());
66
- exporter.addProperty("endPos", this.getEndPos());
67
- // exporter.addProperty("startLine", this.getStartLine());
68
- // exporter.addProperty("endLine", this.getEndLine());
69
- exporter.addProperty("fileName", this.getFileName());
70
- }
71
- }
@@ -1,41 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Class } from "./class";
3
- import { Entity } from "./entity";
4
- import { Interface } from "./interface";
5
-
6
- export class Inheritance extends Entity {
7
-
8
- private superclass: Class | Interface;
9
-
10
- public getSuperclass(): Class | Interface {
11
- return this.superclass;
12
- }
13
-
14
- public setSuperclass(superclass: Class | Interface): void {
15
- this.superclass = superclass;
16
- superclass.addSubInheritance(this);
17
- }
18
-
19
- private subclass: Class | Interface;
20
-
21
- public getSubclass(): Class | Interface {
22
- return this.subclass;
23
- }
24
-
25
- public setSubclass(subclass: Class | Interface): void {
26
- this.subclass = subclass;
27
- subclass.addSuperInheritance(this);
28
- }
29
-
30
- public getJSON(): string {
31
- const json: FamixJSONExporter = new FamixJSONExporter("Inheritance", this);
32
- this.addPropertiesToExporter(json);
33
- return json.getJSON();
34
- }
35
-
36
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
- super.addPropertiesToExporter(exporter);
38
- exporter.addProperty("superclass", this.getSuperclass());
39
- exporter.addProperty("subclass", this.getSubclass());
40
- }
41
- }
@@ -1,75 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { Method } from "./method";
4
- import { Property } from "./property";
5
- import { Inheritance } from "./inheritance";
6
-
7
- export class Interface extends Type {
8
-
9
- private properties: Set<Property> = new Set();
10
-
11
- public getProperties(): Set<Property> {
12
- return this.properties;
13
- }
14
-
15
- public addProperty(property: Property): void {
16
- if (!this.properties.has(property)) {
17
- this.properties.add(property);
18
- property.setParentEntity(this);
19
- }
20
- }
21
-
22
- private methods: Set<Method> = new Set();
23
-
24
- public getMethods(): Set<Method> {
25
- return this.methods;
26
- }
27
-
28
- public addMethod(method: Method): void {
29
- if (!this.methods.has(method)) {
30
- this.methods.add(method);
31
- method.setParentEntity(this);
32
- }
33
- }
34
-
35
- private superInheritances: Set<Inheritance> = new Set();
36
-
37
- public getSuperInheritances(): Set<Inheritance> {
38
- return this.superInheritances;
39
- }
40
-
41
- public addSuperInheritance(superInheritance: Inheritance): void {
42
- if (!this.superInheritances.has(superInheritance)) {
43
- this.superInheritances.add(superInheritance);
44
- superInheritance.setSubclass(this);
45
- }
46
- }
47
-
48
- private subInheritances: Set<Inheritance> = new Set();
49
-
50
- public getSubInheritances(): Set<Inheritance> {
51
- return this.subInheritances;
52
- }
53
-
54
- public addSubInheritance(subInheritance: Inheritance): void {
55
- if (!this.subInheritances.has(subInheritance)) {
56
- this.subInheritances.add(subInheritance);
57
- subInheritance.setSuperclass(this);
58
- }
59
- }
60
-
61
-
62
- public getJSON(): string {
63
- const json: FamixJSONExporter = new FamixJSONExporter("Interface", this);
64
- this.addPropertiesToExporter(json);
65
- return json.getJSON();
66
- }
67
-
68
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
69
- super.addPropertiesToExporter(exporter);
70
- exporter.addProperty("attributes", this.getProperties());
71
- exporter.addProperty("methods", this.getMethods());
72
- exporter.addProperty("superInheritances", this.getSuperInheritances());
73
- exporter.addProperty("subInheritances", this.getSubInheritances());
74
- }
75
- }
@@ -1,68 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { NamedEntity } from "./named_entity";
3
- import { BehavioralEntity } from "./behavioral_entity";
4
- import { ContainerEntity } from "./container_entity";
5
- import { Entity } from "./entity";
6
-
7
- export class Invocation extends Entity {
8
-
9
- private candidates: Set<BehavioralEntity> = new Set();
10
-
11
- public getCandidates(): Set<BehavioralEntity> {
12
- return this.candidates;
13
- }
14
-
15
- public addCandidate(candidate: BehavioralEntity): void {
16
- if (!this.candidates.has(candidate)) {
17
- this.candidates.add(candidate);
18
- candidate.addIncomingInvocation(this);
19
- }
20
- }
21
-
22
- private receiver: NamedEntity;
23
-
24
- public getReceiver(): NamedEntity {
25
- return this.receiver;
26
- }
27
-
28
- public setReceiver(receiver: NamedEntity): void {
29
- this.receiver = receiver;
30
- receiver.addReceivedInvocation(this);
31
- }
32
-
33
- private sender: ContainerEntity;
34
-
35
- public getSender(): ContainerEntity {
36
- return this.sender;
37
- }
38
-
39
- public setSender(sender: ContainerEntity): void {
40
- this.sender = sender;
41
- sender.addOutgoingInvocation(this);
42
- }
43
-
44
- private signature: string;
45
-
46
- public getSignature(): string {
47
- return this.signature;
48
- }
49
-
50
- public setSignature(signature: string): void {
51
- this.signature = signature;
52
- }
53
-
54
-
55
- public getJSON(): string {
56
- const json: FamixJSONExporter = new FamixJSONExporter("Invocation", this);
57
- this.addPropertiesToExporter(json);
58
- return json.getJSON();
59
- }
60
-
61
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
62
- super.addPropertiesToExporter(exporter);
63
- exporter.addProperty("candidates", this.getCandidates());
64
- exporter.addProperty("receiver", this.getReceiver());
65
- exporter.addProperty("sender", this.getSender());
66
- exporter.addProperty("signature", this.getSignature());
67
- }
68
- }
@@ -1,96 +0,0 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { BehavioralEntity } from "./behavioral_entity";
3
- import { Class } from "./class";
4
- import { Interface } from "./interface";
5
-
6
- export class Method extends BehavioralEntity {
7
-
8
- private parentEntity: Class | Interface;
9
-
10
- public getParentEntity(): Class | Interface {
11
- return this.parentEntity;
12
- }
13
-
14
- public setParentEntity(parentEntity: Class | Interface): void {
15
- this.parentEntity = parentEntity;
16
- parentEntity.addMethod(this);
17
- }
18
-
19
- private kind: string;
20
-
21
- public getKind(): string {
22
- return this.kind;
23
- }
24
-
25
- public setKind(kind: string): void {
26
- this.kind = kind;
27
- }
28
-
29
- private isAbstract: boolean;
30
-
31
- public getIsAbstract(): boolean {
32
- return this.isAbstract;
33
- }
34
-
35
- public setIsAbstract(isAbstract: boolean): void {
36
- this.isAbstract = isAbstract;
37
- }
38
-
39
- private isClassSide: boolean;
40
-
41
- public getIsClassSide(): boolean {
42
- return this.isClassSide;
43
- }
44
-
45
- public setIsClassSide(isClassSide: boolean): void {
46
- this.isClassSide = isClassSide;
47
- }
48
-
49
- private isPrivate: boolean;
50
-
51
- public getIsPrivate(): boolean {
52
- return this.isPrivate;
53
- }
54
-
55
- public setIsPrivate(isPrivate: boolean): void {
56
- this.isPrivate = isPrivate;
57
- }
58
-
59
- private isPublic: boolean;
60
-
61
- public getIsPublic(): boolean {
62
- return this.isPublic;
63
- }
64
-
65
- public setIsPublic(isPublic: boolean): void {
66
- this.isPublic = isPublic;
67
- }
68
-
69
- private isProtected: boolean;
70
-
71
- public getIsProtected(): boolean {
72
- return this.isProtected;
73
- }
74
-
75
- public setIsProtected(isProtected: boolean): void {
76
- this.isProtected = isProtected;
77
- }
78
-
79
-
80
- public getJSON(): string {
81
- const json: FamixJSONExporter = new FamixJSONExporter("Method", this);
82
- this.addPropertiesToExporter(json);
83
- return json.getJSON();
84
- }
85
-
86
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
87
- super.addPropertiesToExporter(exporter);
88
- exporter.addProperty("parentType", this.getParentEntity());
89
- exporter.addProperty("kind", this.getKind());
90
- exporter.addProperty("isAbstract", this.getIsAbstract());
91
- exporter.addProperty("isClassSide", this.getIsClassSide());
92
- exporter.addProperty("isPrivate", this.getIsPrivate());
93
- exporter.addProperty("isPublic", this.getIsPublic());
94
- exporter.addProperty("isProtected", this.getIsProtected());
95
- }
96
- }