ts2famix 2.0.1 → 2.1.0-beta.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 (190) hide show
  1. package/.eslintrc.json +24 -24
  2. package/.vscode/settings.json +4 -0
  3. package/LICENSE +24 -24
  4. package/README.md +78 -78
  5. package/TODO +1 -0
  6. package/arwea-fix.json +1 -0
  7. package/bogus.ts +3 -0
  8. package/class-diagram.puml +792 -0
  9. package/debug.txt +13332 -0
  10. package/debuglog.txt +12073 -0
  11. package/dist/analyze.js +2 -2
  12. package/dist/analyze_functions/process_functions.js +84 -64
  13. package/dist/famix2puml.js +126 -0
  14. package/dist/famix_functions/EntityDictionary.js +865 -503
  15. package/dist/famix_functions/helpers_creation.js +1 -1
  16. package/dist/fqn.js +44 -11
  17. package/dist/getClasses-arrow-body.js +43 -0
  18. package/dist/lib/famix/famix_JSON_exporter.js +1 -1
  19. package/dist/lib/famix/famix_base_element.js +1 -1
  20. package/dist/lib/famix/famix_repository.js +57 -2
  21. package/dist/lib/famix/index.js +1 -1
  22. package/dist/lib/famix/model/famix/access.js +1 -1
  23. package/dist/lib/famix/model/famix/accessor.js +1 -1
  24. package/dist/lib/famix/model/famix/alias.js +1 -1
  25. package/dist/lib/famix/model/famix/arrow_function.js +1 -1
  26. package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
  27. package/dist/lib/famix/model/famix/class.js +1 -1
  28. package/dist/lib/famix/model/famix/comment.js +1 -1
  29. package/dist/lib/famix/model/famix/concretisation.js +1 -1
  30. package/dist/lib/famix/model/famix/container_entity.js +1 -1
  31. package/dist/lib/famix/model/famix/decorator.js +1 -1
  32. package/dist/lib/famix/model/famix/entity.js +1 -1
  33. package/dist/lib/famix/model/famix/enum.js +1 -1
  34. package/dist/lib/famix/model/famix/enum_value.js +1 -1
  35. package/dist/lib/famix/model/famix/function.js +1 -1
  36. package/dist/lib/famix/model/famix/import_clause.js +1 -1
  37. package/dist/lib/famix/model/famix/index.js +1 -1
  38. package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
  39. package/dist/lib/famix/model/famix/inheritance.js +1 -1
  40. package/dist/lib/famix/model/famix/interface.js +1 -1
  41. package/dist/lib/famix/model/famix/invocation.js +1 -1
  42. package/dist/lib/famix/model/famix/method.js +1 -1
  43. package/dist/lib/famix/model/famix/module.js +1 -1
  44. package/dist/lib/famix/model/famix/named_entity.js +1 -1
  45. package/dist/lib/famix/model/famix/parameter.js +1 -1
  46. package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
  47. package/dist/lib/famix/model/famix/parameter_type.js +1 -1
  48. package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
  49. package/dist/lib/famix/model/famix/parametric_class.js +1 -1
  50. package/dist/lib/famix/model/famix/parametric_function.js +1 -1
  51. package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
  52. package/dist/lib/famix/model/famix/parametric_method.js +1 -1
  53. package/dist/lib/famix/model/famix/primitive_type.js +1 -1
  54. package/dist/lib/famix/model/famix/property.js +1 -1
  55. package/dist/lib/famix/model/famix/reference.js +1 -1
  56. package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
  57. package/dist/lib/famix/model/famix/script_entity.js +1 -1
  58. package/dist/lib/famix/model/famix/source_anchor.js +1 -1
  59. package/dist/lib/famix/model/famix/source_language.js +1 -1
  60. package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
  61. package/dist/lib/famix/model/famix/structural_entity.js +1 -1
  62. package/dist/lib/famix/model/famix/type.js +1 -1
  63. package/dist/lib/famix/model/famix/variable.js +1 -1
  64. package/dist/lib/famix/src/famix_JSON_exporter.js +55 -0
  65. package/dist/lib/famix/src/famix_base_element.js +18 -0
  66. package/dist/lib/famix/src/famix_repository.js +224 -0
  67. package/dist/lib/famix/src/index.js +31 -0
  68. package/dist/lib/famix/src/model/famix/access.js +40 -0
  69. package/dist/lib/famix/src/model/famix/accessor.js +17 -0
  70. package/dist/lib/famix/src/model/famix/alias.js +33 -0
  71. package/dist/lib/famix/src/model/famix/arrowFunction.js +17 -0
  72. package/dist/lib/famix/src/model/famix/arrow_function.js +17 -0
  73. package/dist/lib/famix/src/model/famix/behavioral_entity.js +79 -0
  74. package/dist/lib/famix/src/model/famix/class.js +71 -0
  75. package/dist/lib/famix/src/model/famix/comment.js +39 -0
  76. package/dist/lib/famix/src/model/famix/concretisation.js +31 -0
  77. package/dist/lib/famix/src/model/famix/container_entity.js +126 -0
  78. package/dist/lib/famix/src/model/famix/decorator.js +32 -0
  79. package/dist/lib/famix/src/model/famix/entity.js +17 -0
  80. package/dist/lib/famix/src/model/famix/enum.js +31 -0
  81. package/dist/lib/famix/src/model/famix/enum_value.js +25 -0
  82. package/dist/lib/famix/src/model/famix/function.js +17 -0
  83. package/dist/lib/famix/src/model/famix/implicit_variable.js +17 -0
  84. package/dist/lib/famix/src/model/famix/import_clause.js +41 -0
  85. package/dist/lib/famix/src/model/famix/index.js +86 -0
  86. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +38 -0
  87. package/dist/lib/famix/src/model/famix/inheritance.js +33 -0
  88. package/dist/lib/famix/src/model/famix/interface.js +64 -0
  89. package/dist/lib/famix/src/model/famix/invocation.js +54 -0
  90. package/dist/lib/famix/src/model/famix/method.js +67 -0
  91. package/dist/lib/famix/src/model/famix/module.js +60 -0
  92. package/dist/lib/famix/src/model/famix/named_entity.js +78 -0
  93. package/dist/lib/famix/src/model/famix/parameter.js +25 -0
  94. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +44 -0
  95. package/dist/lib/famix/src/model/famix/parameter_concretisation.js +44 -0
  96. package/dist/lib/famix/src/model/famix/parameter_type.js +45 -0
  97. package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +29 -0
  98. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +31 -0
  99. package/dist/lib/famix/src/model/famix/parametric_class.js +44 -0
  100. package/dist/lib/famix/src/model/famix/parametric_function.js +31 -0
  101. package/dist/lib/famix/src/model/famix/parametric_interface.js +44 -0
  102. package/dist/lib/famix/src/model/famix/parametric_method.js +31 -0
  103. package/dist/lib/famix/src/model/famix/primitive_type.js +17 -0
  104. package/dist/lib/famix/src/model/famix/property.js +73 -0
  105. package/dist/lib/famix/src/model/famix/reference.js +33 -0
  106. package/dist/lib/famix/src/model/famix/scoping_entity.js +36 -0
  107. package/dist/lib/famix/src/model/famix/script_entity.js +29 -0
  108. package/dist/lib/famix/src/model/famix/source_anchor.js +27 -0
  109. package/dist/lib/famix/src/model/famix/source_language.js +35 -0
  110. package/dist/lib/famix/src/model/famix/sourced_entity.js +60 -0
  111. package/dist/lib/famix/src/model/famix/structural_entity.js +39 -0
  112. package/dist/lib/famix/src/model/famix/text_anchor.js +38 -0
  113. package/dist/lib/famix/src/model/famix/type.js +73 -0
  114. package/dist/lib/famix/src/model/famix/variable.js +24 -0
  115. package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
  116. package/dist/refactorer/refactor-getter-setter.js +1 -1
  117. package/dist/ts2famix-cli-wrapper.js +1 -1
  118. package/dist/ts2famix-cli.js +1 -1
  119. package/doc-uml/famix-typescript-model.puml +607 -607
  120. package/eslint.config.mjs +28 -0
  121. package/fqn-model.json +1 -0
  122. package/iterateGenericTypes.ts +69 -0
  123. package/out/class-diagram/class-diagram.svg +1 -0
  124. package/package.json +70 -50
  125. package/sample.json +1 -0
  126. package/sample.ts +1 -0
  127. package/src/analyze.ts +120 -120
  128. package/src/analyze_functions/process_functions.ts +1040 -1019
  129. package/src/famix_functions/EntityDictionary.ts +2016 -1593
  130. package/src/famix_functions/helpers_creation.ts +135 -135
  131. package/src/fqn.ts +50 -16
  132. package/src/generate_uml.sh +20 -20
  133. package/src/lib/famix/License.md +22 -22
  134. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  135. package/src/lib/famix/famix_base_element.ts +22 -22
  136. package/src/lib/famix/famix_repository.ts +278 -243
  137. package/src/lib/famix/index.ts +8 -8
  138. package/src/lib/famix/model/famix/access.ts +50 -50
  139. package/src/lib/famix/model/famix/accessor.ts +15 -15
  140. package/src/lib/famix/model/famix/alias.ts +39 -39
  141. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  142. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  143. package/src/lib/famix/model/famix/class.ts +85 -85
  144. package/src/lib/famix/model/famix/comment.ts +47 -47
  145. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  146. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  147. package/src/lib/famix/model/famix/decorator.ts +37 -37
  148. package/src/lib/famix/model/famix/entity.ts +15 -15
  149. package/src/lib/famix/model/famix/enum.ts +30 -30
  150. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  151. package/src/lib/famix/model/famix/function.ts +15 -15
  152. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  153. package/src/lib/famix/model/famix/index.ts +41 -41
  154. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  155. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  156. package/src/lib/famix/model/famix/interface.ts +75 -75
  157. package/src/lib/famix/model/famix/invocation.ts +65 -65
  158. package/src/lib/famix/model/famix/method.ts +89 -89
  159. package/src/lib/famix/model/famix/module.ts +71 -71
  160. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  161. package/src/lib/famix/model/famix/parameter.ts +28 -28
  162. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  163. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  164. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  165. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  166. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  167. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  168. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  169. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  170. package/src/lib/famix/model/famix/property.ts +94 -94
  171. package/src/lib/famix/model/famix/reference.ts +40 -40
  172. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  173. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  174. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  175. package/src/lib/famix/model/famix/source_language.ts +35 -35
  176. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  177. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  178. package/src/lib/famix/model/famix/type.ts +87 -87
  179. package/src/lib/famix/model/famix/variable.ts +27 -27
  180. package/src/lib/famix/package.json +28 -28
  181. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  182. package/src/refactorer/refactor-getter-setter.ts +140 -140
  183. package/src/ts2famix-cli-wrapper.ts +21 -21
  184. package/src/ts2famix-cli.ts +60 -60
  185. package/stats.txt +3091 -0
  186. package/tabby-debug-output.txt +19433 -0
  187. package/ts2famix.log +22656 -0
  188. package/tsconfig.check-tests.json +14 -14
  189. package/tsconfig.json +72 -72
  190. package/validate-references.js +103 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParametricClass = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const class_1 = require("./class");
