ts2famix 2.1.0-beta.2 → 3.0.0

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 (192) hide show
  1. package/.eslintrc.json +24 -24
  2. package/LICENSE +24 -24
  3. package/README.md +78 -78
  4. package/dist/analyze.js +3 -3
  5. package/dist/analyze_functions/process_functions.js +92 -62
  6. package/dist/famix_functions/EntityDictionary.js +672 -597
  7. package/dist/famix_functions/helpers_creation.js +18 -12
  8. package/dist/fqn.js +351 -18
  9. package/dist/lib/famix/famix_JSON_exporter.js +1 -1
  10. package/dist/lib/famix/famix_base_element.js +1 -1
  11. package/dist/lib/famix/famix_repository.js +14 -5
  12. package/dist/lib/famix/index.js +1 -1
  13. package/dist/lib/famix/model/famix/access.js +1 -1
  14. package/dist/lib/famix/model/famix/accessor.js +1 -1
  15. package/dist/lib/famix/model/famix/alias.js +1 -1
  16. package/dist/lib/famix/model/famix/arrow_function.js +1 -1
  17. package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
  18. package/dist/lib/famix/model/famix/class.js +1 -1
  19. package/dist/lib/famix/model/famix/comment.js +1 -1
  20. package/dist/lib/famix/model/famix/concretisation.js +1 -1
  21. package/dist/lib/famix/model/famix/container_entity.js +1 -1
  22. package/dist/lib/famix/model/famix/decorator.js +1 -1
  23. package/dist/lib/famix/model/famix/entity.js +1 -1
  24. package/dist/lib/famix/model/famix/enum.js +1 -1
  25. package/dist/lib/famix/model/famix/enum_value.js +1 -1
  26. package/dist/lib/famix/model/famix/function.js +1 -1
  27. package/dist/lib/famix/model/famix/import_clause.js +1 -1
  28. package/dist/lib/famix/model/famix/index.js +1 -1
  29. package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
  30. package/dist/lib/famix/model/famix/inheritance.js +1 -1
  31. package/dist/lib/famix/model/famix/interface.js +1 -1
  32. package/dist/lib/famix/model/famix/invocation.js +1 -1
  33. package/dist/lib/famix/model/famix/method.js +1 -1
  34. package/dist/lib/famix/model/famix/module.js +2 -2
  35. package/dist/lib/famix/model/famix/named_entity.js +1 -1
  36. package/dist/lib/famix/model/famix/parameter.js +1 -1
  37. package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
  38. package/dist/lib/famix/model/famix/parameter_type.js +1 -1
  39. package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
  40. package/dist/lib/famix/model/famix/parametric_class.js +1 -1
  41. package/dist/lib/famix/model/famix/parametric_function.js +1 -1
  42. package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
  43. package/dist/lib/famix/model/famix/parametric_method.js +1 -1
  44. package/dist/lib/famix/model/famix/primitive_type.js +1 -1
  45. package/dist/lib/famix/model/famix/property.js +1 -1
  46. package/dist/lib/famix/model/famix/reference.js +1 -1
  47. package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
  48. package/dist/lib/famix/model/famix/script_entity.js +1 -1
  49. package/dist/lib/famix/model/famix/source_anchor.js +1 -1
  50. package/dist/lib/famix/model/famix/source_language.js +1 -1
  51. package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
  52. package/dist/lib/famix/model/famix/structural_entity.js +1 -1
  53. package/dist/lib/famix/model/famix/type.js +1 -1
  54. package/dist/lib/famix/model/famix/variable.js +1 -1
  55. package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
  56. package/dist/refactorer/refactor-getter-setter.js +1 -1
  57. package/dist/ts2famix-cli-wrapper.js +1 -1
  58. package/dist/ts2famix-cli.js +1 -1
  59. package/doc-uml/famix-typescript-model.puml +619 -607
  60. package/doc-uml/famix-typescript-model.svg +1 -1
  61. package/eslint.config.mjs +28 -28
  62. package/jest.config.json +1 -1
  63. package/package.json +70 -70
  64. package/src/analyze.ts +120 -120
  65. package/src/analyze_functions/process_functions.ts +1069 -1040
  66. package/src/famix_functions/EntityDictionary.ts +2061 -2016
  67. package/src/famix_functions/helpers_creation.ts +143 -135
  68. package/src/fqn.ts +416 -50
  69. package/src/generate_uml.sh +20 -20
  70. package/src/lib/famix/License.md +22 -22
  71. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  72. package/src/lib/famix/famix_base_element.ts +22 -22
  73. package/src/lib/famix/famix_repository.ts +288 -278
  74. package/src/lib/famix/index.ts +8 -8
  75. package/src/lib/famix/model/famix/access.ts +50 -50
  76. package/src/lib/famix/model/famix/accessor.ts +15 -15
  77. package/src/lib/famix/model/famix/alias.ts +39 -39
  78. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  79. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  80. package/src/lib/famix/model/famix/class.ts +85 -85
  81. package/src/lib/famix/model/famix/comment.ts +47 -47
  82. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  83. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  84. package/src/lib/famix/model/famix/decorator.ts +37 -37
  85. package/src/lib/famix/model/famix/entity.ts +15 -15
  86. package/src/lib/famix/model/famix/enum.ts +30 -30
  87. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  88. package/src/lib/famix/model/famix/function.ts +15 -15
  89. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  90. package/src/lib/famix/model/famix/index.ts +41 -41
  91. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  92. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  93. package/src/lib/famix/model/famix/interface.ts +75 -75
  94. package/src/lib/famix/model/famix/invocation.ts +65 -65
  95. package/src/lib/famix/model/famix/method.ts +89 -89
  96. package/src/lib/famix/model/famix/module.ts +71 -71
  97. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  98. package/src/lib/famix/model/famix/parameter.ts +28 -28
  99. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  100. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  101. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  102. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  103. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  104. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  105. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  106. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  107. package/src/lib/famix/model/famix/property.ts +94 -94
  108. package/src/lib/famix/model/famix/reference.ts +40 -40
  109. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  110. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  111. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  112. package/src/lib/famix/model/famix/source_language.ts +35 -35
  113. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  114. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  115. package/src/lib/famix/model/famix/type.ts +87 -87
  116. package/src/lib/famix/model/famix/variable.ts +27 -27
  117. package/src/lib/famix/package.json +28 -28
  118. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  119. package/src/refactorer/refactor-getter-setter.ts +140 -140
  120. package/src/ts2famix-cli-wrapper.ts +21 -21
  121. package/src/ts2famix-cli.ts +60 -60
  122. package/tsconfig.check-tests.json +14 -14
  123. package/tsconfig.json +73 -72
  124. package/.vscode/settings.json +0 -4
  125. package/TODO +0 -1
  126. package/arwea-fix.json +0 -1
  127. package/bogus.ts +0 -3
  128. package/class-diagram.puml +0 -792
  129. package/debug.txt +0 -13332
  130. package/debuglog.txt +0 -12073
  131. package/dist/famix2puml.js +0 -126
  132. package/dist/getClasses-arrow-body.js +0 -43
  133. package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
  134. package/dist/lib/famix/src/famix_base_element.js +0 -18
  135. package/dist/lib/famix/src/famix_repository.js +0 -224
  136. package/dist/lib/famix/src/index.js +0 -31
  137. package/dist/lib/famix/src/model/famix/access.js +0 -40
  138. package/dist/lib/famix/src/model/famix/accessor.js +0 -17
  139. package/dist/lib/famix/src/model/famix/alias.js +0 -33
  140. package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
  141. package/dist/lib/famix/src/model/famix/arrow_function.js +0 -17
  142. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
  143. package/dist/lib/famix/src/model/famix/class.js +0 -71
  144. package/dist/lib/famix/src/model/famix/comment.js +0 -39
  145. package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
  146. package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
  147. package/dist/lib/famix/src/model/famix/decorator.js +0 -32
  148. package/dist/lib/famix/src/model/famix/entity.js +0 -17
  149. package/dist/lib/famix/src/model/famix/enum.js +0 -31
  150. package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
  151. package/dist/lib/famix/src/model/famix/function.js +0 -17
  152. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
  153. package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
  154. package/dist/lib/famix/src/model/famix/index.js +0 -86
  155. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -38
  156. package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
  157. package/dist/lib/famix/src/model/famix/interface.js +0 -64
  158. package/dist/lib/famix/src/model/famix/invocation.js +0 -54
  159. package/dist/lib/famix/src/model/famix/method.js +0 -67
  160. package/dist/lib/famix/src/model/famix/module.js +0 -60
  161. package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
  162. package/dist/lib/famix/src/model/famix/parameter.js +0 -25
  163. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
  164. package/dist/lib/famix/src/model/famix/parameter_concretisation.js +0 -44
  165. package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
  166. package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +0 -29
  167. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
  168. package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
  169. package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
  170. package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
  171. package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
  172. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
  173. package/dist/lib/famix/src/model/famix/property.js +0 -73
  174. package/dist/lib/famix/src/model/famix/reference.js +0 -33
  175. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -36
  176. package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
  177. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
  178. package/dist/lib/famix/src/model/famix/source_language.js +0 -35
  179. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
  180. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
  181. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
  182. package/dist/lib/famix/src/model/famix/type.js +0 -73
  183. package/dist/lib/famix/src/model/famix/variable.js +0 -24
  184. package/fqn-model.json +0 -1
  185. package/iterateGenericTypes.ts +0 -69
  186. package/out/class-diagram/class-diagram.svg +0 -1
  187. package/sample.json +0 -1
  188. package/sample.ts +0 -1
  189. package/stats.txt +0 -3091
  190. package/tabby-debug-output.txt +0 -19433
  191. package/ts2famix.log +0 -22656
  192. package/validate-references.js +0 -103
