ts2famix 1.4.1 → 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 (210) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +30 -61
  3. package/dist/analyze.js +4 -2
  4. package/dist/analyze_functions/process_functions.js +285 -131
  5. package/dist/famix_functions/EntityDictionary.js +864 -231
  6. package/dist/famix_functions/helpers_creation.js +61 -10
  7. package/dist/fqn.js +160 -111
  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 -0
  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/model/famix/index.js +86 -0
  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 +3 -3
  55. package/dist/refactorer/refactor-getter-setter.js +142 -0
  56. package/dist/ts2famix-cli-wrapper.js +42 -0
  57. package/dist/ts2famix-cli.js +8 -1
  58. package/dist/ts2famix-tsconfig.js +1 -0
  59. package/doc-uml/famix-typescript-model.puml +608 -0
  60. package/doc-uml/famix-typescript-model.svg +1 -0
  61. package/jest.config.json +2 -1
  62. package/package.json +13 -12
  63. package/src/analyze.ts +24 -23
  64. package/src/analyze_functions/process_functions.ts +310 -129
  65. package/src/famix_functions/EntityDictionary.ts +949 -271
  66. package/src/famix_functions/helpers_creation.ts +64 -6
  67. package/src/fqn.ts +169 -96
  68. package/{dist/lib/famix/src/famix_JSON_exporter.js → src/lib/famix/famix_JSON_exporter.ts} +16 -14
  69. package/src/lib/famix/famix_base_element.ts +22 -0
  70. package/{dist/lib/famix/src/famix_repository.js → src/lib/famix/famix_repository.ts} +96 -75
  71. package/src/lib/famix/model/famix/access.ts +50 -0
  72. package/src/lib/famix/model/famix/alias.ts +39 -0
  73. package/src/lib/famix/{src/model/famix/implicit_variable.ts → model/famix/arrow_function.ts} +3 -3
  74. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -0
  75. package/src/lib/famix/model/famix/class.ts +85 -0
  76. package/src/lib/famix/model/famix/comment.ts +47 -0
  77. package/src/lib/famix/model/famix/concretisation.ts +40 -0
  78. package/src/lib/famix/model/famix/container_entity.ts +160 -0
  79. package/src/lib/famix/model/famix/decorator.ts +37 -0
  80. package/src/lib/famix/model/famix/enum.ts +30 -0
  81. package/src/lib/famix/model/famix/enum_value.ts +28 -0
  82. package/src/lib/famix/model/famix/import_clause.ts +51 -0
  83. package/src/lib/famix/{src/model → model}/famix/index.ts +8 -7
  84. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -0
  85. package/src/lib/famix/model/famix/inheritance.ts +40 -0
  86. package/src/lib/famix/model/famix/interface.ts +75 -0
  87. package/src/lib/famix/model/famix/invocation.ts +65 -0
  88. package/src/lib/famix/model/famix/method.ts +89 -0
  89. package/src/lib/famix/model/famix/module.ts +71 -0
  90. package/src/lib/famix/model/famix/named_entity.ts +95 -0
  91. package/src/lib/famix/{src/model → model}/famix/parameter.ts +11 -12
  92. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -0
  93. package/src/lib/famix/model/famix/parameter_type.ts +58 -0
  94. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -0
  95. package/src/lib/famix/model/famix/parametric_class.ts +49 -0
  96. package/src/lib/famix/model/famix/parametric_function.ts +32 -0
  97. package/src/lib/famix/model/famix/parametric_interface.ts +49 -0
  98. package/src/lib/famix/model/famix/parametric_method.ts +32 -0
  99. package/src/lib/famix/model/famix/primitive_type.ts +15 -0
  100. package/src/lib/famix/model/famix/property.ts +94 -0
  101. package/src/lib/famix/model/famix/reference.ts +40 -0
  102. package/src/lib/famix/model/famix/scoping_entity.ts +35 -0
  103. package/src/lib/famix/model/famix/script_entity.ts +34 -0
  104. package/src/lib/famix/model/famix/source_anchor.ts +30 -0
  105. package/src/lib/famix/model/famix/source_language.ts +35 -0
  106. package/src/lib/famix/model/famix/sourced_entity.ts +70 -0
  107. package/src/lib/famix/model/famix/structural_entity.ts +43 -0
  108. package/src/lib/famix/model/famix/type.ts +87 -0
  109. package/src/lib/famix/model/famix/variable.ts +27 -0
  110. package/src/lib/famix/package.json +1 -1
  111. package/src/lib/ts-complex/cyclomatic-service.ts +10 -10
  112. package/src/refactorer/refactor-getter-setter.ts +140 -0
  113. package/src/ts2famix-cli-wrapper.ts +21 -0
  114. package/src/ts2famix-cli.ts +8 -2
  115. package/tsconfig.check-tests.json +14 -0
  116. package/tsconfig.json +71 -69
  117. package/dist/famix2puml.js +0 -125
  118. package/dist/lib/famix/src/famix_base_element.js +0 -17
  119. package/dist/lib/famix/src/model/famix/access.js +0 -39
  120. package/dist/lib/famix/src/model/famix/accessor.js +0 -16
  121. package/dist/lib/famix/src/model/famix/alias.js +0 -32
  122. package/dist/lib/famix/src/model/famix/association.js +0 -36
  123. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -81
  124. package/dist/lib/famix/src/model/famix/class.js +0 -70
  125. package/dist/lib/famix/src/model/famix/comment.js +0 -38
  126. package/dist/lib/famix/src/model/famix/container_entity.js +0 -125
  127. package/dist/lib/famix/src/model/famix/decorator.js +0 -31
  128. package/dist/lib/famix/src/model/famix/entity.js +0 -16
  129. package/dist/lib/famix/src/model/famix/enum.js +0 -30
  130. package/dist/lib/famix/src/model/famix/enum_value.js +0 -24
  131. package/dist/lib/famix/src/model/famix/function.js +0 -16
  132. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -16
  133. package/dist/lib/famix/src/model/famix/import_clause.js +0 -39
  134. package/dist/lib/famix/src/model/famix/index.js +0 -83
  135. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -51
  136. package/dist/lib/famix/src/model/famix/inheritance.js +0 -32
  137. package/dist/lib/famix/src/model/famix/interface.js +0 -63
  138. package/dist/lib/famix/src/model/famix/invocation.js +0 -53
  139. package/dist/lib/famix/src/model/famix/method.js +0 -66
  140. package/dist/lib/famix/src/model/famix/module.js +0 -31
  141. package/dist/lib/famix/src/model/famix/named_entity.js +0 -77
  142. package/dist/lib/famix/src/model/famix/namespace.js +0 -24
  143. package/dist/lib/famix/src/model/famix/parameter.js +0 -24
  144. package/dist/lib/famix/src/model/famix/parameter_type.js +0 -24
  145. package/dist/lib/famix/src/model/famix/parameterizable_class.js +0 -30
  146. package/dist/lib/famix/src/model/famix/parameterizable_interface.js +0 -30
  147. package/dist/lib/famix/src/model/famix/parameterized_type.js +0 -36
  148. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -16
  149. package/dist/lib/famix/src/model/famix/property.js +0 -44
  150. package/dist/lib/famix/src/model/famix/reference.js +0 -32
  151. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -35
  152. package/dist/lib/famix/src/model/famix/script_entity.js +0 -30
  153. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -26
  154. package/dist/lib/famix/src/model/famix/source_language.js +0 -35
  155. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -59
  156. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -38
  157. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -37
  158. package/dist/lib/famix/src/model/famix/type.js +0 -71
  159. package/dist/lib/famix/src/model/famix/variable.js +0 -23
  160. package/doc-uml/metamodel-full.svg +0 -1
  161. package/doc-uml/metamodel.svg +0 -1
  162. package/jest.config-old.ts +0 -199
  163. package/plantuml.jar +0 -0
  164. package/src/famix2puml.ts +0 -119
  165. package/src/lib/famix/package-lock.json +0 -301
  166. package/src/lib/famix/readme.md +0 -5
  167. package/src/lib/famix/src/famix_JSON_exporter.ts +0 -56
  168. package/src/lib/famix/src/famix_base_element.ts +0 -22
  169. package/src/lib/famix/src/famix_repository.ts +0 -243
  170. package/src/lib/famix/src/model/famix/access.ts +0 -53
  171. package/src/lib/famix/src/model/famix/alias.ts +0 -41
  172. package/src/lib/famix/src/model/famix/association.ts +0 -44
  173. package/src/lib/famix/src/model/famix/behavioral_entity.ts +0 -107
  174. package/src/lib/famix/src/model/famix/class.ts +0 -86
  175. package/src/lib/famix/src/model/famix/comment.ts +0 -50
  176. package/src/lib/famix/src/model/famix/container_entity.ts +0 -165
  177. package/src/lib/famix/src/model/famix/decorator.ts +0 -39
  178. package/src/lib/famix/src/model/famix/enum.ts +0 -31
  179. package/src/lib/famix/src/model/famix/enum_value.ts +0 -29
  180. package/src/lib/famix/src/model/famix/import_clause.ts +0 -53
  181. package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +0 -71
  182. package/src/lib/famix/src/model/famix/inheritance.ts +0 -42
  183. package/src/lib/famix/src/model/famix/interface.ts +0 -75
  184. package/src/lib/famix/src/model/famix/invocation.ts +0 -68
  185. package/src/lib/famix/src/model/famix/method.ts +0 -96
  186. package/src/lib/famix/src/model/famix/module.ts +0 -31
  187. package/src/lib/famix/src/model/famix/named_entity.ts +0 -98
  188. package/src/lib/famix/src/model/famix/namespace.ts +0 -28
  189. package/src/lib/famix/src/model/famix/parameter_type.ts +0 -33
  190. package/src/lib/famix/src/model/famix/parameterizable_class.ts +0 -31
  191. package/src/lib/famix/src/model/famix/parameterizable_interface.ts +0 -31
  192. package/src/lib/famix/src/model/famix/parameterized_type.ts +0 -40
  193. package/src/lib/famix/src/model/famix/primitive_type.ts +0 -15
  194. package/src/lib/famix/src/model/famix/property.ts +0 -54
  195. package/src/lib/famix/src/model/famix/reference.ts +0 -42
  196. package/src/lib/famix/src/model/famix/scoping_entity.ts +0 -35
  197. package/src/lib/famix/src/model/famix/script_entity.ts +0 -38
  198. package/src/lib/famix/src/model/famix/source_anchor.ts +0 -31
  199. package/src/lib/famix/src/model/famix/source_language.ts +0 -37
  200. package/src/lib/famix/src/model/famix/sourced_entity.ts +0 -73
  201. package/src/lib/famix/src/model/famix/structural_entity.ts +0 -44
  202. package/src/lib/famix/src/model/famix/text_anchor.ts +0 -49
  203. package/src/lib/famix/src/model/famix/type.ts +0 -88
  204. package/src/lib/famix/src/model/famix/variable.ts +0 -28
  205. package/src/lib/famix/tsconfig.json +0 -27
  206. package/src/lib/famix/tslint.json +0 -15
  207. /package/src/lib/famix/{src/index.ts → index.ts} +0 -0
  208. /package/src/lib/famix/{src/model → model}/famix/accessor.ts +0 -0
  209. /package/src/lib/famix/{src/model → model}/famix/entity.ts +0 -0
  210. /package/src/lib/famix/{src/model → model}/famix/function.ts +0 -0
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Interface = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const type_1 = require("./type");
6
- class Interface extends type_1.Type {
7
- constructor() {
8
- super(...arguments);
9
- this.properties = new Set();
10
- this.methods = new Set();
11
- this.superInheritances = new Set();
12
- this.subInheritances = new Set();
13
- }
14
- getProperties() {
15
- return this.properties;
16
- }
17
- addProperty(property) {
18
- if (!this.properties.has(property)) {
19
- this.properties.add(property);
20
- property.setParentEntity(this);
21
- }
22
- }
23
- getMethods() {
24
- return this.methods;
25
- }
26
- addMethod(method) {
27
- if (!this.methods.has(method)) {
28
- this.methods.add(method);
29
- method.setParentEntity(this);
30
- }
31
- }
32
- getSuperInheritances() {
33
- return this.superInheritances;
34
- }
35
- addSuperInheritance(superInheritance) {
36
- if (!this.superInheritances.has(superInheritance)) {
37
- this.superInheritances.add(superInheritance);
38
- superInheritance.setSubclass(this);
39
- }
40
- }
41
- getSubInheritances() {
42
- return this.subInheritances;
43
- }
44
- addSubInheritance(subInheritance) {
45
- if (!this.subInheritances.has(subInheritance)) {
46
- this.subInheritances.add(subInheritance);
47
- subInheritance.setSuperclass(this);
48
- }
49
- }
50
- getJSON() {
51
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Interface", this);
52
- this.addPropertiesToExporter(json);
53
- return json.getJSON();
54
- }
55
- addPropertiesToExporter(exporter) {
56
- super.addPropertiesToExporter(exporter);
57
- exporter.addProperty("properties", this.getProperties());
58
- exporter.addProperty("methods", this.getMethods());
59
- exporter.addProperty("superInheritances", this.getSuperInheritances());
60
- exporter.addProperty("subInheritances", this.getSubInheritances());
61
- }
62
- }
63
- exports.Interface = Interface;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Invocation = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const association_1 = require("./association");
6
- class Invocation extends association_1.Association {
7
- constructor() {
8
- super(...arguments);
9
- this.candidates = new Set();
10
- }
11
- getCandidates() {
12
- return this.candidates;
13
- }
14
- addCandidate(candidate) {
15
- if (!this.candidates.has(candidate)) {
16
- this.candidates.add(candidate);
17
- candidate.addIncomingInvocation(this);
18
- }
19
- }
20
- getReceiver() {
21
- return this.receiver;
22
- }
23
- setReceiver(receiver) {
24
- this.receiver = receiver;
25
- receiver.addReceivedInvocation(this);
26
- }
27
- getSender() {
28
- return this.sender;
29
- }
30
- setSender(sender) {
31
- this.sender = sender;
32
- sender.addOutgoingInvocation(this);
33
- }
34
- getSignature() {
35
- return this.signature;
36
- }
37
- setSignature(signature) {
38
- this.signature = signature;
39
- }
40
- getJSON() {
41
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Invocation", this);
42
- this.addPropertiesToExporter(json);
43
- return json.getJSON();
44
- }
45
- addPropertiesToExporter(exporter) {
46
- super.addPropertiesToExporter(exporter);
47
- exporter.addProperty("candidates", this.getCandidates());
48
- exporter.addProperty("receiver", this.getReceiver());
49
- exporter.addProperty("sender", this.getSender());
50
- exporter.addProperty("signature", this.getSignature());
51
- }
52
- }
53
- exports.Invocation = Invocation;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Method = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const behavioral_entity_1 = require("./behavioral_entity");
6
- class Method extends behavioral_entity_1.BehavioralEntity {
7
- getParentEntity() {
8
- return this.parentEntity;
9
- }
10
- setParentEntity(parentEntity) {
11
- this.parentEntity = parentEntity;
12
- parentEntity.addMethod(this);
13
- }
14
- getKind() {
15
- return this.kind;
16
- }
17
- setKind(kind) {
18
- this.kind = kind;
19
- }
20
- getIsAbstract() {
21
- return this.isAbstract;
22
- }
23
- setIsAbstract(isAbstract) {
24
- this.isAbstract = isAbstract;
25
- }
26
- getIsClassSide() {
27
- return this.isClassSide;
28
- }
29
- setIsClassSide(isClassSide) {
30
- this.isClassSide = isClassSide;
31
- }
32
- getIsPrivate() {
33
- return this.isPrivate;
34
- }
35
- setIsPrivate(isPrivate) {
36
- this.isPrivate = isPrivate;
37
- }
38
- getIsPublic() {
39
- return this.isPublic;
40
- }
41
- setIsPublic(isPublic) {
42
- this.isPublic = isPublic;
43
- }
44
- getIsProtected() {
45
- return this.isProtected;
46
- }
47
- setIsProtected(isProtected) {
48
- this.isProtected = isProtected;
49
- }
50
- getJSON() {
51
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Method", this);
52
- this.addPropertiesToExporter(json);
53
- return json.getJSON();
54
- }
55
- addPropertiesToExporter(exporter) {
56
- super.addPropertiesToExporter(exporter);
57
- exporter.addProperty("parentEntity", this.getParentEntity());
58
- exporter.addProperty("kind", this.getKind());
59
- exporter.addProperty("isAbstract", this.getIsAbstract());
60
- exporter.addProperty("isClassSide", this.getIsClassSide());
61
- exporter.addProperty("isPrivate", this.getIsPrivate());
62
- exporter.addProperty("isPublic", this.getIsPublic());
63
- exporter.addProperty("isProtected", this.getIsProtected());
64
- }
65
- }
66
- exports.Method = Method;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Module = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const script_entity_1 = require("./script_entity");
6
- class Module extends script_entity_1.ScriptEntity {
7
- constructor() {
8
- super(...arguments);
9
- // incomingImports are in NamedEntity
10
- this.outgoingImports = new Set();
11
- }
12
- getOutgoingImports() {
13
- return this.outgoingImports;
14
- }
15
- addOutgoingImport(importClause) {
16
- if (!this.outgoingImports.has(importClause)) {
17
- this.outgoingImports.add(importClause);
18
- importClause.setImportingEntity(this); // opposite
19
- }
20
- }
21
- getJSON() {
22
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Module", this);
23
- this.addPropertiesToExporter(json);
24
- return json.getJSON();
25
- }
26
- addPropertiesToExporter(exporter) {
27
- super.addPropertiesToExporter(exporter);
28
- exporter.addProperty("outgoingImports", this.getOutgoingImports());
29
- }
30
- }
31
- exports.Module = Module;
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NamedEntity = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const sourced_entity_1 = require("./sourced_entity");
6
- class NamedEntity extends sourced_entity_1.SourcedEntity {
7
- constructor() {
8
- super(...arguments);
9
- this.receivedInvocations = new Set();
10
- this.incomingImports = new Set();
11
- this.aliases = new Set();
12
- this.decorators = new Set();
13
- }
14
- getFullyQualifiedName() {
15
- return this.fullyQualifiedName;
16
- }
17
- setFullyQualifiedName(fullyQualifiedName) {
18
- this.fullyQualifiedName = fullyQualifiedName;
19
- }
20
- getReceivedInvocations() {
21
- return this.receivedInvocations;
22
- }
23
- addReceivedInvocation(receivedInvocation) {
24
- if (!this.receivedInvocations.has(receivedInvocation)) {
25
- this.receivedInvocations.add(receivedInvocation);
26
- receivedInvocation.setReceiver(this);
27
- }
28
- }
29
- getIncomingImports() {
30
- return this.incomingImports;
31
- }
32
- addIncomingImport(anImport) {
33
- if (!this.incomingImports.has(anImport)) {
34
- this.incomingImports.add(anImport);
35
- anImport.setImportedEntity(this); // opposite
36
- }
37
- }
38
- getName() {
39
- return this.name;
40
- }
41
- setName(name) {
42
- this.name = name;
43
- }
44
- getAliases() {
45
- return this.aliases;
46
- }
47
- addAlias(alias) {
48
- if (!this.aliases.has(alias)) {
49
- this.aliases.add(alias);
50
- alias.setParentEntity(this);
51
- }
52
- }
53
- getDecorators() {
54
- return this.decorators;
55
- }
56
- addDecorator(decorator) {
57
- if (!this.decorators.has(decorator)) {
58
- this.decorators.add(decorator);
59
- decorator.setDecoratedEntity(this);
60
- }
61
- }
62
- getJSON() {
63
- const json = new famix_JSON_exporter_1.FamixJSONExporter("NamedEntity", this);
64
- this.addPropertiesToExporter(json);
65
- return json.getJSON();
66
- }
67
- addPropertiesToExporter(exporter) {
68
- super.addPropertiesToExporter(exporter);
69
- exporter.addProperty("fullyQualifiedName", this.getFullyQualifiedName());
70
- exporter.addProperty("incomingInvocations", this.getReceivedInvocations());
71
- exporter.addProperty("incomingImports", this.getIncomingImports());
72
- exporter.addProperty("name", this.getName());
73
- exporter.addProperty("aliases", this.getAliases());
74
- exporter.addProperty("decorators", this.getDecorators());
75
- }
76
- }
77
- exports.NamedEntity = NamedEntity;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Namespace = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const scoping_entity_1 = require("./scoping_entity");
6
- class Namespace extends scoping_entity_1.ScopingEntity {
7
- getParentScope() {
8
- return this.parentScope;
9
- }
10
- setParentScope(parentScope) {
11
- this.parentScope = parentScope;
12
- parentScope.addNamespace(this);
13
- }
14
- getJSON() {
15
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Namespace", this);
16
- this.addPropertiesToExporter(json);
17
- return json.getJSON();
18
- }
19
- addPropertiesToExporter(exporter) {
20
- super.addPropertiesToExporter(exporter);
21
- exporter.addProperty("parentScope", this.getParentScope());
22
- }
23
- }
24
- exports.Namespace = Namespace;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Parameter = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const structural_entity_1 = require("./structural_entity");
6
- class Parameter extends structural_entity_1.StructuralEntity {
7
- getParentEntity() {
8
- return this.parentEntity;
9
- }
10
- setParentEntity(parentEntity) {
11
- this.parentEntity = parentEntity;
12
- parentEntity.addParameter(this);
13
- }
14
- getJSON() {
15
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Parameter", this);
16
- this.addPropertiesToExporter(json);
17
- return json.getJSON();
18
- }
19
- addPropertiesToExporter(exporter) {
20
- super.addPropertiesToExporter(exporter);
21
- exporter.addProperty("parentEntity", this.getParentEntity());
22
- }
23
- }
24
- exports.Parameter = Parameter;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterType = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const type_1 = require("./type");
6
- class ParameterType extends type_1.Type {
7
- getParentGeneric() {
8
- return this.parentGeneric;
9
- }
10
- setParentGeneric(parentGeneric) {
11
- this.parentGeneric = parentGeneric;
12
- parentGeneric.addParameterType(this);
13
- }
14
- getJSON() {
15
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterType", this);
16
- this.addPropertiesToExporter(json);
17
- return json.getJSON();
18
- }
19
- addPropertiesToExporter(exporter) {
20
- super.addPropertiesToExporter(exporter);
21
- exporter.addProperty("parentGeneric", this.getParentGeneric());
22
- }
23
- }
24
- exports.ParameterType = ParameterType;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterizableClass = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const class_1 = require("./class");
6
- class ParameterizableClass extends class_1.Class {
7
- constructor() {
8
- super(...arguments);
9
- this.parameterTypes = new Set();
10
- }
11
- getParameterTypes() {
12
- return this.parameterTypes;
13
- }
14
- addParameterType(parameterType) {
15
- if (!this.parameterTypes.has(parameterType)) {
16
- this.parameterTypes.add(parameterType);
17
- parameterType.setParentGeneric(this);
18
- }
19
- }
20
- getJSON() {
21
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterizableClass", this);
22
- this.addPropertiesToExporter(json);
23
- return json.getJSON();
24
- }
25
- addPropertiesToExporter(exporter) {
26
- super.addPropertiesToExporter(exporter);
27
- exporter.addProperty("parameterTypes", this.getParameterTypes());
28
- }
29
- }
30
- exports.ParameterizableClass = ParameterizableClass;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterizableInterface = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const interface_1 = require("./interface");
6
- class ParameterizableInterface extends interface_1.Interface {
7
- constructor() {
8
- super(...arguments);
9
- this.parameterTypes = new Set();
10
- }
11
- getParameterTypes() {
12
- return this.parameterTypes;
13
- }
14
- addParameterType(parameterType) {
15
- if (!this.parameterTypes.has(parameterType)) {
16
- this.parameterTypes.add(parameterType);
17
- parameterType.setParentGeneric(this);
18
- }
19
- }
20
- getJSON() {
21
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterizableInterface", this);
22
- this.addPropertiesToExporter(json);
23
- return json.getJSON();
24
- }
25
- addPropertiesToExporter(exporter) {
26
- super.addPropertiesToExporter(exporter);
27
- exporter.addProperty("parameterTypes", this.getParameterTypes());
28
- }
29
- }
30
- exports.ParameterizableInterface = ParameterizableInterface;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterizedType = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const type_1 = require("./type");
6
- class ParameterizedType extends type_1.Type {
7
- constructor() {
8
- super(...arguments);
9
- this.arguments = new Set();
10
- }
11
- getBaseType() {
12
- return this.baseType;
13
- }
14
- setBaseType(baseType) {
15
- this.baseType = baseType;
16
- }
17
- getArguments() {
18
- return this.arguments;
19
- }
20
- addArgument(argument) {
21
- if (!this.arguments.has(argument)) {
22
- this.arguments.add(argument);
23
- }
24
- }
25
- getJSON() {
26
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterizedType", this);
27
- this.addPropertiesToExporter(json);
28
- return json.getJSON();
29
- }
30
- addPropertiesToExporter(exporter) {
31
- super.addPropertiesToExporter(exporter);
32
- exporter.addProperty("baseType", this.getBaseType());
33
- exporter.addProperty("arguments", this.getArguments());
34
- }
35
- }
36
- exports.ParameterizedType = ParameterizedType;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrimitiveType = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const type_1 = require("./type");
6
- class PrimitiveType extends type_1.Type {
7
- getJSON() {
8
- const json = new famix_JSON_exporter_1.FamixJSONExporter("PrimitiveType", this);
9
- this.addPropertiesToExporter(json);
10
- return json.getJSON();
11
- }
12
- addPropertiesToExporter(exporter) {
13
- super.addPropertiesToExporter(exporter);
14
- }
15
- }
16
- exports.PrimitiveType = PrimitiveType;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Property = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const structural_entity_1 = require("./structural_entity");
6
- class Property extends structural_entity_1.StructuralEntity {
7
- constructor() {
8
- super(...arguments);
9
- this.modifiers = new Set();
10
- }
11
- getIsClassSide() {
12
- return this.isClassSide;
13
- }
14
- setIsClassSide(isClassSide) {
15
- this.isClassSide = isClassSide;
16
- }
17
- getParentEntity() {
18
- return this.parentEntity;
19
- }
20
- setParentEntity(parentEntity) {
21
- this.parentEntity = parentEntity;
22
- parentEntity.addProperty(this);
23
- }
24
- getModifiers() {
25
- return this.modifiers;
26
- }
27
- addModifier(modifier) {
28
- if (!this.modifiers.has(modifier)) {
29
- this.modifiers.add(modifier);
30
- }
31
- }
32
- getJSON() {
33
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Property", this);
34
- this.addPropertiesToExporter(json);
35
- return json.getJSON();
36
- }
37
- addPropertiesToExporter(exporter) {
38
- super.addPropertiesToExporter(exporter);
39
- exporter.addProperty("isClassSide", this.getIsClassSide());
40
- exporter.addProperty("parentEntity", this.getParentEntity());
41
- exporter.addProperty("modifiers", this.getModifiers());
42
- }
43
- }
44
- exports.Property = Property;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Reference = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const association_1 = require("./association");
6
- class Reference extends association_1.Association {
7
- getSource() {
8
- return this.source;
9
- }
10
- setSource(source) {
11
- this.source = source;
12
- source.addOutgoingReference(this);
13
- }
14
- getTarget() {
15
- return this.target;
16
- }
17
- setTarget(target) {
18
- this.target = target;
19
- target.addIncomingReference(this);
20
- }
21
- getJSON() {
22
- const json = new famix_JSON_exporter_1.FamixJSONExporter("Reference", this);
23
- this.addPropertiesToExporter(json);
24
- return json.getJSON();
25
- }
26
- addPropertiesToExporter(exporter) {
27
- super.addPropertiesToExporter(exporter);
28
- exporter.addProperty("source", this.getSource());
29
- exporter.addProperty("target", this.getTarget());
30
- }
31
- }
32
- exports.Reference = Reference;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScopingEntity = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const container_entity_1 = require("./container_entity");
6
- const analyze_1 = require("../../../../../analyze");
7
- class ScopingEntity extends container_entity_1.ContainerEntity {
8
- constructor() {
9
- super(...arguments);
10
- this.childrenNamespaces = new Set();
11
- }
12
- getNamespaces() {
13
- return this.childrenNamespaces;
14
- }
15
- addNamespace(childNamespace) {
16
- if (!this.childrenNamespaces.has(childNamespace)) {
17
- analyze_1.logger.debug("Adding namespace " + childNamespace.getName() + " to " + this.getName());
18
- this.childrenNamespaces.add(childNamespace);
19
- childNamespace.setParentScope(this);
20
- }
21
- else {
22
- analyze_1.logger.debug("Namespace " + childNamespace.getName() + " already added to " + this.getName());
23
- }
24
- }
25
- getJSON() {
26
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ScopingEntity", this);
27
- this.addPropertiesToExporter(json);
28
- return json.getJSON();
29
- }
30
- addPropertiesToExporter(exporter) {
31
- super.addPropertiesToExporter(exporter);
32
- exporter.addProperty("namespaces", this.getNamespaces());
33
- }
34
- }
35
- exports.ScopingEntity = ScopingEntity;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScriptEntity = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const scoping_entity_1 = require("./scoping_entity");
6
- class ScriptEntity extends scoping_entity_1.ScopingEntity {
7
- getNumberOfLinesOfText() {
8
- return this.numberOfLinesOfText;
9
- }
10
- setNumberOfLinesOfText(numberOfLinesOfText) {
11
- this.numberOfLinesOfText = numberOfLinesOfText;
12
- }
13
- getNumberOfCharacters() {
14
- return this.numberOfCharacters;
15
- }
16
- setNumberOfCharacters(numberOfCharacters) {
17
- this.numberOfCharacters = numberOfCharacters;
18
- }
19
- getJSON() {
20
- const json = new famix_JSON_exporter_1.FamixJSONExporter("ScriptEntity", this);
21
- this.addPropertiesToExporter(json);
22
- return json.getJSON();
23
- }
24
- addPropertiesToExporter(exporter) {
25
- super.addPropertiesToExporter(exporter);
26
- exporter.addProperty("numberOfLinesOfText", this.getNumberOfLinesOfText());
27
- exporter.addProperty("numberOfCharacters", this.getNumberOfCharacters());
28
- }
29
- }
30
- exports.ScriptEntity = ScriptEntity;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SourceAnchor = void 0;
4
- const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
- const entity_1 = require("./entity");
6
- class SourceAnchor extends entity_1.Entity {
7
- getElement() {
8
- return this.element;
9
- }
10
- setElement(element) {
11
- if (this.element === undefined) {
12
- this.element = element;
13
- element.setSourceAnchor(this);
14
- }
15
- }
16
- getJSON() {
17
- const json = new famix_JSON_exporter_1.FamixJSONExporter("SourceAnchor", this);
18
- this.addPropertiesToExporter(json);
19
- return json.getJSON();
20
- }
21
- addPropertiesToExporter(exporter) {
22
- super.addPropertiesToExporter(exporter);
23
- exporter.addProperty("element", this.getElement());
24
- }
25
- }
26
- exports.SourceAnchor = SourceAnchor;