6
+ class ParametricClass extends class_1.Class {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._genericParameters = new Set();
10
+ this._concreteParameters = new Set();
11
+ }
12
+ addGenericParameter(genericParameter) {
13
+ if (!this._genericParameters.has(genericParameter)) {
14
+ this._genericParameters.add(genericParameter);
15
+ genericParameter.parentGeneric = this;
16
+ }
17
+ }
18
+ clearGenericParameters() {
19
+ this._genericParameters.clear();
20
+ }
21
+ addConcreteParameter(concreteParameter) {
22
+ if (!this._concreteParameters.has(concreteParameter)) {
23
+ this._concreteParameters.add(concreteParameter);
24
+ }
25
+ }
26
+ getJSON() {
27
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricClass", this);
28
+ this.addPropertiesToExporter(json);
29
+ return json.getJSON();
30
+ }
31
+ addPropertiesToExporter(exporter) {
32
+ super.addPropertiesToExporter(exporter);
33
+ exporter.addProperty("genericParameters", this.genericParameters);
34
+ exporter.addProperty("concreteParameters", this.concreteParameters);
35
+ }
36
+ get genericParameters() {
37
+ return this._genericParameters;
38
+ }
39
+ get concreteParameters() {
40
+ return this._concreteParameters;
41
+ }
42
+ }
43
+ exports.ParametricClass = ParametricClass;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3BhcmFtZXRyaWNfY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUVBQThEO0FBQzlELG1DQUFnQztBQUloQyxNQUFhLGVBQWdCLFNBQVEsYUFBSztJQUExQzs7UUFFWSx1QkFBa0IsR0FBdUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQWFuRCx3QkFBbUIsR0FBMkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTJCcEYsQ0FBQztJQXRDVSxtQkFBbUIsQ0FBQyxnQkFBK0I7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5QyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBSU0sb0JBQW9CLENBQUMsaUJBQW9EO1FBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBMUNELDBDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gXCIuL3BhcmFtZXRlcl90eXBlXCI7XHJcbmltcG9ydCB7IFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiLi9wcmltaXRpdmVfdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRyaWNDbGFzcyBleHRlbmRzIENsYXNzIHtcclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmljUGFyYW1ldGVyczogU2V0PFBhcmFtZXRlclR5cGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRHZW5lcmljUGFyYW1ldGVyKGdlbmVyaWNQYXJhbWV0ZXI6IFBhcmFtZXRlclR5cGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2dlbmVyaWNQYXJhbWV0ZXJzLmhhcyhnZW5lcmljUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5hZGQoZ2VuZXJpY1BhcmFtZXRlcik7XHJcbiAgICAgICAgICAgIGdlbmVyaWNQYXJhbWV0ZXIucGFyZW50R2VuZXJpYyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyR2VuZXJpY1BhcmFtZXRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNDbGFzc1wiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY1BhcmFtZXRlcnNcIiwgdGhpcy5nZW5lcmljUGFyYW1ldGVycyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZVBhcmFtZXRlcnNcIiwgdGhpcy5jb25jcmV0ZVBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBnZW5lcmljUGFyYW1ldGVycygpOiBTZXQ8UGFyYW1ldGVyVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZW5lcmljUGFyYW1ldGVycztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParametricFunction = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const function_1 = require("./function");
6
+ class ParametricFunction extends function_1.Function {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._concreteParameters = new Set();
10
+ }
11
+ addConcreteParameter(concreteParameter) {
12
+ if (!this._concreteParameters.has(concreteParameter)) {
13
+ this._concreteParameters.add(concreteParameter);
14
+ }
15
+ }
16
+ getJSON() {
17
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricFunction", this);
18
+ this.addPropertiesToExporter(json);
19
+ return json.getJSON();
20
+ }
21
+ addPropertiesToExporter(exporter) {
22
+ super.addPropertiesToExporter(exporter);
23
+ exporter.addProperty("genericParameters", this.genericParameters);
24
+ exporter.addProperty("concreteParameters", this.concreteParameters);
25
+ }
26
+ get concreteParameters() {
27
+ return this._concreteParameters;
28
+ }
29
+ }
30
+ exports.ParametricFunction = ParametricFunction;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3BhcmFtZXRyaWNfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBRTlELHlDQUFzQztBQUl0QyxNQUFhLGtCQUFtQixTQUFRLG1CQUFRO0lBQWhEOztRQUVZLHdCQUFtQixHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJwRixDQUFDO0lBckJVLG9CQUFvQixDQUFDLGlCQUFvRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBekJELGdEQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xyXG5pbXBvcnQgeyBGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljRnVuY3Rpb24gZXh0ZW5kcyBGdW5jdGlvbiB7XHJcblxyXG4gICAgcHJpdmF0ZSBfY29uY3JldGVQYXJhbWV0ZXJzOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkQ29uY3JldGVQYXJhbWV0ZXIoY29uY3JldGVQYXJhbWV0ZXI6IFByaW1pdGl2ZVR5cGUgfCBDbGFzcyB8IEludGVyZmFjZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmhhcyhjb25jcmV0ZVBhcmFtZXRlcikpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmFkZChjb25jcmV0ZVBhcmFtZXRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJQYXJhbWV0cmljRnVuY3Rpb25cIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParametricInterface = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const interface_1 = require("./interface");
6
+ class ParametricInterface extends interface_1.Interface {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._genericParameters = new Set();
10
+ this._concreteParameters = new Set();
11
+ }
12
+ addGenericParameter(genericParameter) {
13
+ if (!this._genericParameters.has(genericParameter)) {
14
+ this._genericParameters.add(genericParameter);
15
+ genericParameter.parentGeneric = this;
16
+ }
17
+ }
18
+ clearGenericParameters() {
19
+ this._genericParameters.clear();
20
+ }
21
+ addConcreteParameter(concreteParameter) {
22
+ if (!this._concreteParameters.has(concreteParameter)) {
23
+ this._concreteParameters.add(concreteParameter);
24
+ }
25
+ }
26
+ getJSON() {
27
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricInterface", this);
28
+ this.addPropertiesToExporter(json);
29
+ return json.getJSON();
30
+ }
31
+ addPropertiesToExporter(exporter) {
32
+ super.addPropertiesToExporter(exporter);
33
+ exporter.addProperty("genericParameters", this.genericParameters);
34
+ exporter.addProperty("concreteParameters", this.concreteParameters);
35
+ }
36
+ get genericParameters() {
37
+ return this._genericParameters;
38
+ }
39
+ get concreteParameters() {
40
+ return this._concreteParameters;
41
+ }
42
+ }
43
+ exports.ParametricInterface = ParametricInterface;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0cmljX2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQsMkNBQXdDO0FBSXhDLE1BQWEsbUJBQW9CLFNBQVEscUJBQVM7SUFBbEQ7O1FBRVksdUJBQWtCLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7UUFhbkQsd0JBQW1CLEdBQTJDLElBQUksR0FBRyxFQUFFLENBQUM7SUEyQnBGLENBQUM7SUF0Q1UsbUJBQW1CLENBQUMsZ0JBQStCO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUlNLG9CQUFvQixDQUFDLGlCQUFvRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQTFDRCxrREEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tIFwiLi9wYXJhbWV0ZXJfdHlwZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljSW50ZXJmYWNlIGV4dGVuZHMgSW50ZXJmYWNlIHtcclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmljUGFyYW1ldGVyczogU2V0PFBhcmFtZXRlclR5cGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRHZW5lcmljUGFyYW1ldGVyKGdlbmVyaWNQYXJhbWV0ZXI6IFBhcmFtZXRlclR5cGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2dlbmVyaWNQYXJhbWV0ZXJzLmhhcyhnZW5lcmljUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5hZGQoZ2VuZXJpY1BhcmFtZXRlcik7XHJcbiAgICAgICAgICAgIGdlbmVyaWNQYXJhbWV0ZXIucGFyZW50R2VuZXJpYyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyR2VuZXJpY1BhcmFtZXRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNJbnRlcmZhY2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2VuZXJpY1BhcmFtZXRlcnMoKTogU2V0PFBhcmFtZXRlclR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbmNyZXRlUGFyYW1ldGVycygpOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmNyZXRlUGFyYW1ldGVycztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParametricMethod = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const method_1 = require("./method");
6
+ class ParametricMethod extends method_1.Method {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._concreteParameters = new Set();
10
+ }
11
+ addConcreteParameter(concreteParameter) {
12
+ if (!this._concreteParameters.has(concreteParameter)) {
13
+ this._concreteParameters.add(concreteParameter);
14
+ }
15
+ }
16
+ getJSON() {
17
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricMethod", this);
18
+ this.addPropertiesToExporter(json);
19
+ return json.getJSON();
20
+ }
21
+ addPropertiesToExporter(exporter) {
22
+ super.addPropertiesToExporter(exporter);
23
+ exporter.addProperty("genericParameters", this.genericParameters);
24
+ exporter.addProperty("concreteParameters", this.concreteParameters);
25
+ }
26
+ get concreteParameters() {
27
+ return this._concreteParameters;
28
+ }
29
+ }
30
+ exports.ParametricMethod = ParametricMethod;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0cmljX21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQscUNBQWtDO0FBR2xDLE1BQWEsZ0JBQWlCLFNBQVEsZUFBTTtJQUE1Qzs7UUFFWSx3QkFBbUIsR0FBMkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXVCcEYsQ0FBQztJQXJCVSxvQkFBb0IsQ0FBQyxpQkFBb0Q7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQXpCRCw0Q0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IE1ldGhvZCB9IGZyb20gXCIuL21ldGhvZFwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljTWV0aG9kIGV4dGVuZHMgTWV0aG9kIHtcclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNNZXRob2RcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,17 @@
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;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlX3R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wcmltaXRpdmVfdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRTlCLE1BQWEsYUFBYyxTQUFRLFdBQUk7SUFFNUIsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0o7QUFYRCxzQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVUeXBlIGV4dGVuZHMgVHlwZSB7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlByaW1pdGl2ZVR5cGVcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,73 @@
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._isClassSide = false;
10
+ this._readOnly = false;
11
+ this._visibility = "";
12
+ }
13
+ get readOnly() {
14
+ return this._readOnly;
15
+ }
16
+ set readOnly(value) {
17
+ this._readOnly = value;
18
+ }
19
+ get isDefinitelyAssigned() {
20
+ return this._isDefinitelyAssigned;
21
+ }
22
+ set isDefinitelyAssigned(value) {
23
+ this._isDefinitelyAssigned = value;
24
+ }
25
+ get isOptional() {
26
+ return this._isOptional;
27
+ }
28
+ set isOptional(value) {
29
+ this._isOptional = value;
30
+ }
31
+ get isJavaScriptPrivate() {
32
+ return this._isJavaScriptPrivate;
33
+ }
34
+ set isJavaScriptPrivate(value) {
35
+ this._isJavaScriptPrivate = value;
36
+ }
37
+ get visibility() {
38
+ return this._visibility;
39
+ }
40
+ set visibility(value) {
41
+ this._visibility = value;
42
+ }
43
+ getJSON() {
44
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Property", this);
45
+ this.addPropertiesToExporter(json);
46
+ return json.getJSON();
47
+ }
48
+ addPropertiesToExporter(exporter) {
49
+ super.addPropertiesToExporter(exporter);
50
+ exporter.addProperty("readOnly", this.readOnly);
51
+ exporter.addProperty("isClassSide", this.isClassSide);
52
+ exporter.addProperty("parentType", this.parentEntity);
53
+ exporter.addProperty("visibility", this.visibility);
54
+ exporter.addProperty("isDefinitelyAssigned", this.isDefinitelyAssigned);
55
+ exporter.addProperty("isOptional", this.isOptional);
56
+ exporter.addProperty("isJavaScriptPrivate", this.isJavaScriptPrivate);
57
+ }
58
+ get isClassSide() {
59
+ return this._isClassSide;
60
+ }
61
+ set isClassSide(isClassSide) {
62
+ this._isClassSide = isClassSide;
63
+ }
64
+ get parentEntity() {
65
+ return this._parentEntity;
66
+ }
67
+ set parentEntity(parentEntity) {
68
+ this._parentEntity = parentEntity;
69
+ parentEntity.addProperty(this);
70
+ }
71
+ }
72
+ exports.Property = Property;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsMkRBQXVEO0FBSXZELE1BQWEsUUFBUyxTQUFRLG9DQUFnQjtJQUE5Qzs7UUFFWSxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBd0MzQixnQkFBVyxHQUFvQixFQUFFLENBQUM7SUFtQzlDLENBQUM7SUFsRkcsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUFXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxvQkFBb0IsQ0FBQyxLQUFjO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLG1CQUFtQixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBT0QsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxVQUFVLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUlNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBb0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBK0I7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF0RkQsNEJBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gXCIuL2NsYXNzXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFZpc2liaWxpdHlUeXBlcyA9IFwicHVibGljXCIgfCBcInByaXZhdGVcIiB8IFwicHJvdGVjdGVkXCIgfCBcIlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgU3RydWN0dXJhbEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNDbGFzc1NpZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkT25seTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9wYXJlbnRFbnRpdHkhOiBDbGFzcyB8IEludGVyZmFjZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzRGVmaW5pdGVseUFzc2lnbmVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0RlZmluaXRlbHlBc3NpZ25lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzRGVmaW5pdGVseUFzc2lnbmVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNEZWZpbml0ZWx5QXNzaWduZWQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzT3B0aW9uYWwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3B0aW9uYWw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc09wdGlvbmFsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPcHRpb25hbCA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNKYXZhU2NyaXB0UHJpdmF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNKYXZhU2NyaXB0UHJpdmF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzSmF2YVNjcmlwdFByaXZhdGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0phdmFTY3JpcHRQcml2YXRlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pc0RlZmluaXRlbHlBc3NpZ25lZCE6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNPcHRpb25hbCE6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNKYXZhU2NyaXB0UHJpdmF0ZSE6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCB2aXNpYmlsaXR5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmlsaXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgdmlzaWJpbGl0eSh2YWx1ZTogVmlzaWJpbGl0eVR5cGVzKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJpbGl0eSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Zpc2liaWxpdHk6IFZpc2liaWxpdHlUeXBlcyA9IFwiXCI7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlByb3BlcnR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJyZWFkT25seVwiLCB0aGlzLnJlYWRPbmx5KTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzQ2xhc3NTaWRlXCIsIHRoaXMuaXNDbGFzc1NpZGUpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicGFyZW50VHlwZVwiLCB0aGlzLnBhcmVudEVudGl0eSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ2aXNpYmlsaXR5XCIsIHRoaXMudmlzaWJpbGl0eSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc0RlZmluaXRlbHlBc3NpZ25lZFwiLCB0aGlzLmlzRGVmaW5pdGVseUFzc2lnbmVkKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzT3B0aW9uYWxcIiwgdGhpcy5pc09wdGlvbmFsKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzSmF2YVNjcmlwdFByaXZhdGVcIiwgdGhpcy5pc0phdmFTY3JpcHRQcml2YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNDbGFzc1NpZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQ2xhc3NTaWRlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc0NsYXNzU2lkZShpc0NsYXNzU2lkZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzQ2xhc3NTaWRlID0gaXNDbGFzc1NpZGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmVudEVudGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50RW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRFbnRpdHkocGFyZW50RW50aXR5OiBDbGFzcyB8IEludGVyZmFjZSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudEVudGl0eSA9IHBhcmVudEVudGl0eTtcclxuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkUHJvcGVydHkodGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,33 @@
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 entity_1 = require("./entity");
6
+ class Reference extends entity_1.Entity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Reference", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("source", this.source);
15
+ exporter.addProperty("target", this.target);
16
+ }
17
+ get source() {
18
+ return this._source;
19
+ }
20
+ set source(source) {
21
+ this._source = source;
22
+ source.addOutgoingReference(this);
23
+ }
24
+ get target() {
25
+ return this._target;
26
+ }
27
+ set target(target) {
28
+ this._target = target;
29
+ target.addIncomingReference(this);
30
+ }
31
+ }
32
+ exports.Reference = Reference;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvcmVmZXJlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUc5RCxxQ0FBa0M7QUFFbEMsTUFBYSxTQUFVLFNBQVEsZUFBTTtJQUsxQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBdUI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQVk7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDSjtBQWxDRCw4QkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckVudGl0eSB9IGZyb20gXCIuL2NvbnRhaW5lcl9lbnRpdHlcIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlIGV4dGVuZHMgRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9zb3VyY2UhOiBDb250YWluZXJFbnRpdHk7XHJcbiAgICBwcml2YXRlIF90YXJnZXQhOiBUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJSZWZlcmVuY2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNvdXJjZVwiLCB0aGlzLnNvdXJjZSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ0YXJnZXRcIiwgdGhpcy50YXJnZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzb3VyY2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc291cmNlKHNvdXJjZTogQ29udGFpbmVyRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fc291cmNlID0gc291cmNlO1xyXG4gICAgICAgIHNvdXJjZS5hZGRPdXRnb2luZ1JlZmVyZW5jZSh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdGFyZ2V0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHRhcmdldCh0YXJnZXQ6IFR5cGUpIHtcclxuICAgICAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXQ7XHJcbiAgICAgICAgdGFyZ2V0LmFkZEluY29taW5nUmVmZXJlbmNlKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,36 @@
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._modules = new Set();
11
+ }
12
+ addModule(childModule) {
13
+ if (!this._modules.has(childModule)) {
14
+ analyze_1.logger.debug("Adding module " + childModule.name + " to " + this.name);
15
+ this._modules.add(childModule);
16
+ childModule.parentScope = this;
17
+ }
18
+ else {
19
+ analyze_1.logger.debug("Module " + childModule.name + " already added to " + this.name);
20
+ }
21
+ }
22
+ getJSON() {
23
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ScopingEntity", this);
24
+ this.addPropertiesToExporter(json);
25
+ return json.getJSON();
26
+ }
27
+ addPropertiesToExporter(exporter) {
28
+ super.addPropertiesToExporter(exporter);
29
+ // exporter.addProperty("namespaces", this.getModules());
30
+ }
31
+ get modules() {
32
+ return this._modules;
33
+ }
34
+ }
35
+ exports.ScopingEntity = ScopingEntity;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGluZ19lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zY29waW5nX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQseURBQXFEO0FBQ3JELG9EQUFnRDtBQUdoRCxNQUFhLGFBQWMsU0FBUSxrQ0FBZTtJQUFsRDs7UUFFWSxhQUFRLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUEyQjlDLENBQUM7SUF6QlUsU0FBUyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixXQUFXLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNKLGdCQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixDQUFDO0lBQ0wsQ0FBQztJQUdNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsNERBQTREO0lBQ2hFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBN0JELHNDQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vYW5hbHl6ZVwiO1xyXG5pbXBvcnQgeyBNb2R1bGUgfSBmcm9tIFwiLi9tb2R1bGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTY29waW5nRW50aXR5IGV4dGVuZHMgQ29udGFpbmVyRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9tb2R1bGVzOiBTZXQ8TW9kdWxlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkTW9kdWxlKGNoaWxkTW9kdWxlOiBNb2R1bGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX21vZHVsZXMuaGFzKGNoaWxkTW9kdWxlKSkge1xyXG4gICAgICAgICAgICBsb2dnZXIuZGVidWcoXCJBZGRpbmcgbW9kdWxlIFwiICsgY2hpbGRNb2R1bGUubmFtZSArIFwiIHRvIFwiICsgdGhpcy5uYW1lKTtcclxuICAgICAgICAgICAgdGhpcy5fbW9kdWxlcy5hZGQoY2hpbGRNb2R1bGUpO1xyXG4gICAgICAgICAgICBjaGlsZE1vZHVsZS5wYXJlbnRTY29wZSA9IHRoaXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKFwiTW9kdWxlIFwiICsgY2hpbGRNb2R1bGUubmFtZSArIFwiIGFscmVhZHkgYWRkZWQgdG8gXCIgKyB0aGlzLm5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNjb3BpbmdFbnRpdHlcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm5hbWVzcGFjZXNcIiwgdGhpcy5nZXRNb2R1bGVzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBtb2R1bGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tb2R1bGVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
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
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ScriptEntity", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ }
15
+ get numberOfLinesOfText() {
16
+ return this._numberOfLinesOfText;
17
+ }
18
+ set numberOfLinesOfText(numberOfLinesOfText) {
19
+ this._numberOfLinesOfText = numberOfLinesOfText;
20
+ }
21
+ get numberOfCharacters() {
22
+ return this._numberOfCharacters;
23
+ }
24
+ set numberOfCharacters(numberOfCharacters) {
25
+ this._numberOfCharacters = numberOfCharacters;
26
+ }
27
+ }
28
+ exports.ScriptEntity = ScriptEntity;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0X2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3NjcmlwdF9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELHFEQUFpRDtBQUVqRCxNQUFhLFlBQWEsU0FBUSw4QkFBYTtJQUtwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBMEI7UUFDN0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0lBQ2xELENBQUM7Q0FDSjtBQTlCRCxvQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNjb3BpbmdFbnRpdHkgfSBmcm9tIFwiLi9zY29waW5nX2VudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmlwdEVudGl0eSBleHRlbmRzIFNjb3BpbmdFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX251bWJlck9mTGluZXNPZlRleHQhOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9udW1iZXJPZkNoYXJhY3RlcnMhOiBudW1iZXI7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNjcmlwdEVudGl0eVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBudW1iZXJPZkxpbmVzT2ZUZXh0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJPZkxpbmVzT2ZUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBudW1iZXJPZkxpbmVzT2ZUZXh0KG51bWJlck9mTGluZXNPZlRleHQ6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX251bWJlck9mTGluZXNPZlRleHQgPSBudW1iZXJPZkxpbmVzT2ZUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBudW1iZXJPZkNoYXJhY3RlcnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mQ2hhcmFjdGVycztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbnVtYmVyT2ZDaGFyYWN0ZXJzKG51bWJlck9mQ2hhcmFjdGVyczogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fbnVtYmVyT2ZDaGFyYWN0ZXJzID0gbnVtYmVyT2ZDaGFyYWN0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
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
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("SourceAnchor", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("element", this.element);
15
+ }
16
+ get element() {
17
+ return this._element;
18
+ }
19
+ set element(element) {
20
+ if (this._element === undefined) {
21
+ this._element = element;
22
+ element.sourceAnchor = this;
23
+ }
24
+ }
25
+ }
26
+ exports.SourceAnchor = SourceAnchor;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2FuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3NvdXJjZV9hbmNob3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELHFDQUFrQztBQUdsQyxNQUFhLFlBQWEsU0FBUSxlQUFNO0lBSTdCLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUN4QixPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBekJELG9DQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcbmltcG9ydCB7IFNvdXJjZWRFbnRpdHkgfSBmcm9tIFwiLi9zb3VyY2VkX2VudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNvdXJjZUFuY2hvciBleHRlbmRzIEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudCE6IFNvdXJjZWRFbnRpdHk7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNvdXJjZUFuY2hvclwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZWxlbWVudFwiLCB0aGlzLmVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBlbGVtZW50KGVsZW1lbnQ6IFNvdXJjZWRFbnRpdHkpIHtcclxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xyXG4gICAgICAgICAgICBlbGVtZW50LnNvdXJjZUFuY2hvciA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceLanguage = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class SourceLanguage extends entity_1.Entity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._sourcedEntities = new Set();
10
+ }
11
+ // name of the source language
12
+ get name() {
13
+ return "TypeScript";
14
+ }
15
+ addSourcedEntity(sourcedEntity) {
16
+ if (!this._sourcedEntities.has(sourcedEntity)) {
17
+ this._sourcedEntities.add(sourcedEntity);
18
+ sourcedEntity.declaredSourceLanguage = this;
19
+ }
20
+ }
21
+ getJSON() {
22
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("SourceLanguage", this);
23
+ this.addPropertiesToExporter(json);
24
+ return json.getJSON();
25
+ }
26
+ addPropertiesToExporter(exporter) {
27
+ super.addPropertiesToExporter(exporter);
28
+ exporter.addProperty("sourcedEntities", this.sourcedEntities);
29
+ }
30
+ get sourcedEntities() {
31
+ return this._sourcedEntities;
32
+ }
33
+ }
34
+ exports.SourceLanguage = SourceLanguage;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2xhbmd1YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvc291cmNlX2xhbmd1YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFHbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUExQzs7UUFFWSxxQkFBZ0IsR0FBdUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTRCN0QsQ0FBQztJQTFCRyw4QkFBOEI7SUFDOUIsSUFBSSxJQUFJO1FBQ0osT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGFBQTRCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUE5QkQsd0NBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcclxuaW1wb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU291cmNlTGFuZ3VhZ2UgZXh0ZW5kcyBFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3NvdXJjZWRFbnRpdGllczogU2V0PFNvdXJjZWRFbnRpdHk+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIC8vIG5hbWUgb2YgdGhlIHNvdXJjZSBsYW5ndWFnZVxyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gXCJUeXBlU2NyaXB0XCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFNvdXJjZWRFbnRpdHkoc291cmNlZEVudGl0eTogU291cmNlZEVudGl0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fc291cmNlZEVudGl0aWVzLmhhcyhzb3VyY2VkRW50aXR5KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2VkRW50aXRpZXMuYWRkKHNvdXJjZWRFbnRpdHkpO1xyXG4gICAgICAgICAgICBzb3VyY2VkRW50aXR5LmRlY2xhcmVkU291cmNlTGFuZ3VhZ2UgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiU291cmNlTGFuZ3VhZ2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNvdXJjZWRFbnRpdGllc1wiLCB0aGlzLnNvdXJjZWRFbnRpdGllcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNvdXJjZWRFbnRpdGllcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlZEVudGl0aWVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourcedEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ const analyze_1 = require("../../../../../analyze");
7
+ class SourcedEntity extends entity_1.Entity {
8
+ constructor() {
9
+ super(...arguments);
10
+ this._comments = new Set();
11
+ }
12
+ addComment(comment) {
13
+ if (!this._comments.has(comment)) {
14
+ this._comments.add(comment);
15
+ comment.container = this;
16
+ }
17
+ else {
18
+ analyze_1.logger.debug("Adding comment that is already in comments: " + comment.getJSON() + " to " + this.getJSON());
19
+ }
20
+ }
21
+ getJSON() {
22
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("SourcedEntity", this);
23
+ this.addPropertiesToExporter(json);
24
+ return json.getJSON();
25
+ }
26
+ addPropertiesToExporter(exporter) {
27
+ super.addPropertiesToExporter(exporter);
28
+ exporter.addProperty("isStub", this.isStub);
29
+ exporter.addProperty("sourceAnchor", this.sourceAnchor);
30
+ exporter.addProperty("comments", this.comments);
31
+ exporter.addProperty("declaredSourceLanguage", this.declaredSourceLanguage);
32
+ }
33
+ get isStub() {
34
+ return this._isStub;
35
+ }
36
+ set isStub(isStub) {
37
+ this._isStub = isStub;
38
+ }
39
+ get sourceAnchor() {
40
+ return this._sourceAnchor;
41
+ }
42
+ set sourceAnchor(sourceAnchor) {
43
+ if (this._sourceAnchor === undefined) {
44
+ this._sourceAnchor = sourceAnchor;
45
+ sourceAnchor.element = this;
46
+ }
47
+ }
48
+ get comments() {
49
+ return this._comments;
50
+ }
51
+ get declaredSourceLanguage() {
52
+ return this._declaredSourceLanguage;
53
+ }
54
+ set declaredSourceLanguage(declaredSourceLanguage) {
55
+ this._declaredSourceLanguage = declaredSourceLanguage;
56
+ declaredSourceLanguage.addSourcedEntity(this);
57
+ }
58
+ }
59
+ exports.SourcedEntity = SourcedEntity;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlZF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zb3VyY2VkX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQscUNBQWtDO0FBR2xDLG9EQUFnRDtBQUVoRCxNQUFhLGFBQWMsU0FBUSxlQUFNO0lBQXpDOztRQUlZLGNBQVMsR0FBaUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBEaEQsQ0FBQztJQXhEVSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDSixnQkFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7SUFDTCxDQUFDO0lBSU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1lBQ2xDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsQ0FBQyxzQkFBc0M7UUFDN0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO1FBQ3RELHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSjtBQTlERCxzQ0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZUxhbmd1YWdlIH0gZnJvbSBcIi4vc291cmNlX2xhbmd1YWdlXCI7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xyXG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSBcIi4vY29tbWVudFwiO1xyXG5pbXBvcnQgeyBTb3VyY2VBbmNob3IgfSBmcm9tIFwiLi9zb3VyY2VfYW5jaG9yXCI7XHJcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9hbmFseXplXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU291cmNlZEVudGl0eSBleHRlbmRzIEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNTdHViITogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX3NvdXJjZUFuY2hvciE6IFNvdXJjZUFuY2hvcjtcclxuICAgIHByaXZhdGUgX2NvbW1lbnRzOiBTZXQ8Q29tbWVudD4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZENvbW1lbnQoY29tbWVudDogQ29tbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29tbWVudHMuaGFzKGNvbW1lbnQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1lbnRzLmFkZChjb21tZW50KTtcclxuICAgICAgICAgICAgY29tbWVudC5jb250YWluZXIgPSB0aGlzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhcIkFkZGluZyBjb21tZW50IHRoYXQgaXMgYWxyZWFkeSBpbiBjb21tZW50czogXCIgKyBjb21tZW50LmdldEpTT04oKSArIFwiIHRvIFwiICsgdGhpcy5nZXRKU09OKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWNsYXJlZFNvdXJjZUxhbmd1YWdlITogU291cmNlTGFuZ3VhZ2U7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNvdXJjZWRFbnRpdHlcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzU3R1YlwiLCB0aGlzLmlzU3R1Yik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzb3VyY2VBbmNob3JcIiwgdGhpcy5zb3VyY2VBbmNob3IpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29tbWVudHNcIiwgdGhpcy5jb21tZW50cyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNsYXJlZFNvdXJjZUxhbmd1YWdlXCIsIHRoaXMuZGVjbGFyZWRTb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzU3R1YigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNTdHViO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc1N0dWIoaXNTdHViOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNTdHViID0gaXNTdHViO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzb3VyY2VBbmNob3IoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUFuY2hvcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc291cmNlQW5jaG9yKHNvdXJjZUFuY2hvcjogU291cmNlQW5jaG9yKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvdXJjZUFuY2hvciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZUFuY2hvciA9IHNvdXJjZUFuY2hvcjtcclxuICAgICAgICAgICAgc291cmNlQW5jaG9yLmVsZW1lbnQgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tbWVudHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbW1lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWNsYXJlZFNvdXJjZUxhbmd1YWdlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kZWNsYXJlZFNvdXJjZUxhbmd1YWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBkZWNsYXJlZFNvdXJjZUxhbmd1YWdlKGRlY2xhcmVkU291cmNlTGFuZ3VhZ2U6IFNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgICAgdGhpcy5fZGVjbGFyZWRTb3VyY2VMYW5ndWFnZSA9IGRlY2xhcmVkU291cmNlTGFuZ3VhZ2U7XHJcbiAgICAgICAgZGVjbGFyZWRTb3VyY2VMYW5ndWFnZS5hZGRTb3VyY2VkRW50aXR5KHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StructuralEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const named_entity_1 = require("./named_entity");
6
+ class StructuralEntity extends named_entity_1.NamedEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._incomingAccesses = new Set();
10
+ }
11
+ addIncomingAccess(incomingAccess) {
12
+ if (!this._incomingAccesses.has(incomingAccess)) {
13
+ this._incomingAccesses.add(incomingAccess);
14
+ incomingAccess.variable = this;
15
+ }
16
+ }
17
+ getJSON() {
18
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("StructuralEntity", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+ addPropertiesToExporter(exporter) {
23
+ super.addPropertiesToExporter(exporter);
24
+ exporter.addProperty("incomingAccesses", this.incomingAccesses);
25
+ exporter.addProperty("declaredType", this.declaredType);
26
+ }
27
+ get incomingAccesses() {
28
+ return this._incomingAccesses;
29
+ }
30
+ get declaredType() {
31
+ return this._declaredType;
32
+ }
33
+ set declaredType(declaredType) {
34
+ this._declaredType = declaredType;
35
+ declaredType.addStructureWithDeclaredType(this);
36
+ }
37
+ }
38
+ exports.StructuralEntity = StructuralEntity;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJhbF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zdHJ1Y3R1cmFsX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBRTdDLE1BQWEsZ0JBQWlCLFNBQVEsMEJBQVc7SUFBakQ7O1FBRVksc0JBQWlCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFtQ3ZELENBQUM7SUFqQ1UsaUJBQWlCLENBQUMsY0FBc0I7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBSU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNKO0FBckNELDRDQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XHJcbmltcG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU3RydWN0dXJhbEVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9pbmNvbWluZ0FjY2Vzc2VzOiBTZXQ8QWNjZXNzPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkSW5jb21pbmdBY2Nlc3MoaW5jb21pbmdBY2Nlc3M6IEFjY2Vzcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faW5jb21pbmdBY2Nlc3Nlcy5oYXMoaW5jb21pbmdBY2Nlc3MpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luY29taW5nQWNjZXNzZXMuYWRkKGluY29taW5nQWNjZXNzKTtcclxuICAgICAgICAgICAgaW5jb21pbmdBY2Nlc3MudmFyaWFibGUgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWNsYXJlZFR5cGUhOiBUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJTdHJ1Y3R1cmFsRW50aXR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbmNvbWluZ0FjY2Vzc2VzXCIsIHRoaXMuaW5jb21pbmdBY2Nlc3Nlcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNsYXJlZFR5cGVcIiwgdGhpcy5kZWNsYXJlZFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpbmNvbWluZ0FjY2Vzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmNvbWluZ0FjY2Vzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWNsYXJlZFR5cGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY2xhcmVkVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGVjbGFyZWRUeXBlKGRlY2xhcmVkVHlwZTogVHlwZSkge1xyXG4gICAgICAgIHRoaXMuX2RlY2xhcmVkVHlwZSA9IGRlY2xhcmVkVHlwZTtcclxuICAgICAgICBkZWNsYXJlZFR5cGUuYWRkU3RydWN0dXJlV2l0aERlY2xhcmVkVHlwZSh0aGlzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextAnchor = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const source_anchor_1 = require("./source_anchor");
6
+ class TextAnchor extends source_anchor_1.SourceAnchor {
7
+ getStartPos() {
8
+ return this.startPos;
9
+ }
10
+ setStartPos(startPos) {
11
+ this.startPos = startPos;
12
+ }
13
+ getEndPos() {
14
+ return this.endPos;
15
+ }
16
+ setEndPos(endPos) {
17
+ this.endPos = endPos;
18
+ }
19
+ getFileName() {
20
+ return this.fileName;
21
+ }
22
+ setFileName(fileName) {
23
+ this.fileName = fileName;
24
+ }
25
+ getJSON() {
26
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("TextAnchor", this);
27
+ this.addPropertiesToExporter(json);
28
+ return json.getJSON();
29
+ }
30
+ addPropertiesToExporter(exporter) {
31
+ super.addPropertiesToExporter(exporter);
32
+ exporter.addProperty("startPos", this.getStartPos());
33
+ exporter.addProperty("endPos", this.getEndPos());
34
+ exporter.addProperty("fileName", this.getFileName());
35
+ }
36
+ }
37
+ exports.TextAnchor = TextAnchor;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dF9hbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC90ZXh0X2FuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsbURBQStDO0FBRS9DLE1BQWEsVUFBVyxTQUFRLDRCQUFZO0lBSW5DLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUlNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFJTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFHTSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQTdDRCxnQ0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZUFuY2hvciB9IGZyb20gXCIuL3NvdXJjZV9hbmNob3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUZXh0QW5jaG9yIGV4dGVuZHMgU291cmNlQW5jaG9yIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGFydFBvczogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgZ2V0U3RhcnRQb3MoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXJ0UG9zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0YXJ0UG9zKHN0YXJ0UG9zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRQb3MgPSBzdGFydFBvcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW5kUG9zOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBnZXRFbmRQb3MoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmVuZFBvcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmRQb3MoZW5kUG9zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZW5kUG9zID0gZW5kUG9zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxlTmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgZ2V0RmlsZU5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlTmFtZTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJUZXh0QW5jaG9yXCIsIHRoaXMpO1xyXG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3RhcnRQb3NcIiwgdGhpcy5nZXRTdGFydFBvcygpKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW5kUG9zXCIsIHRoaXMuZ2V0RW5kUG9zKCkpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmaWxlTmFtZVwiLCB0aGlzLmdldEZpbGVOYW1lKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=