ts2famix 1.0.12 → 1.0.14

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 (135) hide show
  1. package/.eslintrc.json +24 -24
  2. package/LICENSE +23 -23
  3. package/README.md +109 -109
  4. package/dist/analyze.js +107 -0
  5. package/dist/analyze_functions/processAccesses.js +55 -0
  6. package/dist/analyze_functions/processFiles.js +554 -0
  7. package/dist/analyze_functions/processImportClauses.js +70 -0
  8. package/dist/analyze_functions/processInheritances.js +73 -0
  9. package/dist/analyze_functions/processInvocations.js +49 -0
  10. package/dist/famix2puml.js +125 -0
  11. package/dist/famix_functions/famix_functions.js +520 -0
  12. package/dist/famix_functions/famix_functions_associations.js +213 -0
  13. package/dist/famix_functions/famix_functions_index.js +62 -0
  14. package/dist/famix_functions/famix_functions_types.js +114 -0
  15. package/dist/fqn.js +126 -0
  16. package/dist/lib/famix/src/famix_JSON_exporter.js +54 -0
  17. package/dist/lib/famix/src/famix_base_element.js +13 -0
  18. package/dist/lib/famix/src/famix_repository.js +187 -0
  19. package/dist/lib/famix/src/index.js +30 -0
  20. package/dist/lib/famix/src/model/famix/access.js +39 -0
  21. package/dist/lib/famix/src/model/famix/accessor.js +16 -0
  22. package/dist/lib/famix/src/model/famix/alias.js +32 -0
  23. package/dist/lib/famix/src/model/famix/association.js +36 -0
  24. package/dist/lib/famix/src/model/famix/behavioral_entity.js +81 -0
  25. package/dist/lib/famix/src/model/famix/c_source_language.js +16 -0
  26. package/dist/lib/famix/src/model/famix/class.js +70 -0
  27. package/dist/lib/famix/src/model/famix/comment.js +38 -0
  28. package/dist/lib/famix/src/model/famix/container_entity.js +125 -0
  29. package/dist/lib/famix/src/model/famix/custom_source_language.js +23 -0
  30. package/dist/lib/famix/src/model/famix/decorator.js +31 -0
  31. package/dist/lib/famix/src/model/famix/entity.js +16 -0
  32. package/dist/lib/famix/src/model/famix/enum.js +30 -0
  33. package/dist/lib/famix/src/model/famix/enum_value.js +24 -0
  34. package/dist/lib/famix/src/model/famix/function.js +16 -0
  35. package/dist/lib/famix/src/model/famix/implicit_variable.js +16 -0
  36. package/dist/lib/famix/src/model/famix/import_clause.js +39 -0
  37. package/dist/lib/famix/src/model/famix/index.js +87 -0
  38. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +37 -0
  39. package/dist/lib/famix/src/model/famix/inheritance.js +32 -0
  40. package/dist/lib/famix/src/model/famix/interface.js +63 -0
  41. package/dist/lib/famix/src/model/famix/invocation.js +53 -0
  42. package/dist/lib/famix/src/model/famix/method.js +66 -0
  43. package/dist/lib/famix/src/model/famix/module.js +30 -0
  44. package/dist/lib/famix/src/model/famix/named_entity.js +77 -0
  45. package/dist/lib/famix/src/model/famix/namespace.js +24 -0
  46. package/dist/lib/famix/src/model/famix/parameter.js +24 -0
  47. package/dist/lib/famix/src/model/famix/parameterizable_class.js +30 -0
  48. package/dist/lib/famix/src/model/famix/parameterizable_interface.js +30 -0
  49. package/dist/lib/famix/src/model/famix/parameterized_type.js +36 -0
  50. package/dist/lib/famix/src/model/famix/primitive_type.js +16 -0
  51. package/dist/lib/famix/src/model/famix/property.js +44 -0
  52. package/dist/lib/famix/src/model/famix/reference.js +32 -0
  53. package/dist/lib/famix/src/model/famix/scoping_entity.js +30 -0
  54. package/dist/lib/famix/src/model/famix/script_entity.js +30 -0
  55. package/dist/lib/famix/src/model/famix/source_anchor.js +26 -0
  56. package/dist/lib/famix/src/model/famix/source_language.js +30 -0
  57. package/dist/lib/famix/src/model/famix/sourced_entity.js +55 -0
  58. package/dist/lib/famix/src/model/famix/structural_entity.js +38 -0
  59. package/dist/lib/famix/src/model/famix/text_anchor.js +37 -0
  60. package/dist/lib/famix/src/model/famix/type.js +71 -0
  61. package/dist/lib/famix/src/model/famix/type_parameter.js +24 -0
  62. package/dist/lib/famix/src/model/famix/variable.js +23 -0
  63. package/dist/lib/ts-complex/cyclomatic-service.js +83 -0
  64. package/dist/ts2famix-cli.js +63 -0
  65. package/dist/ts2famix-tsconfig.js +53 -0
  66. package/jest.config-old.ts +199 -199
  67. package/package.json +47 -47
  68. package/src/analyze.ts +94 -94
  69. package/src/analyze_functions/processAccesses.ts +57 -57
  70. package/src/analyze_functions/processFiles.ts +669 -669
  71. package/src/analyze_functions/processImportClauses.ts +77 -77
  72. package/src/analyze_functions/processInheritances.ts +84 -84
  73. package/src/analyze_functions/processInvocations.ts +51 -51
  74. package/src/famix2puml.ts +119 -119
  75. package/src/famix_functions/famix_functions.ts +559 -559
  76. package/src/famix_functions/famix_functions_associations.ts +215 -215
  77. package/src/famix_functions/famix_functions_index.ts +44 -44
  78. package/src/famix_functions/famix_functions_types.ts +105 -105
  79. package/src/generate_uml.sh +16 -16
  80. package/src/lib/famix/License.md +22 -22
  81. package/src/lib/famix/package-lock.json +301 -301
  82. package/src/lib/famix/package.json +27 -27
  83. package/src/lib/famix/readme.md +4 -4
  84. package/src/lib/famix/src/famix_JSON_exporter.ts +56 -56
  85. package/src/lib/famix/src/famix_base_element.ts +18 -18
  86. package/src/lib/famix/src/famix_repository.ts +199 -199
  87. package/src/lib/famix/src/index.ts +8 -8
  88. package/src/lib/famix/src/model/famix/access.ts +53 -53
  89. package/src/lib/famix/src/model/famix/accessor.ts +15 -15
  90. package/src/lib/famix/src/model/famix/alias.ts +41 -41
  91. package/src/lib/famix/src/model/famix/association.ts +44 -44
  92. package/src/lib/famix/src/model/famix/behavioral_entity.ts +107 -107
  93. package/src/lib/famix/src/model/famix/c_source_language.ts +15 -15
  94. package/src/lib/famix/src/model/famix/class.ts +86 -86
  95. package/src/lib/famix/src/model/famix/comment.ts +50 -50
  96. package/src/lib/famix/src/model/famix/container_entity.ts +165 -165
  97. package/src/lib/famix/src/model/famix/custom_source_language.ts +27 -27
  98. package/src/lib/famix/src/model/famix/decorator.ts +39 -39
  99. package/src/lib/famix/src/model/famix/entity.ts +15 -15
  100. package/src/lib/famix/src/model/famix/enum.ts +31 -31
  101. package/src/lib/famix/src/model/famix/enum_value.ts +29 -29
  102. package/src/lib/famix/src/model/famix/function.ts +15 -15
  103. package/src/lib/famix/src/model/famix/implicit_variable.ts +15 -15
  104. package/src/lib/famix/src/model/famix/import_clause.ts +53 -53
  105. package/src/lib/famix/src/model/famix/index.ts +42 -42
  106. package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +49 -49
  107. package/src/lib/famix/src/model/famix/inheritance.ts +42 -42
  108. package/src/lib/famix/src/model/famix/interface.ts +75 -75
  109. package/src/lib/famix/src/model/famix/invocation.ts +68 -68
  110. package/src/lib/famix/src/model/famix/method.ts +96 -96
  111. package/src/lib/famix/src/model/famix/module.ts +31 -31
  112. package/src/lib/famix/src/model/famix/named_entity.ts +98 -98
  113. package/src/lib/famix/src/model/famix/namespace.ts +28 -28
  114. package/src/lib/famix/src/model/famix/parameter.ts +29 -29
  115. package/src/lib/famix/src/model/famix/parameterizable_class.ts +31 -31
  116. package/src/lib/famix/src/model/famix/parameterizable_interface.ts +31 -31
  117. package/src/lib/famix/src/model/famix/parameterized_type.ts +40 -40
  118. package/src/lib/famix/src/model/famix/primitive_type.ts +15 -15
  119. package/src/lib/famix/src/model/famix/property.ts +54 -54
  120. package/src/lib/famix/src/model/famix/reference.ts +42 -42
  121. package/src/lib/famix/src/model/famix/scoping_entity.ts +31 -31
  122. package/src/lib/famix/src/model/famix/script_entity.ts +38 -38
  123. package/src/lib/famix/src/model/famix/source_anchor.ts +31 -31
  124. package/src/lib/famix/src/model/famix/source_language.ts +31 -31
  125. package/src/lib/famix/src/model/famix/sourced_entity.ts +70 -70
  126. package/src/lib/famix/src/model/famix/structural_entity.ts +44 -44
  127. package/src/lib/famix/src/model/famix/text_anchor.ts +49 -49
  128. package/src/lib/famix/src/model/famix/type.ts +88 -88
  129. package/src/lib/famix/src/model/famix/type_parameter.ts +33 -33
  130. package/src/lib/famix/src/model/famix/variable.ts +28 -28
  131. package/src/lib/famix/tsconfig.json +26 -26
  132. package/src/lib/famix/tslint.json +14 -14
  133. package/src/lib/ts-complex/cyclomatic-service.ts +85 -85
  134. package/src/ts2famix-cli.ts +39 -39
  135. package/tsconfig.json +69 -69
