ts2famix 1.0.10 → 1.0.12

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 (138) hide show
  1. package/.eslintrc.json +24 -24
  2. package/LICENSE +23 -23
  3. package/README.md +109 -109
  4. package/jest.config-old.ts +199 -199
  5. package/package.json +47 -47
  6. package/src/analyze.ts +94 -94
  7. package/src/analyze_functions/processAccesses.ts +57 -50
  8. package/src/analyze_functions/processFiles.ts +669 -660
  9. package/src/analyze_functions/processImportClauses.ts +77 -77
  10. package/src/analyze_functions/processInheritances.ts +84 -84
  11. package/src/analyze_functions/processInvocations.ts +51 -51
  12. package/src/famix2puml.ts +119 -119
  13. package/src/famix_functions/famix_functions.ts +559 -555
  14. package/src/famix_functions/famix_functions_associations.ts +215 -215
  15. package/src/famix_functions/famix_functions_index.ts +44 -44
  16. package/src/famix_functions/famix_functions_types.ts +105 -100
  17. package/src/generate_uml.sh +16 -16
  18. package/src/lib/famix/License.md +22 -22
  19. package/src/lib/famix/package-lock.json +301 -301
  20. package/src/lib/famix/package.json +27 -27
  21. package/src/lib/famix/readme.md +4 -4
  22. package/src/lib/famix/src/famix_JSON_exporter.ts +56 -56
  23. package/src/lib/famix/src/famix_base_element.ts +18 -18
  24. package/src/lib/famix/src/famix_repository.ts +199 -199
  25. package/src/lib/famix/src/index.ts +8 -8
  26. package/src/lib/famix/src/model/famix/access.ts +53 -53
  27. package/src/lib/famix/src/model/famix/accessor.ts +15 -15
  28. package/src/lib/famix/src/model/famix/alias.ts +41 -41
  29. package/src/lib/famix/src/model/famix/association.ts +44 -44
  30. package/src/lib/famix/src/model/famix/behavioral_entity.ts +107 -107
  31. package/src/lib/famix/src/model/famix/c_source_language.ts +15 -15
  32. package/src/lib/famix/src/model/famix/class.ts +86 -86
  33. package/src/lib/famix/src/model/famix/comment.ts +50 -50
  34. package/src/lib/famix/src/model/famix/container_entity.ts +165 -165
  35. package/src/lib/famix/src/model/famix/custom_source_language.ts +27 -27
  36. package/src/lib/famix/src/model/famix/decorator.ts +39 -39
  37. package/src/lib/famix/src/model/famix/entity.ts +15 -15
  38. package/src/lib/famix/src/model/famix/enum.ts +31 -31
  39. package/src/lib/famix/src/model/famix/enum_value.ts +29 -29
  40. package/src/lib/famix/src/model/famix/function.ts +15 -15
  41. package/src/lib/famix/src/model/famix/implicit_variable.ts +15 -15
  42. package/src/lib/famix/src/model/famix/import_clause.ts +53 -53
  43. package/src/lib/famix/src/model/famix/index.ts +42 -42
  44. package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +49 -49
  45. package/src/lib/famix/src/model/famix/inheritance.ts +42 -42
  46. package/src/lib/famix/src/model/famix/interface.ts +75 -75
  47. package/src/lib/famix/src/model/famix/invocation.ts +68 -68
  48. package/src/lib/famix/src/model/famix/method.ts +96 -96
  49. package/src/lib/famix/src/model/famix/module.ts +31 -31
  50. package/src/lib/famix/src/model/famix/named_entity.ts +98 -98
  51. package/src/lib/famix/src/model/famix/namespace.ts +28 -28
  52. package/src/lib/famix/src/model/famix/parameter.ts +29 -29
  53. package/src/lib/famix/src/model/famix/parameterizable_class.ts +31 -31
  54. package/src/lib/famix/src/model/famix/parameterizable_interface.ts +31 -31
  55. package/src/lib/famix/src/model/famix/parameterized_type.ts +40 -40
  56. package/src/lib/famix/src/model/famix/primitive_type.ts +15 -15
  57. package/src/lib/famix/src/model/famix/property.ts +54 -54
  58. package/src/lib/famix/src/model/famix/reference.ts +42 -42
  59. package/src/lib/famix/src/model/famix/scoping_entity.ts +31 -31
  60. package/src/lib/famix/src/model/famix/script_entity.ts +38 -38
  61. package/src/lib/famix/src/model/famix/source_anchor.ts +31 -31
  62. package/src/lib/famix/src/model/famix/source_language.ts +31 -31
  63. package/src/lib/famix/src/model/famix/sourced_entity.ts +70 -70
  64. package/src/lib/famix/src/model/famix/structural_entity.ts +44 -44
  65. package/src/lib/famix/src/model/famix/text_anchor.ts +49 -49
  66. package/src/lib/famix/src/model/famix/type.ts +88 -88
  67. package/src/lib/famix/src/model/famix/type_parameter.ts +33 -33
  68. package/src/lib/famix/src/model/famix/variable.ts +28 -28
  69. package/src/lib/famix/tsconfig.json +26 -26
  70. package/src/lib/famix/tslint.json +14 -14
  71. package/src/lib/ts-complex/cyclomatic-service.ts +85 -85
  72. package/src/ts2famix-cli.ts +39 -39
  73. package/tsconfig.json +69 -69
  74. package/dist/analyze.js +0 -102
  75. package/dist/analyze_functions/processAccesses.js +0 -47
  76. package/dist/analyze_functions/processFiles.js +0 -540
  77. package/dist/analyze_functions/processImportClauses.js +0 -70
  78. package/dist/analyze_functions/processInheritances.js +0 -73
  79. package/dist/analyze_functions/processInvocations.js +0 -49
  80. package/dist/famix2puml.js +0 -125
  81. package/dist/famix_functions/famix_functions.js +0 -513
  82. package/dist/famix_functions/famix_functions_associations.js +0 -205
  83. package/dist/famix_functions/famix_functions_index.js +0 -62
  84. package/dist/famix_functions/famix_functions_types.js +0 -110
  85. package/dist/fqn.js +0 -126
  86. package/dist/fqp_implementation.js +0 -73
  87. package/dist/lib/famix/src/famix_JSON_exporter.js +0 -54
  88. package/dist/lib/famix/src/famix_base_element.js +0 -13
  89. package/dist/lib/famix/src/famix_repository.js +0 -187
  90. package/dist/lib/famix/src/index.js +0 -30
  91. package/dist/lib/famix/src/model/famix/access.js +0 -39
  92. package/dist/lib/famix/src/model/famix/accessor.js +0 -16
  93. package/dist/lib/famix/src/model/famix/alias.js +0 -32
  94. package/dist/lib/famix/src/model/famix/association.js +0 -36
  95. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -81
  96. package/dist/lib/famix/src/model/famix/c_source_language.js +0 -16
  97. package/dist/lib/famix/src/model/famix/class.js +0 -70
  98. package/dist/lib/famix/src/model/famix/comment.js +0 -38
  99. package/dist/lib/famix/src/model/famix/container_entity.js +0 -125
  100. package/dist/lib/famix/src/model/famix/custom_source_language.js +0 -23
  101. package/dist/lib/famix/src/model/famix/decorator.js +0 -31
  102. package/dist/lib/famix/src/model/famix/entity.js +0 -16
  103. package/dist/lib/famix/src/model/famix/enum.js +0 -30
  104. package/dist/lib/famix/src/model/famix/enum_value.js +0 -24
  105. package/dist/lib/famix/src/model/famix/function.js +0 -16
  106. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -16
  107. package/dist/lib/famix/src/model/famix/import_clause.js +0 -39
  108. package/dist/lib/famix/src/model/famix/index.js +0 -87
  109. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -37
  110. package/dist/lib/famix/src/model/famix/inheritance.js +0 -32
  111. package/dist/lib/famix/src/model/famix/interface.js +0 -63
  112. package/dist/lib/famix/src/model/famix/invocation.js +0 -53
  113. package/dist/lib/famix/src/model/famix/method.js +0 -66
  114. package/dist/lib/famix/src/model/famix/module.js +0 -30
  115. package/dist/lib/famix/src/model/famix/named_entity.js +0 -77
  116. package/dist/lib/famix/src/model/famix/namespace.js +0 -24
  117. package/dist/lib/famix/src/model/famix/parameter.js +0 -24
  118. package/dist/lib/famix/src/model/famix/parameterizable_class.js +0 -30
  119. package/dist/lib/famix/src/model/famix/parameterizable_interface.js +0 -30
  120. package/dist/lib/famix/src/model/famix/parameterized_type.js +0 -36
  121. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -16
  122. package/dist/lib/famix/src/model/famix/property.js +0 -44
  123. package/dist/lib/famix/src/model/famix/reference.js +0 -32
  124. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -30
  125. package/dist/lib/famix/src/model/famix/script_entity.js +0 -30
  126. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -26
  127. package/dist/lib/famix/src/model/famix/source_language.js +0 -30
  128. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -55
  129. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -38
  130. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -37
  131. package/dist/lib/famix/src/model/famix/type.js +0 -71
  132. package/dist/lib/famix/src/model/famix/type_parameter.js +0 -24
  133. package/dist/lib/famix/src/model/famix/variable.js +0 -23
  134. package/dist/lib/ts-complex/cyclomatic-service.js +0 -83
  135. package/dist/ts2famix-cli.js +0 -63
  136. package/dist/ts2famix-tsconfig.js +0 -53
  137. package/metrics.ts +0 -23
  138. package/src/fqp_implementation.ts +0 -66