@@ -1,28 +1,28 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { StructuralEntity } from "./structural_entity";
3
- import { BehavioralEntity } from "./behavioral_entity";
4
-
5
- export class Parameter extends StructuralEntity {
6
-
7
- private _parentEntity!: BehavioralEntity;
8
-
9
- public getJSON(): string {
10
- const json: FamixJSONExporter = new FamixJSONExporter("Parameter", this);
11
- this.addPropertiesToExporter(json);
12
- return json.getJSON();
13
- }
14
-
15
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
16
- super.addPropertiesToExporter(exporter);
17
- exporter.addProperty("parentBehaviouralEntity", this.parentEntity);
18
- }
19
-
20
- get parentEntity() {
21
- return this._parentEntity;
22
- }
23
-
24
- set parentEntity(parentEntity: BehavioralEntity) {
25
- this._parentEntity = parentEntity;
26
- parentEntity.addParameter(this);
27
- }
28
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { StructuralEntity } from "./structural_entity";
3
+ import { BehavioralEntity } from "./behavioral_entity";
4
+
5
+ export class Parameter extends StructuralEntity {
6
+
7
+ private _parentEntity!: BehavioralEntity;
8
+
9
+ public getJSON(): string {
10
+ const json: FamixJSONExporter = new FamixJSONExporter("Parameter", this);
11
+ this.addPropertiesToExporter(json);
12
+ return json.getJSON();
13
+ }
14
+
15
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
16
+ super.addPropertiesToExporter(exporter);
17
+ exporter.addProperty("parentBehaviouralEntity", this.parentEntity);
18
+ }
19
+
20
+ get parentEntity() {
21
+ return this._parentEntity;
22
+ }
23
+
24
+ set parentEntity(parentEntity: BehavioralEntity) {
25
+ this._parentEntity = parentEntity;
26
+ parentEntity.addParameter(this);
27
+ }
28
+ }
@@ -1,51 +1,51 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Concretisation } from "./concretisation";
3
- import { Entity } from "./entity";
4
- import { ParameterType } from "./parameter_type";
5
- import { PrimitiveType } from "./primitive_type";
6
-
7
- export class ParameterConcretisation extends Entity {
8
-
9
- private _genericParameter!: ParameterType;
10
- private _concreteParameter!: PrimitiveType;
11
- private _concretisations: Set<Concretisation> = new Set();
12
-
13
- public addConcretisation(concretisation: Concretisation): void {
14
- if (!this._concretisations.has(concretisation)) {
15
- this._concretisations.add(concretisation);
16
- }
17
- }
18
-
19
- public getJSON(): string {
20
- const json: FamixJSONExporter = new FamixJSONExporter("ParameterConcretisation", this);
21
- this.addPropertiesToExporter(json);
22
- return json.getJSON();
23
- }
24
-
25
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
26
- super.addPropertiesToExporter(exporter);
27
- exporter.addProperty("genericEntity", this.genericParameter);
28
- exporter.addProperty("concreteEntity", this.concreteParameter);
29
- exporter.addProperty("concretisations", this.concretisations);
30
- }
31
-
32
- get genericParameter() {
33
- return this._genericParameter;
34
- }
35
-
36
- set genericParameter(genericEntity: ParameterType) {
37
- this._genericParameter = genericEntity;
38
- }
39
-
40
- get concreteParameter() {
41
- return this._concreteParameter;
42
- }
43
-
44
- set concreteParameter(concreteParameter: PrimitiveType) {
45
- this._concreteParameter = concreteParameter;
46
- }
47
-
48
- get concretisations() {
49
- return this._concretisations;
50
- }
51
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Concretisation } from "./concretisation";
3
+ import { Entity } from "./entity";
4
+ import { ParameterType } from "./parameter_type";
5
+ import { PrimitiveType } from "./primitive_type";
6
+
7
+ export class ParameterConcretisation extends Entity {
8
+
9
+ private _genericParameter!: ParameterType;
10
+ private _concreteParameter!: PrimitiveType;
11
+ private _concretisations: Set<Concretisation> = new Set();
12
+
13
+ public addConcretisation(concretisation: Concretisation): void {
14
+ if (!this._concretisations.has(concretisation)) {
15
+ this._concretisations.add(concretisation);
16
+ }
17
+ }
18
+
19
+ public getJSON(): string {
20
+ const json: FamixJSONExporter = new FamixJSONExporter("ParameterConcretisation", this);
21
+ this.addPropertiesToExporter(json);
22
+ return json.getJSON();
23
+ }
24
+
25
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
26
+ super.addPropertiesToExporter(exporter);
27
+ exporter.addProperty("genericEntity", this.genericParameter);
28
+ exporter.addProperty("concreteEntity", this.concreteParameter);
29
+ exporter.addProperty("concretisations", this.concretisations);
30
+ }
31
+
32
+ get genericParameter() {
33
+ return this._genericParameter;
34
+ }
35
+
36
+ set genericParameter(genericEntity: ParameterType) {
37
+ this._genericParameter = genericEntity;
38
+ }
39
+
40
+ get concreteParameter() {
41
+ return this._concreteParameter;
42
+ }
43
+
44
+ set concreteParameter(concreteParameter: PrimitiveType) {
45
+ this._concreteParameter = concreteParameter;
46
+ }
47
+
48
+ get concretisations() {
49
+ return this._concretisations;
50
+ }
51
+ }
@@ -1,58 +1,58 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { ParametricClass } from "./parametric_class";
4
- import { ParametricInterface } from "./parametric_interface";
5
- import { Method } from "./method";
6
- import { Function as FamixFunction } from "./function";
7
- import { Accessor } from "./accessor";
8
- import { ParametricMethod } from "./parametric_method";
9
- import { ParametricFunction } from "./parametric_function";
10
- import { ArrowFunction } from "./arrow_function";
11
- import { ParametricArrowFunction } from "./parametric_arrow_function";
12
-
13
- export class ParameterType extends Type {
14
-
15
- private _parentGeneric!: ParametricClass | ParametricInterface | Method | ParametricMethod | Accessor | FamixFunction | ParametricFunction | ArrowFunction | ParametricArrowFunction;
16
- private _baseType!: Type;
17
- private _arguments: Set<Type> = new Set();
18
-
19
- public addArgument(argument: Type): void {
20
- if (!this._arguments.has(argument)) {
21
- this._arguments.add(argument);
22
- }
23
- }
24
-
25
- public getJSON(): string {
26
- const json: FamixJSONExporter = new FamixJSONExporter("ParameterType", this);
27
- this.addPropertiesToExporter(json);
28
- return json.getJSON();
29
- }
30
-
31
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
32
- super.addPropertiesToExporter(exporter);
33
- exporter.addProperty("parentGeneric", this.parentGeneric);
34
- exporter.addProperty("baseType", this.baseType);
35
- exporter.addProperty("arguments", this.arguments);
36
- }
37
-
38
- get parentGeneric() {
39
- return this._parentGeneric;
40
- }
41
-
42
- set parentGeneric(parentGeneric: ParametricClass | ParametricInterface | Method | ParametricMethod | Accessor | FamixFunction | ParametricFunction | ArrowFunction | ParametricArrowFunction) {
43
- this._parentGeneric = parentGeneric;
44
- parentGeneric.addGenericParameter(this);
45
- }
46
-
47
- get baseType() {
48
- return this._baseType;
49
- }
50
-
51
- set baseType(baseType: Type) {
52
- this._baseType = baseType;
53
- }
54
-
55
- get arguments() {
56
- return this._arguments;
57
- }
58
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Type } from "./type";
3
+ import { ParametricClass } from "./parametric_class";
4
+ import { ParametricInterface } from "./parametric_interface";
5
+ import { Method } from "./method";
6
+ import { Function as FamixFunction } from "./function";
7
+ import { Accessor } from "./accessor";
8
+ import { ParametricMethod } from "./parametric_method";
9
+ import { ParametricFunction } from "./parametric_function";
10
+ import { ArrowFunction } from "./arrow_function";
11
+ import { ParametricArrowFunction } from "./parametric_arrow_function";
12
+
13
+ export class ParameterType extends Type {
14
+
15
+ private _parentGeneric!: ParametricClass | ParametricInterface | Method | ParametricMethod | Accessor | FamixFunction | ParametricFunction | ArrowFunction | ParametricArrowFunction;
16
+ private _baseType!: Type;
17
+ private _arguments: Set<Type> = new Set();
18
+
19
+ public addArgument(argument: Type): void {
20
+ if (!this._arguments.has(argument)) {
21
+ this._arguments.add(argument);
22
+ }
23
+ }
24
+
25
+ public getJSON(): string {
26
+ const json: FamixJSONExporter = new FamixJSONExporter("ParameterType", this);
27
+ this.addPropertiesToExporter(json);
28
+ return json.getJSON();
29
+ }
30
+
31
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
32
+ super.addPropertiesToExporter(exporter);
33
+ exporter.addProperty("parentGeneric", this.parentGeneric);
34
+ exporter.addProperty("baseType", this.baseType);
35
+ exporter.addProperty("arguments", this.arguments);
36
+ }
37
+
38
+ get parentGeneric() {
39
+ return this._parentGeneric;
40
+ }
41
+
42
+ set parentGeneric(parentGeneric: ParametricClass | ParametricInterface | Method | ParametricMethod | Accessor | FamixFunction | ParametricFunction | ArrowFunction | ParametricArrowFunction) {
43
+ this._parentGeneric = parentGeneric;
44
+ parentGeneric.addGenericParameter(this);
45
+ }
46
+
47
+ get baseType() {
48
+ return this._baseType;
49
+ }
50
+
51
+ set baseType(baseType: Type) {
52
+ this._baseType = baseType;
53
+ }
54
+
55
+ get arguments() {
56
+ return this._arguments;
57
+ }
58
+ }
@@ -1,32 +1,32 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ArrowFunction } from "./arrow_function";
3
- import { Class } from "./class";
4
- import { Interface } from "./interface";
5
- import { PrimitiveType } from "./primitive_type";
6
-
7
- export class ParametricArrowFunction extends ArrowFunction {
8
-
9
- private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
10
-
11
- public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
12
- if (!this._concreteParameters.has(concreteParameter)) {
13
- this._concreteParameters.add(concreteParameter);
14
- }
15
- }
16
-
17
- public getJSON(): string {
18
- const json: FamixJSONExporter = new FamixJSONExporter("ParametricArrowFunction", this);
19
- this.addPropertiesToExporter(json);
20
- return json.getJSON();
21
- }
22
-
23
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
24
- super.addPropertiesToExporter(exporter);
25
- exporter.addProperty("genericParameters", this.genericParameters);
26
- exporter.addProperty("concreteParameters", this.concreteParameters);
27
- }
28
-
29
- get concreteParameters() {
30
- return this._concreteParameters;
31
- }
32
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { ArrowFunction } from "./arrow_function";
3
+ import { Class } from "./class";
4
+ import { Interface } from "./interface";
5
+ import { PrimitiveType } from "./primitive_type";
6
+
7
+ export class ParametricArrowFunction extends ArrowFunction {
8
+
9
+ private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
10
+
11
+ public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
12
+ if (!this._concreteParameters.has(concreteParameter)) {
13
+ this._concreteParameters.add(concreteParameter);
14
+ }
15
+ }
16
+
17
+ public getJSON(): string {
18
+ const json: FamixJSONExporter = new FamixJSONExporter("ParametricArrowFunction", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+
23
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
24
+ super.addPropertiesToExporter(exporter);
25
+ exporter.addProperty("genericParameters", this.genericParameters);
26
+ exporter.addProperty("concreteParameters", this.concreteParameters);
27
+ }
28
+
29
+ get concreteParameters() {
30
+ return this._concreteParameters;
31
+ }
32
+ }
@@ -1,49 +1,49 @@
1
- import { Interface } from "./interface";
2
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
3
- import { Class } from "./class";
4
- import { ParameterType } from "./parameter_type";
5
- import { PrimitiveType } from "./primitive_type";
6
-
7
- export class ParametricClass extends Class {
8
-
9
- private _genericParameters: Set<ParameterType> = new Set();
10
-
11
- public addGenericParameter(genericParameter: ParameterType): void {
12
- if (!this._genericParameters.has(genericParameter)) {
13
- this._genericParameters.add(genericParameter);
14
- genericParameter.parentGeneric = this;
15
- }
16
- }
17
-
18
- clearGenericParameters(): void {
19
- this._genericParameters.clear();
20
- }
21
-
22
- private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
23
-
24
- public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
25
- if (!this._concreteParameters.has(concreteParameter)) {
26
- this._concreteParameters.add(concreteParameter);
27
- }
28
- }
29
-
30
- public getJSON(): string {
31
- const json: FamixJSONExporter = new FamixJSONExporter("ParametricClass", this);
32
- this.addPropertiesToExporter(json);
33
- return json.getJSON();
34
- }
35
-
36
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
- super.addPropertiesToExporter(exporter);
38
- exporter.addProperty("genericParameters", this.genericParameters);
39
- exporter.addProperty("concreteParameters", this.concreteParameters);
40
- }
41
-
42
- get genericParameters(): Set<ParameterType> {
43
- return this._genericParameters;
44
- }
45
-
46
- get concreteParameters(): Set<PrimitiveType | Class | Interface> {
47
- return this._concreteParameters;
48
- }
49
- }
1
+ import { Interface } from "./interface";
2
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
3
+ import { Class } from "./class";
4
+ import { ParameterType } from "./parameter_type";
5
+ import { PrimitiveType } from "./primitive_type";
6
+
7
+ export class ParametricClass extends Class {
8
+
9
+ private _genericParameters: Set<ParameterType> = new Set();
10
+
11
+ public addGenericParameter(genericParameter: ParameterType): void {
12
+ if (!this._genericParameters.has(genericParameter)) {
13
+ this._genericParameters.add(genericParameter);
14
+ genericParameter.parentGeneric = this;
15
+ }
16
+ }
17
+
18
+ clearGenericParameters(): void {
19
+ this._genericParameters.clear();
20
+ }
21
+
22
+ private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
23
+
24
+ public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
25
+ if (!this._concreteParameters.has(concreteParameter)) {
26
+ this._concreteParameters.add(concreteParameter);
27
+ }
28
+ }
29
+
30
+ public getJSON(): string {
31
+ const json: FamixJSONExporter = new FamixJSONExporter("ParametricClass", this);
32
+ this.addPropertiesToExporter(json);
33
+ return json.getJSON();
34
+ }
35
+
36
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
+ super.addPropertiesToExporter(exporter);
38
+ exporter.addProperty("genericParameters", this.genericParameters);
39
+ exporter.addProperty("concreteParameters", this.concreteParameters);
40
+ }
41
+
42
+ get genericParameters(): Set<ParameterType> {
43
+ return this._genericParameters;
44
+ }
45
+
46
+ get concreteParameters(): Set<PrimitiveType | Class | Interface> {
47
+ return this._concreteParameters;
48
+ }
49
+ }
@@ -1,32 +1,32 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Class } from "./class";
3
- import { Function } from "./function";
4
- import { Interface } from "./interface";
5
- import { PrimitiveType } from "./primitive_type";
6
-
7
- export class ParametricFunction extends Function {
8
-
9
- private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
10
-
11
- public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
12
- if (!this._concreteParameters.has(concreteParameter)) {
13
- this._concreteParameters.add(concreteParameter);
14
- }
15
- }
16
-
17
- public getJSON(): string {
18
- const json: FamixJSONExporter = new FamixJSONExporter("ParametricFunction", this);
19
- this.addPropertiesToExporter(json);
20
- return json.getJSON();
21
- }
22
-
23
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
24
- super.addPropertiesToExporter(exporter);
25
- exporter.addProperty("genericParameters", this.genericParameters);
26
- exporter.addProperty("concreteParameters", this.concreteParameters);
27
- }
28
-
29
- get concreteParameters(): Set<PrimitiveType | Class | Interface> {
30
- return this._concreteParameters;
31
- }
32
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Class } from "./class";
3
+ import { Function } from "./function";
4
+ import { Interface } from "./interface";
5
+ import { PrimitiveType } from "./primitive_type";
6
+
7
+ export class ParametricFunction extends Function {
8
+
9
+ private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
10
+
11
+ public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
12
+ if (!this._concreteParameters.has(concreteParameter)) {
13
+ this._concreteParameters.add(concreteParameter);
14
+ }
15
+ }
16
+
17
+ public getJSON(): string {
18
+ const json: FamixJSONExporter = new FamixJSONExporter("ParametricFunction", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+
23
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
24
+ super.addPropertiesToExporter(exporter);
25
+ exporter.addProperty("genericParameters", this.genericParameters);
26
+ exporter.addProperty("concreteParameters", this.concreteParameters);
27
+ }
28
+
29
+ get concreteParameters(): Set<PrimitiveType | Class | Interface> {
30
+ return this._concreteParameters;
31
+ }
32
+ }
@@ -1,49 +1,49 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Class } from "./class";
3
- import { Interface } from "./interface";
4
- import { ParameterType } from "./parameter_type";
5
- import { PrimitiveType } from "./primitive_type";
6
-
7
- export class ParametricInterface extends Interface {
8
-
9
- private _genericParameters: Set<ParameterType> = new Set();
10
-
11
- public addGenericParameter(genericParameter: ParameterType): void {
12
- if (!this._genericParameters.has(genericParameter)) {
13
- this._genericParameters.add(genericParameter);
14
- genericParameter.parentGeneric = this;
15
- }
16
- }
17
-
18
- clearGenericParameters(): void {
19
- this._genericParameters.clear();
20
- }
21
-
22
- private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
23
-
24
- public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
25
- if (!this._concreteParameters.has(concreteParameter)) {
26
- this._concreteParameters.add(concreteParameter);
27
- }
28
- }
29
-
30
- public getJSON(): string {
31
- const json: FamixJSONExporter = new FamixJSONExporter("ParametricInterface", this);
32
- this.addPropertiesToExporter(json);
33
- return json.getJSON();
34
- }
35
-
36
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
- super.addPropertiesToExporter(exporter);
38
- exporter.addProperty("genericParameters", this.genericParameters);
39
- exporter.addProperty("concreteParameters", this.concreteParameters);
40
- }
41
-
42
- get genericParameters(): Set<ParameterType> {
43
- return this._genericParameters;
44
- }
45
-
46
- get concreteParameters(): Set<PrimitiveType | Class | Interface> {
47
- return this._concreteParameters;
48
- }
49
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Class } from "./class";
3
+ import { Interface } from "./interface";
4
+ import { ParameterType } from "./parameter_type";
5
+ import { PrimitiveType } from "./primitive_type";
6
+
7
+ export class ParametricInterface extends Interface {
8
+
9
+ private _genericParameters: Set<ParameterType> = new Set();
10
+
11
+ public addGenericParameter(genericParameter: ParameterType): void {
12
+ if (!this._genericParameters.has(genericParameter)) {
13
+ this._genericParameters.add(genericParameter);
14
+ genericParameter.parentGeneric = this;
15
+ }
16
+ }
17
+
18
+ clearGenericParameters(): void {
19
+ this._genericParameters.clear();
20
+ }
21
+
22
+ private _concreteParameters: Set<PrimitiveType | Class | Interface> = new Set();
23
+
24
+ public addConcreteParameter(concreteParameter: PrimitiveType | Class | Interface): void {
25
+ if (!this._concreteParameters.has(concreteParameter)) {
26
+ this._concreteParameters.add(concreteParameter);
27
+ }
28
+ }
29
+
30
+ public getJSON(): string {
31
+ const json: FamixJSONExporter = new FamixJSONExporter("ParametricInterface", this);
32
+ this.addPropertiesToExporter(json);
33
+ return json.getJSON();
34
+ }
35
+
36
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
+ super.addPropertiesToExporter(exporter);
38
+ exporter.addProperty("genericParameters", this.genericParameters);
39
+ exporter.addProperty("concreteParameters", this.concreteParameters);
40
+ }
41
+
42
+ get genericParameters(): Set<ParameterType> {
43
+ return this._genericParameters;
44
+ }
45
+
46
+ get concreteParameters(): Set<PrimitiveType | Class | Interface> {
47
+ return this._concreteParameters;
48
+ }
49
+ }