@@ -1,42 +1,42 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { Association } from "./association";
4
- import { ContainerEntity } from "./container_entity";
5
-
6
- export class Reference extends Association {
7
-
8
- private source: ContainerEntity;
9
-
10
- public getSource(): ContainerEntity {
11
- return this.source;
12
- }
13
-
14
- public setSource(source: ContainerEntity): void {
15
- this.source = source;
16
- source.addOutgoingReference(this);
17
- }
18
-
19
- private target: Type;
20
-
21
- public getTarget(): Type {
22
- return this.target;
23
- }
24
-
25
- public setTarget(target: Type): void {
26
- this.target = target;
27
- target.addIncomingReference(this);
28
- }
29
-
30
-
31
- public getJSON(): string {
32
- const mse: FamixJSONExporter = new FamixJSONExporter("Reference", this);
33
- this.addPropertiesToExporter(mse);
34
- return mse.getJSON();
35
- }
36
-
37
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
38
- super.addPropertiesToExporter(exporter);
39
- exporter.addProperty("source", this.getSource());
40
- exporter.addProperty("target", this.getTarget());
41
- }
42
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Type } from "./type";
3
+ import { Association } from "./association";
4
+ import { ContainerEntity } from "./container_entity";
5
+
6
+ export class Reference extends Association {
7
+
8
+ private source: ContainerEntity;
9
+
10
+ public getSource(): ContainerEntity {
11
+ return this.source;
12
+ }
13
+
14
+ public setSource(source: ContainerEntity): void {
15
+ this.source = source;
16
+ source.addOutgoingReference(this);
17
+ }
18
+
19
+ private target: Type;
20
+
21
+ public getTarget(): Type {
22
+ return this.target;
23
+ }
24
+
25
+ public setTarget(target: Type): void {
26
+ this.target = target;
27
+ target.addIncomingReference(this);
28
+ }
29
+
30
+
31
+ public getJSON(): string {
32
+ const mse: FamixJSONExporter = new FamixJSONExporter("Reference", this);
33
+ this.addPropertiesToExporter(mse);
34
+ return mse.getJSON();
35
+ }
36
+
37
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
38
+ super.addPropertiesToExporter(exporter);
39
+ exporter.addProperty("source", this.getSource());
40
+ exporter.addProperty("target", this.getTarget());
41
+ }
42
+ }
@@ -1,31 +1,31 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ContainerEntity } from "./container_entity";
3
- import { Namespace } from "./namespace";
4
-
5
- export class ScopingEntity extends ContainerEntity {
6
-
7
- private childrenNamespaces: Set<Namespace> = new Set();
8
-
9
- public getNamespaces(): Set<Namespace> {
10
- return this.childrenNamespaces;
11
- }
12
-
13
- public addNamespace(childNamespace: Namespace): void {
14
- if (!this.childrenNamespaces.has(childNamespace)) {
15
- this.childrenNamespaces.add(childNamespace);
16
- childNamespace.setParentScope(this);
17
- }
18
- }
19
-
20
-
21
- public getJSON(): string {
22
- const mse: FamixJSONExporter = new FamixJSONExporter("ScopingEntity", this);
23
- this.addPropertiesToExporter(mse);
24
- return mse.getJSON();
25
- }
26
-
27
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
- super.addPropertiesToExporter(exporter);
29
- exporter.addProperty("namespaces", this.getNamespaces());
30
- }
31
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { ContainerEntity } from "./container_entity";
3
+ import { Namespace } from "./namespace";
4
+
5
+ export class ScopingEntity extends ContainerEntity {
6
+
7
+ private childrenNamespaces: Set<Namespace> = new Set();
8
+
9
+ public getNamespaces(): Set<Namespace> {
10
+ return this.childrenNamespaces;
11
+ }
12
+
13
+ public addNamespace(childNamespace: Namespace): void {
14
+ if (!this.childrenNamespaces.has(childNamespace)) {
15
+ this.childrenNamespaces.add(childNamespace);
16
+ childNamespace.setParentScope(this);
17
+ }
18
+ }
19
+
20
+
21
+ public getJSON(): string {
22
+ const mse: FamixJSONExporter = new FamixJSONExporter("ScopingEntity", this);
23
+ this.addPropertiesToExporter(mse);
24
+ return mse.getJSON();
25
+ }
26
+
27
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
+ super.addPropertiesToExporter(exporter);
29
+ exporter.addProperty("namespaces", this.getNamespaces());
30
+ }
31
+ }
@@ -1,38 +1,38 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { ScopingEntity } from "./scoping_entity";
3
-
4
- export class ScriptEntity extends ScopingEntity {
5
-
6
- private numberOfLinesOfText: number;
7
-
8
- public getNumberOfLinesOfText(): number {
9
- return this.numberOfLinesOfText;
10
- }
11
-
12
- public setNumberOfLinesOfText(numberOfLinesOfText: number): void {
13
- this.numberOfLinesOfText = numberOfLinesOfText;
14
- }
15
-
16
- private numberOfCharacters: number;
17
-
18
- public getNumberOfCharacters(): number {
19
- return this.numberOfCharacters;
20
- }
21
-
22
- public setNumberOfCharacters(numberOfCharacters: number): void {
23
- this.numberOfCharacters = numberOfCharacters;
24
- }
25
-
26
-
27
- public getJSON(): string {
28
- const mse: FamixJSONExporter = new FamixJSONExporter("ScriptEntity", this);
29
- this.addPropertiesToExporter(mse);
30
- return mse.getJSON();
31
- }
32
-
33
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
34
- super.addPropertiesToExporter(exporter);
35
- exporter.addProperty("numberOfLinesOfText", this.getNumberOfLinesOfText());
36
- exporter.addProperty("numberOfCharacters", this.getNumberOfCharacters());
37
- }
38
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { ScopingEntity } from "./scoping_entity";
3
+
4
+ export class ScriptEntity extends ScopingEntity {
5
+
6
+ private numberOfLinesOfText: number;
7
+
8
+ public getNumberOfLinesOfText(): number {
9
+ return this.numberOfLinesOfText;
10
+ }
11
+
12
+ public setNumberOfLinesOfText(numberOfLinesOfText: number): void {
13
+ this.numberOfLinesOfText = numberOfLinesOfText;
14
+ }
15
+
16
+ private numberOfCharacters: number;
17
+
18
+ public getNumberOfCharacters(): number {
19
+ return this.numberOfCharacters;
20
+ }
21
+
22
+ public setNumberOfCharacters(numberOfCharacters: number): void {
23
+ this.numberOfCharacters = numberOfCharacters;
24
+ }
25
+
26
+
27
+ public getJSON(): string {
28
+ const mse: FamixJSONExporter = new FamixJSONExporter("ScriptEntity", this);
29
+ this.addPropertiesToExporter(mse);
30
+ return mse.getJSON();
31
+ }
32
+
33
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
34
+ super.addPropertiesToExporter(exporter);
35
+ exporter.addProperty("numberOfLinesOfText", this.getNumberOfLinesOfText());
36
+ exporter.addProperty("numberOfCharacters", this.getNumberOfCharacters());
37
+ }
38
+ }
@@ -1,31 +1,31 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Entity } from "./entity";
3
- import { SourcedEntity } from "./sourced_entity";
4
-
5
- export class SourceAnchor extends Entity {
6
-
7
- private element: SourcedEntity;
8
-
9
- public getElement(): SourcedEntity {
10
- return this.element;
11
- }
12
-
13
- public setElement(element: SourcedEntity): void {
14
- if (this.element === undefined) {
15
- this.element = element;
16
- element.setSourceAnchor(this);
17
- }
18
- }
19
-
20
-
21
- public getJSON(): string {
22
- const mse: FamixJSONExporter = new FamixJSONExporter("SourceAnchor", this);
23
- this.addPropertiesToExporter(mse);
24
- return mse.getJSON();
25
- }
26
-
27
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
- super.addPropertiesToExporter(exporter);
29
- exporter.addProperty("element", this.getElement());
30
- }
31
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Entity } from "./entity";
3
+ import { SourcedEntity } from "./sourced_entity";
4
+
5
+ export class SourceAnchor extends Entity {
6
+
7
+ private element: SourcedEntity;
8
+
9
+ public getElement(): SourcedEntity {
10
+ return this.element;
11
+ }
12
+
13
+ public setElement(element: SourcedEntity): void {
14
+ if (this.element === undefined) {
15
+ this.element = element;
16
+ element.setSourceAnchor(this);
17
+ }
18
+ }
19
+
20
+
21
+ public getJSON(): string {
22
+ const mse: FamixJSONExporter = new FamixJSONExporter("SourceAnchor", this);
23
+ this.addPropertiesToExporter(mse);
24
+ return mse.getJSON();
25
+ }
26
+
27
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
+ super.addPropertiesToExporter(exporter);
29
+ exporter.addProperty("element", this.getElement());
30
+ }
31
+ }
@@ -1,31 +1,31 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Entity } from "./entity";
3
- import { SourcedEntity } from "./sourced_entity";
4
-
5
- export class SourceLanguage extends Entity {
6
-
7
- private sourcedEntities: Set<SourcedEntity> = new Set();
8
-
9
- public getSourcedEntities(): Set<SourcedEntity> {
10
- return this.sourcedEntities;
11
- }
12
-
13
- public addSourcedEntity(sourcedEntity: SourcedEntity): void {
14
- if (!this.sourcedEntities.has(sourcedEntity)) {
15
- this.sourcedEntities.add(sourcedEntity);
16
- sourcedEntity.setDeclaredSourceLanguage(this);
17
- }
18
- }
19
-
20
-
21
- public getJSON(): string {
22
- const mse: FamixJSONExporter = new FamixJSONExporter("SourceLanguage", this);
23
- this.addPropertiesToExporter(mse);
24
- return mse.getJSON();
25
- }
26
-
27
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
- super.addPropertiesToExporter(exporter);
29
- exporter.addProperty("sourcedEntities", this.getSourcedEntities());
30
- }
31
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Entity } from "./entity";
3
+ import { SourcedEntity } from "./sourced_entity";
4
+
5
+ export class SourceLanguage extends Entity {
6
+
7
+ private sourcedEntities: Set<SourcedEntity> = new Set();
8
+
9
+ public getSourcedEntities(): Set<SourcedEntity> {
10
+ return this.sourcedEntities;
11
+ }
12
+
13
+ public addSourcedEntity(sourcedEntity: SourcedEntity): void {
14
+ if (!this.sourcedEntities.has(sourcedEntity)) {
15
+ this.sourcedEntities.add(sourcedEntity);
16
+ sourcedEntity.setDeclaredSourceLanguage(this);
17
+ }
18
+ }
19
+
20
+
21
+ public getJSON(): string {
22
+ const mse: FamixJSONExporter = new FamixJSONExporter("SourceLanguage", this);
23
+ this.addPropertiesToExporter(mse);
24
+ return mse.getJSON();
25
+ }
26
+
27
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
28
+ super.addPropertiesToExporter(exporter);
29
+ exporter.addProperty("sourcedEntities", this.getSourcedEntities());
30
+ }
31
+ }
@@ -1,70 +1,70 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { SourceLanguage } from "./source_language";
3
- import { Entity } from "./entity";
4
- import { Comment } from "./comment";
5
- import { SourceAnchor } from "./source_anchor";
6
-
7
- export class SourcedEntity extends Entity {
8
-
9
- private isStub: boolean;
10
-
11
- public getIsStub(): boolean {
12
- return this.isStub;
13
- }
14
-
15
- public setIsStub(isStub: boolean): void {
16
- this.isStub = isStub;
17
- }
18
-
19
- private sourceAnchor: SourceAnchor;
20
-
21
- public getSourceAnchor(): SourceAnchor {
22
- return this.sourceAnchor;
23
- }
24
-
25
- public setSourceAnchor(sourceAnchor: SourceAnchor): void {
26
- if (this.sourceAnchor === undefined) {
27
- this.sourceAnchor = sourceAnchor;
28
- sourceAnchor.setElement(this);
29
- }
30
- }
31
-
32
- private comments: Set<Comment> = new Set();
33
-
34
- public getComments(): Set<Comment> {
35
- return this.comments;
36
- }
37
-
38
- public addComment(comment: Comment): void {
39
- if (!this.comments.has(comment)) {
40
- this.comments.add(comment);
41
- comment.setContainer(this);
42
- }
43
- }
44
-
45
- private declaredSourceLanguage: SourceLanguage;
46
-
47
- public getDeclaredSourceLanguage(): SourceLanguage {
48
- return this.declaredSourceLanguage;
49
- }
50
-
51
- public setDeclaredSourceLanguage(declaredSourceLanguage: SourceLanguage): void {
52
- this.declaredSourceLanguage = declaredSourceLanguage;
53
- declaredSourceLanguage.addSourcedEntity(this);
54
- }
55
-
56
-
57
- public getJSON(): string {
58
- const mse: FamixJSONExporter = new FamixJSONExporter("SourcedEntity", this);
59
- this.addPropertiesToExporter(mse);
60
- return mse.getJSON();
61
- }
62
-
63
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
64
- super.addPropertiesToExporter(exporter);
65
- exporter.addProperty("isStub", this.getIsStub());
66
- exporter.addProperty("sourceAnchor", this.getSourceAnchor());
67
- exporter.addProperty("comments", this.getComments());
68
- exporter.addProperty("declaredSourceLanguage", this.getDeclaredSourceLanguage());
69
- }
70
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { SourceLanguage } from "./source_language";
3
+ import { Entity } from "./entity";
4
+ import { Comment } from "./comment";
5
+ import { SourceAnchor } from "./source_anchor";
6
+
7
+ export class SourcedEntity extends Entity {
8
+
9
+ private isStub: boolean;
10
+
11
+ public getIsStub(): boolean {
12
+ return this.isStub;
13
+ }
14
+
15
+ public setIsStub(isStub: boolean): void {
16
+ this.isStub = isStub;
17
+ }
18
+
19
+ private sourceAnchor: SourceAnchor;
20
+
21
+ public getSourceAnchor(): SourceAnchor {
22
+ return this.sourceAnchor;
23
+ }
24
+
25
+ public setSourceAnchor(sourceAnchor: SourceAnchor): void {
26
+ if (this.sourceAnchor === undefined) {
27
+ this.sourceAnchor = sourceAnchor;
28
+ sourceAnchor.setElement(this);
29
+ }
30
+ }
31
+
32
+ private comments: Set<Comment> = new Set();
33
+
34
+ public getComments(): Set<Comment> {
35
+ return this.comments;
36
+ }
37
+
38
+ public addComment(comment: Comment): void {
39
+ if (!this.comments.has(comment)) {
40
+ this.comments.add(comment);
41
+ comment.setContainer(this);
42
+ }
43
+ }
44
+
45
+ private declaredSourceLanguage: SourceLanguage;
46
+
47
+ public getDeclaredSourceLanguage(): SourceLanguage {
48
+ return this.declaredSourceLanguage;
49
+ }
50
+
51
+ public setDeclaredSourceLanguage(declaredSourceLanguage: SourceLanguage): void {
52
+ this.declaredSourceLanguage = declaredSourceLanguage;
53
+ declaredSourceLanguage.addSourcedEntity(this);
54
+ }
55
+
56
+
57
+ public getJSON(): string {
58
+ const mse: FamixJSONExporter = new FamixJSONExporter("SourcedEntity", this);
59
+ this.addPropertiesToExporter(mse);
60
+ return mse.getJSON();
61
+ }
62
+
63
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
64
+ super.addPropertiesToExporter(exporter);
65
+ exporter.addProperty("isStub", this.getIsStub());
66
+ exporter.addProperty("sourceAnchor", this.getSourceAnchor());
67
+ exporter.addProperty("comments", this.getComments());
68
+ exporter.addProperty("declaredSourceLanguage", this.getDeclaredSourceLanguage());
69
+ }
70
+ }
@@ -1,44 +1,44 @@
1
- import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
- import { Type } from "./type";
3
- import { Access } from "./access";
4
- import { NamedEntity } from "./named_entity";
5
-
6
- export class StructuralEntity extends NamedEntity {
7
-
8
- private incomingAccesses: Set<Access> = new Set();
9
-
10
- public getIncomingAccesses(): Set<Access> {
11
- return this.incomingAccesses;
12
- }
13
-
14
- public addIncomingAccess(incomingAccess: Access): void {
15
- if (!this.incomingAccesses.has(incomingAccess)) {
16
- this.incomingAccesses.add(incomingAccess);
17
- incomingAccess.setVariable(this);
18
- }
19
- }
20
-
21
- private declaredType: Type;
22
-
23
- public getDeclaredType(): Type {
24
- return this.declaredType;
25
- }
26
-
27
- public setDeclaredType(declaredType: Type): void {
28
- this.declaredType = declaredType;
29
- declaredType.addStructureWithDeclaredType(this);
30
- }
31
-
32
-
33
- public getJSON(): string {
34
- const mse: FamixJSONExporter = new FamixJSONExporter("StructuralEntity", this);
35
- this.addPropertiesToExporter(mse);
36
- return mse.getJSON();
37
- }
38
-
39
- public addPropertiesToExporter(exporter: FamixJSONExporter): void {
40
- super.addPropertiesToExporter(exporter);
41
- exporter.addProperty("incomingAccesses", this.getIncomingAccesses());
42
- exporter.addProperty("declaredType", this.getDeclaredType());
43
- }
44
- }
1
+ import { FamixJSONExporter } from "../../famix_JSON_exporter";
2
+ import { Type } from "./type";
3
+ import { Access } from "./access";
4
+ import { NamedEntity } from "./named_entity";
5
+
6
+ export class StructuralEntity extends NamedEntity {
7
+
8
+ private incomingAccesses: Set<Access> = new Set();
9
+
10
+ public getIncomingAccesses(): Set<Access> {
11
+ return this.incomingAccesses;
12
+ }
13
+
14
+ public addIncomingAccess(incomingAccess: Access): void {
15
+ if (!this.incomingAccesses.has(incomingAccess)) {
16
+ this.incomingAccesses.add(incomingAccess);
17
+ incomingAccess.setVariable(this);
18
+ }
19
+ }
20
+
21
+ private declaredType: Type;
22
+
23
+ public getDeclaredType(): Type {
24
+ return this.declaredType;
25
+ }
26
+
27
+ public setDeclaredType(declaredType: Type): void {
28
+ this.declaredType = declaredType;
29
+ declaredType.addStructureWithDeclaredType(this);
30
+ }
31
+
32
+
33
+ public getJSON(): string {
34
+ const mse: FamixJSONExporter = new FamixJSONExporter("StructuralEntity", this);
35
+ this.addPropertiesToExporter(mse);
36
+ return mse.getJSON();
37
+ }
38
+
39
+ public addPropertiesToExporter(exporter: FamixJSONExporter): void {
40
+ super.addPropertiesToExporter(exporter);
41
+ exporter.addProperty("incomingAccesses", this.getIncomingAccesses());
42
+ exporter.addProperty("declaredType", this.getDeclaredType());
43
+ }
44
+ }