@@ -1,53 +1,53 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { StructuralEntity } from "./structural_entity";
3
- import { Association } from "./association";
4
- import { ContainerEntity } from "./container_entity";
5
-
6
- export class Access extends Association {
7
-
8
- private accessor: ContainerEntity;
9
-
10
- public getAccessor(): ContainerEntity {
11
- return this.accessor;
12
- }
13
-
14
- public setAccessor(accessor: ContainerEntity): void {
15
- this.accessor = accessor;
16
- accessor.addAccess(this);
17
- }
18
-
19
- private variable: StructuralEntity;
20
-
21
- public getVariable(): StructuralEntity {
22
- return this.variable;
23
- }
24
-
25
- public setVariable(variable: StructuralEntity): void {
26
- this.variable = variable;
27
- variable.addIncomingAccess(this);
28
- }
29
-
30
- private isWrite: boolean;
31
-
32
- public getIsWrite(): boolean {
33
- return this.isWrite;
34
- }
35
-
36
- public setIsWrite(isWrite: boolean): void {
37
- this.isWrite = isWrite;
38
- }
39
-
40
-
41
- public getJSON(): string {
42
- const mse: FamixJSONExporter = new FamixJSONExporter("Access", this);
43
- this.addPropertiesToExporter(mse);
44
- return mse.getJSON();
45
- }
46
-
47
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
48
- super.addPropertiesToExporter(exporter);
49
- exporter.addProperty("accessor", this.getAccessor());
50
- exporter.addProperty("variable", this.getVariable());
51
- exporter.addProperty("isWrite", this.getIsWrite());
52
- }
53
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { StructuralEntity } from "./structural_entity";
3
+ import { Association } from "./association";
4
+ import { ContainerEntity } from "./container_entity";
5
+
6
+ export class Access extends Association {
7
+
8
+ private accessor: ContainerEntity;
9
+
10
+ public getAccessor(): ContainerEntity {
11
+ return this.accessor;
12
+ }
13
+
14
+ public setAccessor(accessor: ContainerEntity): void {
15
+ this.accessor = accessor;
16
+ accessor.addAccess(this);
17
+ }
18
+
19
+ private variable: StructuralEntity;
20
+
21
+ public getVariable(): StructuralEntity {
22
+ return this.variable;
23
+ }
24
+
25
+ public setVariable(variable: StructuralEntity): void {
26
+ this.variable = variable;
27
+ variable.addIncomingAccess(this);
28
+ }
29
+
30
+ private isWrite: boolean;
31
+
32
+ public getIsWrite(): boolean {
33
+ return this.isWrite;
34
+ }
35
+
36
+ public setIsWrite(isWrite: boolean): void {
37
+ this.isWrite = isWrite;
38
+ }
39
+
40
+
41
+ public getJSON(): string {
42
+ const mse: FamixJSONExporter = new FamixJSONExporter("Access", this);
43
+ this.addPropertiesToExporter(mse);
44
+ return mse.getJSON();
45
+ }
46
+
47
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
48
+ super.addPropertiesToExporter(exporter);
49
+ exporter.addProperty("accessor", this.getAccessor());
50
+ exporter.addProperty("variable", this.getVariable());
51
+ exporter.addProperty("isWrite", this.getIsWrite());
52
+ }
53
+ }
@@ -1,15 +1,15 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Method } from "./method";
3
-
4
- export class Accessor extends Method {
5
-
6
- public getJSON(): string {
7
- const mse: FamixJSONExporter = new FamixJSONExporter("Accessor", this);
8
- this.addPropertiesToExporter(mse);
9
- return mse.getJSON();
10
- }
11
-
12
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
13
- super.addPropertiesToExporter(exporter);
14
- }
15
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Method } from "./method";
3
+
4
+ export class Accessor extends Method {
5
+
6
+ public getJSON(): string {
7
+ const mse: FamixJSONExporter = new FamixJSONExporter("Accessor", this);
8
+ this.addPropertiesToExporter(mse);
9
+ return mse.getJSON();
10
+ }
11
+
12
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
13
+ super.addPropertiesToExporter(exporter);
14
+ }
15
+ }
@@ -1,41 +1,41 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { NamedEntity } from "./named_entity";
3
- import { Type } from "./type";
4
-
5
- export class Alias extends NamedEntity {
6
-
7
- private parentEntity: NamedEntity;
8
-
9
- public getParentEntity(): NamedEntity {
10
- return this.parentEntity;
11
- }
12
-
13
- public setParentEntity(parentEntity: NamedEntity): void {
14
- this.parentEntity = parentEntity;
15
- parentEntity.addAlias(this);
16
- }
17
-
18
- private aliasedEntity: Type;
19
-
20
- public getAliasedEntity(): Type {
21
- return this.aliasedEntity;
22
- }
23
-
24
- public setAliasedEntity(aliasedEntity: Type): void {
25
- this.aliasedEntity = aliasedEntity;
26
- aliasedEntity.addTypeAlias(this);
27
- }
28
-
29
-
30
- public getJSON(): string {
31
- const mse: FamixJSONExporter = new FamixJSONExporter("Alias", this);
32
- this.addPropertiesToExporter(mse);
33
- return mse.getJSON();
34
- }
35
-
36
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
- super.addPropertiesToExporter(exporter);
38
- exporter.addProperty("parentEntity", this.getParentEntity());
39
- exporter.addProperty("aliasedEntity", this.getAliasedEntity());
40
- }
41
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { NamedEntity } from "./named_entity";
3
+ import { Type } from "./type";
4
+
5
+ export class Alias extends NamedEntity {
6
+
7
+ private parentEntity: NamedEntity;
8
+
9
+ public getParentEntity(): NamedEntity {
10
+ return this.parentEntity;
11
+ }
12
+
13
+ public setParentEntity(parentEntity: NamedEntity): void {
14
+ this.parentEntity = parentEntity;
15
+ parentEntity.addAlias(this);
16
+ }
17
+
18
+ private aliasedEntity: Type;
19
+
20
+ public getAliasedEntity(): Type {
21
+ return this.aliasedEntity;
22
+ }
23
+
24
+ public setAliasedEntity(aliasedEntity: Type): void {
25
+ this.aliasedEntity = aliasedEntity;
26
+ aliasedEntity.addTypeAlias(this);
27
+ }
28
+
29
+
30
+ public getJSON(): string {
31
+ const mse: FamixJSONExporter = new FamixJSONExporter("Alias", this);
32
+ this.addPropertiesToExporter(mse);
33
+ return mse.getJSON();
34
+ }
35
+
36
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
37
+ super.addPropertiesToExporter(exporter);
38
+ exporter.addProperty("parentEntity", this.getParentEntity());
39
+ exporter.addProperty("aliasedEntity", this.getAliasedEntity());
40
+ }
41
+ }
@@ -1,44 +1,44 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourcedEntity } from "./sourced_entity";
3
-
4
- export class Association extends SourcedEntity {
5
-
6
- private next: Association;
7
-
8
- public getNext(): Association {
9
- return this.next;
10
- }
11
-
12
- public setNext(next: Association): void {
13
- if (this.next === undefined) {
14
- this.next = next;
15
- next.setPrevious(this);
16
- }
17
- }
18
-
19
- private previous: Association;
20
-
21
- public getPrevious(): Association {
22
- return this.previous;
23
- }
24
-
25
- public setPrevious(previous: Association): void {
26
- if (this.previous === undefined) {
27
- this.previous = previous;
28
- previous.setNext(this);
29
- }
30
- }
31
-
32
-
33
- public getJSON(): string {
34
- const mse: FamixJSONExporter = new FamixJSONExporter("Association", this);
35
- this.addPropertiesToExporter(mse);
36
- return mse.getJSON();
37
- }
38
-
39
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
40
- super.addPropertiesToExporter(exporter);
41
- exporter.addProperty("next", this.getNext());
42
- exporter.addProperty("previous", this.getPrevious());
43
- }
44
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { SourcedEntity } from "./sourced_entity";
3
+
4
+ export class Association extends SourcedEntity {
5
+
6
+ private next: Association;
7
+
8
+ public getNext(): Association {
9
+ return this.next;
10
+ }
11
+
12
+ public setNext(next: Association): void {
13
+ if (this.next === undefined) {
14
+ this.next = next;
15
+ next.setPrevious(this);
16
+ }
17
+ }
18
+
19
+ private previous: Association;
20
+
21
+ public getPrevious(): Association {
22
+ return this.previous;
23
+ }
24
+
25
+ public setPrevious(previous: Association): void {
26
+ if (this.previous === undefined) {
27
+ this.previous = previous;
28
+ previous.setNext(this);
29
+ }
30
+ }
31
+
32
+
33
+ public getJSON(): string {
34
+ const mse: FamixJSONExporter = new FamixJSONExporter("Association", this);
35
+ this.addPropertiesToExporter(mse);
36
+ return mse.getJSON();
37
+ }
38
+
39
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
40
+ super.addPropertiesToExporter(exporter);
41
+ exporter.addProperty("next", this.getNext());
42
+ exporter.addProperty("previous", this.getPrevious());
43
+ }
44
+ }
@@ -1,107 +1,107 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { ContainerEntity } from "./container_entity";
4
- import { Parameter } from "./parameter";
5
- import { Invocation } from "./invocation";
6
- import { TypeParameter } from "./type_parameter";
7
-
8
- export class BehavioralEntity extends ContainerEntity {
9
-
10
- private isGeneric: boolean;
11
-
12
- public getIsGeneric(): boolean {
13
- return this.isGeneric;
14
- }
15
-
16
- public setIsGeneric(isGeneric: boolean): void {
17
- this.isGeneric = isGeneric;
18
- }
19
-
20
- private signature: string;
21
-
22
- public getSignature(): string {
23
- return this.signature;
24
- }
25
-
26
- public setSignature(signature: string): void {
27
- this.signature = signature;
28
- }
29
-
30
- private parameters: Set<Parameter> = new Set();
31
-
32
- public getParameters(): Set<Parameter> {
33
- return this.parameters;
34
- }
35
-
36
- public addParameter(parameter: Parameter): void {
37
- if (!this.parameters.has(parameter)) {
38
- this.parameters.add(parameter);
39
- parameter.setParentEntity(this);
40
- }
41
- }
42
-
43
- private numberOfParameters: number;
44
-
45
- public getNumberOfParameters(): number {
46
- return this.numberOfParameters;
47
- }
48
-
49
- public setNumberOfParameters(numberOfParameters: number): void {
50
- this.numberOfParameters = numberOfParameters;
51
- }
52
-
53
- private incomingInvocations: Set<Invocation> = new Set();
54
-
55
- public getIncomingInvocations(): Set<Invocation> {
56
- return this.incomingInvocations;
57
- }
58
-
59
- public addIncomingInvocation(incomingInvocation: Invocation): void {
60
- if (!this.incomingInvocations.has(incomingInvocation)) {
61
- this.incomingInvocations.add(incomingInvocation);
62
- incomingInvocation.addCandidate(this);
63
- }
64
- }
65
-
66
- private declaredType: Type;
67
-
68
- public getDeclaredType(): Type {
69
- return this.declaredType;
70
- }
71
-
72
- public setDeclaredType(declaredType: Type): void {
73
- this.declaredType = declaredType;
74
- declaredType.addBehavioralEntityWithDeclaredType(this);
75
- }
76
-
77
- private typeParameters: Set<TypeParameter> = new Set();
78
-
79
- public getTypeParameters(): Set<TypeParameter> {
80
- return this.typeParameters;
81
- }
82
-
83
- public addTypeParameter(typeParameter: TypeParameter): void {
84
- if (!this.typeParameters.has(typeParameter)) {
85
- this.typeParameters.add(typeParameter);
86
- typeParameter.setParentGeneric(this);
87
- }
88
- }
89
-
90
-
91
- public getJSON(): string {
92
- const mse: FamixJSONExporter = new FamixJSONExporter("BehavioralEntity", this);
93
- this.addPropertiesToExporter(mse);
94
- return mse.getJSON();
95
- }
96
-
97
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
98
- super.addPropertiesToExporter(exporter);
99
- exporter.addProperty("isGeneric", this.getIsGeneric());
100
- exporter.addProperty("signature", this.getSignature());
101
- exporter.addProperty("parameters", this.getParameters());
102
- exporter.addProperty("numberOfParameters", this.getNumberOfParameters());
103
- exporter.addProperty("incomingInvocations", this.getIncomingInvocations());
104
- exporter.addProperty("declaredType", this.getDeclaredType());
105
- exporter.addProperty("typeParameters", this.getTypeParameters());
106
- }
107
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Type } from "./type";
3
+ import { ContainerEntity } from "./container_entity";
4
+ import { Parameter } from "./parameter";
5
+ import { Invocation } from "./invocation";
6
+ import { TypeParameter } from "./type_parameter";
7
+
8
+ export class BehavioralEntity extends ContainerEntity {
9
+
10
+ private isGeneric: boolean;
11
+
12
+ public getIsGeneric(): boolean {
13
+ return this.isGeneric;
14
+ }
15
+
16
+ public setIsGeneric(isGeneric: boolean): void {
17
+ this.isGeneric = isGeneric;
18
+ }
19
+
20
+ private signature: string;
21
+
22
+ public getSignature(): string {
23
+ return this.signature;
24
+ }
25
+
26
+ public setSignature(signature: string): void {
27
+ this.signature = signature;
28
+ }
29
+
30
+ private parameters: Set<Parameter> = new Set();
31
+
32
+ public getParameters(): Set<Parameter> {
33
+ return this.parameters;
34
+ }
35
+
36
+ public addParameter(parameter: Parameter): void {
37
+ if (!this.parameters.has(parameter)) {
38
+ this.parameters.add(parameter);
39
+ parameter.setParentEntity(this);
40
+ }
41
+ }
42
+
43
+ private numberOfParameters: number;
44
+
45
+ public getNumberOfParameters(): number {
46
+ return this.numberOfParameters;
47
+ }
48
+
49
+ public setNumberOfParameters(numberOfParameters: number): void {
50
+ this.numberOfParameters = numberOfParameters;
51
+ }
52
+
53
+ private incomingInvocations: Set<Invocation> = new Set();
54
+
55
+ public getIncomingInvocations(): Set<Invocation> {
56
+ return this.incomingInvocations;
57
+ }
58
+
59
+ public addIncomingInvocation(incomingInvocation: Invocation): void {
60
+ if (!this.incomingInvocations.has(incomingInvocation)) {
61
+ this.incomingInvocations.add(incomingInvocation);
62
+ incomingInvocation.addCandidate(this);
63
+ }
64
+ }
65
+
66
+ private declaredType: Type;
67
+
68
+ public getDeclaredType(): Type {
69
+ return this.declaredType;
70
+ }
71
+
72
+ public setDeclaredType(declaredType: Type): void {
73
+ this.declaredType = declaredType;
74
+ declaredType.addBehavioralEntityWithDeclaredType(this);
75
+ }
76
+
77
+ private typeParameters: Set<TypeParameter> = new Set();
78
+
79
+ public getTypeParameters(): Set<TypeParameter> {
80
+ return this.typeParameters;
81
+ }
82
+
83
+ public addTypeParameter(typeParameter: TypeParameter): void {
84
+ if (!this.typeParameters.has(typeParameter)) {
85
+ this.typeParameters.add(typeParameter);
86
+ typeParameter.setParentGeneric(this);
87
+ }
88
+ }
89
+
90
+
91
+ public getJSON(): string {
92
+ const mse: FamixJSONExporter = new FamixJSONExporter("BehavioralEntity", this);
93
+ this.addPropertiesToExporter(mse);
94
+ return mse.getJSON();
95
+ }
96
+
97
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
98
+ super.addPropertiesToExporter(exporter);
99
+ exporter.addProperty("isGeneric", this.getIsGeneric());
100
+ exporter.addProperty("signature", this.getSignature());
101
+ exporter.addProperty("parameters", this.getParameters());
102
+ exporter.addProperty("numberOfParameters", this.getNumberOfParameters());
103
+ exporter.addProperty("incomingInvocations", this.getIncomingInvocations());
104
+ exporter.addProperty("declaredType", this.getDeclaredType());
105
+ exporter.addProperty("typeParameters", this.getTypeParameters());
106
+ }
107
+ }
@@ -1,15 +1,15 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourceLanguage } from "./source_language";
3
-
4
- export class CSourceLanguage extends SourceLanguage {
5
-
6
- public getJSON(): string {
7
- const mse: FamixJSONExporter = new FamixJSONExporter("CSourceLanguage", this);
8
- this.addPropertiesToExporter(mse);
9
- return mse.getJSON();
10
- }
11
-
12
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
13
- super.addPropertiesToExporter(exporter);
14
- }
15
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { SourceLanguage } from "./source_language";
3
+
4
+ export class CSourceLanguage extends SourceLanguage {
5
+
6
+ public getJSON(): string {
7
+ const mse: FamixJSONExporter = new FamixJSONExporter("CSourceLanguage", this);
8
+ this.addPropertiesToExporter(mse);
9
+ return mse.getJSON();
10
+ }
11
+
12
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
13
+ super.addPropertiesToExporter(exporter);
14
+ }
15
+ }