ts2famix 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +29 -60
  3. package/dist/analyze.js +1 -1
  4. package/dist/analyze_functions/process_functions.js +49 -43
  5. package/dist/famix_functions/EntityDictionary.js +309 -182
  6. package/dist/famix_functions/helpers_creation.js +36 -5
  7. package/dist/fqn.js +76 -114
  8. package/dist/lib/famix/famix_JSON_exporter.js +55 -0
  9. package/dist/lib/famix/famix_base_element.js +18 -0
  10. package/dist/lib/famix/famix_repository.js +224 -0
  11. package/dist/lib/famix/{src/index.js → index.js} +1 -1
  12. package/dist/lib/famix/model/famix/access.js +40 -0
  13. package/dist/lib/famix/model/famix/accessor.js +17 -0
  14. package/dist/lib/famix/model/famix/alias.js +33 -0
  15. package/dist/lib/famix/model/famix/arrow_function.js +17 -0
  16. package/dist/lib/famix/model/famix/behavioral_entity.js +79 -0
  17. package/dist/lib/famix/model/famix/class.js +71 -0
  18. package/dist/lib/famix/model/famix/comment.js +39 -0
  19. package/dist/lib/famix/model/famix/concretisation.js +31 -0
  20. package/dist/lib/famix/model/famix/container_entity.js +126 -0
  21. package/dist/lib/famix/model/famix/decorator.js +32 -0
  22. package/dist/lib/famix/model/famix/entity.js +17 -0
  23. package/dist/lib/famix/model/famix/enum.js +31 -0
  24. package/dist/lib/famix/model/famix/enum_value.js +25 -0
  25. package/dist/lib/famix/model/famix/function.js +17 -0
  26. package/dist/lib/famix/model/famix/import_clause.js +41 -0
  27. package/dist/lib/famix/{src/model → model}/famix/index.js +6 -10
  28. package/dist/lib/famix/model/famix/indexed_file_anchor.js +38 -0
  29. package/dist/lib/famix/model/famix/inheritance.js +33 -0
  30. package/dist/lib/famix/model/famix/interface.js +64 -0
  31. package/dist/lib/famix/model/famix/invocation.js +54 -0
  32. package/dist/lib/famix/model/famix/method.js +67 -0
  33. package/dist/lib/famix/model/famix/module.js +60 -0
  34. package/dist/lib/famix/model/famix/named_entity.js +78 -0
  35. package/dist/lib/famix/model/famix/parameter.js +25 -0
  36. package/dist/lib/famix/model/famix/parameter_concretisation.js +44 -0
  37. package/dist/lib/famix/model/famix/parameter_type.js +45 -0
  38. package/dist/lib/famix/model/famix/parametric_arrow_function.js +31 -0
  39. package/dist/lib/famix/model/famix/parametric_class.js +44 -0
  40. package/dist/lib/famix/model/famix/parametric_function.js +31 -0
  41. package/dist/lib/famix/model/famix/parametric_interface.js +44 -0
  42. package/dist/lib/famix/model/famix/parametric_method.js +31 -0
  43. package/dist/lib/famix/model/famix/primitive_type.js +17 -0
  44. package/dist/lib/famix/model/famix/property.js +73 -0
  45. package/dist/lib/famix/model/famix/reference.js +33 -0
  46. package/dist/lib/famix/model/famix/scoping_entity.js +36 -0
  47. package/dist/lib/famix/model/famix/script_entity.js +29 -0
  48. package/dist/lib/famix/model/famix/source_anchor.js +27 -0
  49. package/dist/lib/famix/model/famix/source_language.js +35 -0
  50. package/dist/lib/famix/model/famix/sourced_entity.js +60 -0
  51. package/dist/lib/famix/model/famix/structural_entity.js +39 -0
  52. package/dist/lib/famix/model/famix/type.js +73 -0
  53. package/dist/lib/famix/model/famix/variable.js +24 -0
  54. package/dist/lib/ts-complex/cyclomatic-service.js +2 -2
  55. package/dist/refactorer/refactor-getter-setter.js +142 -0
  56. package/dist/ts2famix-cli-wrapper.js +29 -3
  57. package/dist/ts2famix-cli.js +1 -1
  58. package/doc-uml/famix-typescript-model.puml +390 -341
  59. package/doc-uml/famix-typescript-model.svg +1 -1
  60. package/package.json +8 -7
  61. package/src/analyze.ts +2 -2
  62. package/src/analyze_functions/process_functions.ts +49 -44
  63. package/src/famix_functions/EntityDictionary.ts +345 -216
  64. package/src/famix_functions/helpers_creation.ts +36 -4
  65. package/src/fqn.ts +76 -125
  66. package/src/lib/famix/famix_JSON_exporter.ts +56 -0
  67. package/src/lib/famix/famix_base_element.ts +22 -0
  68. package/src/lib/famix/famix_repository.ts +243 -0
  69. package/src/lib/famix/model/famix/access.ts +50 -0
  70. package/src/lib/famix/model/famix/alias.ts +39 -0
  71. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -0
  72. package/src/lib/famix/model/famix/class.ts +85 -0
  73. package/src/lib/famix/model/famix/comment.ts +47 -0
  74. package/src/lib/famix/model/famix/concretisation.ts +40 -0
  75. package/src/lib/famix/model/famix/container_entity.ts +160 -0
  76. package/src/lib/famix/model/famix/decorator.ts +37 -0
  77. package/src/lib/famix/model/famix/enum.ts +30 -0
  78. package/src/lib/famix/model/famix/enum_value.ts +28 -0
  79. package/src/lib/famix/model/famix/import_clause.ts +51 -0
  80. package/src/lib/famix/{src/model → model}/famix/index.ts +2 -4
  81. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -0
  82. package/src/lib/famix/model/famix/inheritance.ts +40 -0
  83. package/src/lib/famix/model/famix/interface.ts +75 -0
  84. package/src/lib/famix/model/famix/invocation.ts +65 -0
  85. package/src/lib/famix/model/famix/method.ts +89 -0
  86. package/src/lib/famix/model/famix/module.ts +71 -0
  87. package/src/lib/famix/model/famix/named_entity.ts +95 -0
  88. package/src/lib/famix/{src/model → model}/famix/parameter.ts +11 -12
  89. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -0
  90. package/src/lib/famix/model/famix/parameter_type.ts +58 -0
  91. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -0
  92. package/src/lib/famix/model/famix/parametric_class.ts +49 -0
  93. package/src/lib/famix/model/famix/parametric_function.ts +32 -0
  94. package/src/lib/famix/model/famix/parametric_interface.ts +49 -0
  95. package/src/lib/famix/model/famix/parametric_method.ts +32 -0
  96. package/src/lib/famix/model/famix/primitive_type.ts +15 -0
  97. package/src/lib/famix/model/famix/property.ts +94 -0
  98. package/src/lib/famix/model/famix/reference.ts +40 -0
  99. package/src/lib/famix/model/famix/scoping_entity.ts +35 -0
  100. package/src/lib/famix/model/famix/script_entity.ts +34 -0
  101. package/src/lib/famix/model/famix/source_anchor.ts +30 -0
  102. package/src/lib/famix/model/famix/source_language.ts +35 -0
  103. package/src/lib/famix/model/famix/sourced_entity.ts +70 -0
  104. package/src/lib/famix/model/famix/structural_entity.ts +43 -0
  105. package/src/lib/famix/model/famix/type.ts +87 -0
  106. package/src/lib/famix/model/famix/variable.ts +27 -0
  107. package/src/lib/famix/package.json +1 -1
  108. package/src/lib/ts-complex/cyclomatic-service.ts +10 -10
  109. package/src/refactorer/refactor-getter-setter.ts +140 -0
  110. package/src/ts2famix-cli-wrapper.ts +6 -2
  111. package/src/ts2famix-cli.ts +1 -1
  112. package/tsconfig.check-tests.json +14 -0
  113. package/tsconfig.json +70 -68
  114. package/dist/famix2puml.js +0 -126
  115. package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
  116. package/dist/lib/famix/src/famix_base_element.js +0 -18
  117. package/dist/lib/famix/src/famix_repository.js +0 -223
  118. package/dist/lib/famix/src/model/famix/access.js +0 -40
  119. package/dist/lib/famix/src/model/famix/accessor.js +0 -17
  120. package/dist/lib/famix/src/model/famix/alias.js +0 -33
  121. package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
  122. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
  123. package/dist/lib/famix/src/model/famix/class.js +0 -71
  124. package/dist/lib/famix/src/model/famix/comment.js +0 -39
  125. package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
  126. package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
  127. package/dist/lib/famix/src/model/famix/decorator.js +0 -32
  128. package/dist/lib/famix/src/model/famix/entity.js +0 -17
  129. package/dist/lib/famix/src/model/famix/enum.js +0 -31
  130. package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
  131. package/dist/lib/famix/src/model/famix/function.js +0 -17
  132. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
  133. package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
  134. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -52
  135. package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
  136. package/dist/lib/famix/src/model/famix/interface.js +0 -64
  137. package/dist/lib/famix/src/model/famix/invocation.js +0 -54
  138. package/dist/lib/famix/src/model/famix/method.js +0 -67
  139. package/dist/lib/famix/src/model/famix/module.js +0 -84
  140. package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
  141. package/dist/lib/famix/src/model/famix/parameter.js +0 -25
  142. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
  143. package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
  144. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
  145. package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
  146. package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
  147. package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
  148. package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
  149. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
  150. package/dist/lib/famix/src/model/famix/property.js +0 -126
  151. package/dist/lib/famix/src/model/famix/reference.js +0 -33
  152. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -37
  153. package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
  154. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
  155. package/dist/lib/famix/src/model/famix/source_language.js +0 -35
  156. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
  157. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
  158. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
  159. package/dist/lib/famix/src/model/famix/type.js +0 -73
  160. package/dist/lib/famix/src/model/famix/variable.js +0 -24
  161. package/jest.config-old.ts +0 -199
  162. package/src/famix2puml.ts +0 -119
  163. package/src/lib/famix/package-lock.json +0 -301
  164. package/src/lib/famix/readme.md +0 -5
  165. package/src/lib/famix/src/famix_JSON_exporter.ts +0 -56
  166. package/src/lib/famix/src/famix_base_element.ts +0 -22
  167. package/src/lib/famix/src/famix_repository.ts +0 -243
  168. package/src/lib/famix/src/model/famix/access.ts +0 -53
  169. package/src/lib/famix/src/model/famix/alias.ts +0 -41
  170. package/src/lib/famix/src/model/famix/behavioral_entity.ts +0 -100
  171. package/src/lib/famix/src/model/famix/class.ts +0 -86
  172. package/src/lib/famix/src/model/famix/comment.ts +0 -50
  173. package/src/lib/famix/src/model/famix/concretisation.ts +0 -42
  174. package/src/lib/famix/src/model/famix/container_entity.ts +0 -165
  175. package/src/lib/famix/src/model/famix/decorator.ts +0 -39
  176. package/src/lib/famix/src/model/famix/enum.ts +0 -31
  177. package/src/lib/famix/src/model/famix/enum_value.ts +0 -29
  178. package/src/lib/famix/src/model/famix/implicit_variable.ts +0 -15
  179. package/src/lib/famix/src/model/famix/import_clause.ts +0 -54
  180. package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +0 -71
  181. package/src/lib/famix/src/model/famix/inheritance.ts +0 -41
  182. package/src/lib/famix/src/model/famix/interface.ts +0 -75
  183. package/src/lib/famix/src/model/famix/invocation.ts +0 -68
  184. package/src/lib/famix/src/model/famix/method.ts +0 -96
  185. package/src/lib/famix/src/model/famix/module.ts +0 -97
  186. package/src/lib/famix/src/model/famix/named_entity.ts +0 -98
  187. package/src/lib/famix/src/model/famix/parameterConcretisation.ts +0 -54
  188. package/src/lib/famix/src/model/famix/parameter_type.ts +0 -60
  189. package/src/lib/famix/src/model/famix/parametric_arrow_function.ts +0 -32
  190. package/src/lib/famix/src/model/famix/parametric_class.ts +0 -49
  191. package/src/lib/famix/src/model/famix/parametric_function.ts +0 -32
  192. package/src/lib/famix/src/model/famix/parametric_interface.ts +0 -49
  193. package/src/lib/famix/src/model/famix/parametric_method.ts +0 -32
  194. package/src/lib/famix/src/model/famix/primitive_type.ts +0 -15
  195. package/src/lib/famix/src/model/famix/property.ts +0 -152
  196. package/src/lib/famix/src/model/famix/reference.ts +0 -42
  197. package/src/lib/famix/src/model/famix/scoping_entity.ts +0 -36
  198. package/src/lib/famix/src/model/famix/script_entity.ts +0 -36
  199. package/src/lib/famix/src/model/famix/source_anchor.ts +0 -31
  200. package/src/lib/famix/src/model/famix/source_language.ts +0 -36
  201. package/src/lib/famix/src/model/famix/sourced_entity.ts +0 -73
  202. package/src/lib/famix/src/model/famix/structural_entity.ts +0 -44
  203. package/src/lib/famix/src/model/famix/text_anchor.ts +0 -49
  204. package/src/lib/famix/src/model/famix/type.ts +0 -89
  205. package/src/lib/famix/src/model/famix/variable.ts +0 -28
  206. package/src/lib/famix/tsconfig.json +0 -27
  207. package/src/lib/famix/tslint.json +0 -15
  208. /package/src/lib/famix/{src/index.ts → index.ts} +0 -0
  209. /package/src/lib/famix/{src/model → model}/famix/accessor.ts +0 -0
  210. /package/src/lib/famix/{src/model/famix/arrowFunction.ts → model/famix/arrow_function.ts} +0 -0
  211. /package/src/lib/famix/{src/model → model}/famix/entity.ts +0 -0
  212. /package/src/lib/famix/{src/model → model}/famix/function.ts +0 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Concretisation = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class Concretisation extends entity_1.Entity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Concretisation", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("genericEntity", this.genericEntity);
15
+ exporter.addProperty("concreteEntity", this.concreteEntity);
16
+ }
17
+ get genericEntity() {
18
+ return this._genericEntity;
19
+ }
20
+ set genericEntity(genericEntity) {
21
+ this._genericEntity = genericEntity;
22
+ }
23
+ get concreteEntity() {
24
+ return this._concreteEntity;
25
+ }
26
+ set concreteEntity(concreteEntity) {
27
+ this._concreteEntity = concreteEntity;
28
+ }
29
+ }
30
+ exports.Concretisation = Concretisation;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY3JldGlzYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NvbmNyZXRpc2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFNbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUsvQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQTRGO1FBQzFHLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTZGO1FBQzVHLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQWhDRCx3Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNDbGFzcyB9IGZyb20gXCIuL3BhcmFtZXRyaWNfY2xhc3NcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfZnVuY3Rpb25cIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNJbnRlcmZhY2UgfSBmcm9tIFwiLi9wYXJhbWV0cmljX2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgUGFyYW1ldHJpY01ldGhvZCB9IGZyb20gXCIuL3BhcmFtZXRyaWNfbWV0aG9kXCI7XG5cbmV4cG9ydCBjbGFzcyBDb25jcmV0aXNhdGlvbiBleHRlbmRzIEVudGl0eSB7XG5cbiAgICBwcml2YXRlIF9nZW5lcmljRW50aXR5ITogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2Q7XG4gICAgcHJpdmF0ZSBfY29uY3JldGVFbnRpdHkhOiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZDsgIC8vIGlzIHRoaXMgY29ycmVjdD9cblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNvbmNyZXRpc2F0aW9uXCIsIHRoaXMpO1xuICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG4gIFxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY0VudGl0eVwiLCB0aGlzLmdlbmVyaWNFbnRpdHkpO1xuICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZUVudGl0eVwiLCB0aGlzLmNvbmNyZXRlRW50aXR5KTtcbiAgICB9XG5cbiAgICBnZXQgZ2VuZXJpY0VudGl0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGdlbmVyaWNFbnRpdHkoZ2VuZXJpY0VudGl0eTogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2QpIHtcbiAgICAgICAgdGhpcy5fZ2VuZXJpY0VudGl0eSA9IGdlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmNyZXRlRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGNvbmNyZXRlRW50aXR5KGNvbmNyZXRlRW50aXR5OiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZCkge1xuICAgICAgICB0aGlzLl9jb25jcmV0ZUVudGl0eSA9IGNvbmNyZXRlRW50aXR5O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const named_entity_1 = require("./named_entity");
6
+ class ContainerEntity extends named_entity_1.NamedEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._childrenContainerEntities = new Set();
10
+ this._outgoingReferences = new Set();
11
+ this._outgoingInvocations = new Set();
12
+ this._accesses = new Set();
13
+ this.childrenTypes = new Set();
14
+ this.childrenFunctions = new Set();
15
+ this._variables = new Set();
16
+ }
17
+ addChildContainerEntity(childContainerEntity) {
18
+ if (!this._childrenContainerEntities.has(childContainerEntity)) {
19
+ this._childrenContainerEntities.add(childContainerEntity);
20
+ childContainerEntity.parentContainerEntity = this;
21
+ }
22
+ }
23
+ addOutgoingReference(outgoingReference) {
24
+ if (!this._outgoingReferences.has(outgoingReference)) {
25
+ this._outgoingReferences.add(outgoingReference);
26
+ outgoingReference.source = this;
27
+ }
28
+ }
29
+ addOutgoingInvocation(outgoingInvocation) {
30
+ if (!this._outgoingInvocations.has(outgoingInvocation)) {
31
+ this._outgoingInvocations.add(outgoingInvocation);
32
+ outgoingInvocation.sender = this;
33
+ }
34
+ }
35
+ addAccess(access) {
36
+ if (!this._accesses.has(access)) {
37
+ this._accesses.add(access);
38
+ access.accessor = this;
39
+ }
40
+ }
41
+ addType(childType) {
42
+ if (!this.childrenTypes.has(childType)) {
43
+ this.childrenTypes.add(childType);
44
+ childType.parentContainerEntity = this;
45
+ }
46
+ }
47
+ addFunction(childFunction) {
48
+ if (!this.childrenFunctions.has(childFunction)) {
49
+ this.childrenFunctions.add(childFunction);
50
+ childFunction.parentContainerEntity = this;
51
+ }
52
+ }
53
+ addVariable(variable) {
54
+ if (!this._variables.has(variable)) {
55
+ this._variables.add(variable);
56
+ variable.parentContainerEntity = this;
57
+ }
58
+ }
59
+ getJSON() {
60
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ContainerEntity", this);
61
+ this.addPropertiesToExporter(json);
62
+ return json.getJSON();
63
+ }
64
+ addPropertiesToExporter(exporter) {
65
+ super.addPropertiesToExporter(exporter);
66
+ // exporter.addProperty("parentBehaviouralEntity", this.getParentContainerEntity());
67
+ // exporter.addProperty("childrenContainerEntities", this.getChildrenContainerEntities());
68
+ exporter.addProperty("cyclomaticComplexity", this.cyclomaticComplexity);
69
+ exporter.addProperty("numberOfStatements", this.numberOfStatements);
70
+ // exporter.addProperty("outgoingReferences", this.getOutgoingReferences()); /* derived ?*/
71
+ exporter.addProperty("numberOfLinesOfCode", this.numberOfLinesOfCode);
72
+ // exporter.addProperty("outgoingInvocations", this.getOutgoingInvocations()); /* derived ?*/
73
+ // exporter.addProperty("accesses", this.getAccesses()); /* derived ?*/
74
+ exporter.addProperty("types", this.types);
75
+ exporter.addProperty("functions", this.functions);
76
+ exporter.addProperty("localVariables", this.variables);
77
+ }
78
+ get parentContainerEntity() {
79
+ return this._parentContainerEntity;
80
+ }
81
+ set parentContainerEntity(parentContainerEntity) {
82
+ this._parentContainerEntity = parentContainerEntity;
83
+ parentContainerEntity.addChildContainerEntity(this);
84
+ }
85
+ get childrenContainerEntities() {
86
+ return this._childrenContainerEntities;
87
+ }
88
+ get cyclomaticComplexity() {
89
+ return this._cyclomaticComplexity;
90
+ }
91
+ set cyclomaticComplexity(cyclomaticComplexity) {
92
+ this._cyclomaticComplexity = cyclomaticComplexity;
93
+ }
94
+ get numberOfStatements() {
95
+ return this._numberOfStatements;
96
+ }
97
+ set numberOfStatements(numberOfStatements) {
98
+ this._numberOfStatements = numberOfStatements;
99
+ }
100
+ get outgoingReferences() {
101
+ return this._outgoingReferences;
102
+ }
103
+ get numberOfLinesOfCode() {
104
+ return this._numberOfLinesOfCode;
105
+ }
106
+ set numberOfLinesOfCode(numberOfLinesOfCode) {
107
+ this._numberOfLinesOfCode = numberOfLinesOfCode;
108
+ }
109
+ get outgoingInvocations() {
110
+ return this._outgoingInvocations;
111
+ }
112
+ get accesses() {
113
+ return this._accesses;
114
+ }
115
+ get types() {
116
+ return this.childrenTypes;
117
+ }
118
+ get functions() {
119
+ return this.childrenFunctions;
120
+ }
121
+ get variables() {
122
+ return this._variables;
123
+ }
124
+ }
125
+ exports.ContainerEntity = ContainerEntity;
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyX2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29udGFpbmVyX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBTTdDLE1BQWEsZUFBZ0IsU0FBUSwwQkFBVztJQUFoRDs7UUFHWSwrQkFBMEIsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVc3RCx3QkFBbUIsR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVVoRCx5QkFBb0IsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsRCxjQUFTLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTbkMsa0JBQWEsR0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3JDLHNCQUFpQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3hELGVBQVUsR0FBa0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBGbEQsQ0FBQztJQWpKVSx1QkFBdUIsQ0FBQyxvQkFBcUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMxRCxvQkFBb0IsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFNTSxvQkFBb0IsQ0FBQyxpQkFBNEI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BD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LENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBdEpELDBDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuaW1wb3J0IHsgTmFtZWRFbnRpdHkgfSBmcm9tIFwiLi9uYW1lZF9lbnRpdHlcIjtcbmltcG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XG5pbXBvcnQgeyBGdW5jdGlvbiBhcyBGYW1peEZ1bmN0aW9uRW50aXR5IH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmltcG9ydCB7IFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVcIjtcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudENvbnRhaW5lckVudGl0eSE6IENvbnRhaW5lckVudGl0eTtcbiAgICBwcml2YXRlIF9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzOiBTZXQ8Q29udGFpbmVyRW50aXR5PiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRDaGlsZENvbnRhaW5lckVudGl0eShjaGlsZENvbnRhaW5lckVudGl0eTogQ29udGFpbmVyRW50aXR5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcy5oYXMoY2hpbGRDb250YWluZXJFbnRpdHkpKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzLmFkZChjaGlsZENvbnRhaW5lckVudGl0eSk7XG4gICAgICAgICAgICBjaGlsZENvbnRhaW5lckVudGl0eS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3ljbG9tYXRpY0NvbXBsZXhpdHkhOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyT2ZTdGF0ZW1lbnRzITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nUmVmZXJlbmNlczogU2V0PFJlZmVyZW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkT3V0Z29pbmdSZWZlcmVuY2Uob3V0Z29pbmdSZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX291dGdvaW5nUmVmZXJlbmNlcy5oYXMob3V0Z29pbmdSZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXMuYWRkKG91dGdvaW5nUmVmZXJlbmNlKTtcbiAgICAgICAgICAgIG91dGdvaW5nUmVmZXJlbmNlLnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9udW1iZXJPZkxpbmVzT2ZDb2RlITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRPdXRnb2luZ0ludm9jYXRpb24ob3V0Z29pbmdJbnZvY2F0aW9uOiBJbnZvY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5oYXMob3V0Z29pbmdJbnZvY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5hZGQob3V0Z29pbmdJbnZvY2F0aW9uKTtcbiAgICAgICAgICAgIG91dGdvaW5nSW52b2NhdGlvbi5zZW5kZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWNjZXNzZXM6IFNldDxBY2Nlc3M+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZEFjY2VzcyhhY2Nlc3M6IEFjY2Vzcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc2VzLmhhcyhhY2Nlc3MpKSB7XG4gICAgICAgICAgICB0aGlzLl9hY2Nlc3Nlcy5hZGQoYWNjZXNzKTtcbiAgICAgICAgICAgIGFjY2Vzcy5hY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuVHlwZXM6IFNldDxUeXBlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRUeXBlKGNoaWxkVHlwZTogVHlwZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5UeXBlcy5oYXMoY2hpbGRUeXBlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlblR5cGVzLmFkZChjaGlsZFR5cGUpO1xuICAgICAgICAgICAgY2hpbGRUeXBlLnBhcmVudENvbnRhaW5lckVudGl0eSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuRnVuY3Rpb25zOiBTZXQ8RmFtaXhGdW5jdGlvbkVudGl0eT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkRnVuY3Rpb24oY2hpbGRGdW5jdGlvbjogRmFtaXhGdW5jdGlvbkVudGl0eSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5GdW5jdGlvbnMuaGFzKGNoaWxkRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuRnVuY3Rpb25zLmFkZChjaGlsZEZ1bmN0aW9uKTtcbiAgICAgICAgICAgIGNoaWxkRnVuY3Rpb24ucGFyZW50Q29udGFpbmVyRW50aXR5ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhcmlhYmxlczogU2V0PFZhcmlhYmxlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRWYXJpYWJsZSh2YXJpYWJsZTogVmFyaWFibGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YXJpYWJsZXMuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFibGVzLmFkZCh2YXJpYWJsZSk7XG4gICAgICAgICAgICB2YXJpYWJsZS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJDb250YWluZXJFbnRpdHlcIiwgdGhpcyk7XG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJwYXJlbnRCZWhhdmlvdXJhbEVudGl0eVwiLCB0aGlzLmdldFBhcmVudENvbnRhaW5lckVudGl0eSgpKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzXCIsIHRoaXMuZ2V0Q2hpbGRyZW5Db250YWluZXJFbnRpdGllcygpKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjeWNsb21hdGljQ29tcGxleGl0eVwiLCB0aGlzLmN5Y2xvbWF0aWNDb21wbGV4aXR5KTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJudW1iZXJPZlN0YXRlbWVudHNcIiwgdGhpcy5udW1iZXJPZlN0YXRlbWVudHMpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nUmVmZXJlbmNlc1wiLCB0aGlzLmdldE91dGdvaW5nUmVmZXJlbmNlcygpKTsgIC8qIGRlcml2ZWQgPyovXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibnVtYmVyT2ZMaW5lc09mQ29kZVwiLCB0aGlzLm51bWJlck9mTGluZXNPZkNvZGUpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nSW52b2NhdGlvbnNcIiwgdGhpcy5nZXRPdXRnb2luZ0ludm9jYXRpb25zKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhY2Nlc3Nlc1wiLCB0aGlzLmdldEFjY2Vzc2VzKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ0eXBlc1wiLCB0aGlzLnR5cGVzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmdW5jdGlvbnNcIiwgdGhpcy5mdW5jdGlvbnMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImxvY2FsVmFyaWFibGVzXCIsIHRoaXMudmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50Q29udGFpbmVyRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBwYXJlbnRDb250YWluZXJFbnRpdHkocGFyZW50Q29udGFpbmVyRW50aXR5OiBDb250YWluZXJFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5ID0gcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgICAgICBwYXJlbnRDb250YWluZXJFbnRpdHkuYWRkQ2hpbGRDb250YWluZXJFbnRpdHkodGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuQ29udGFpbmVyRW50aXRpZXMoKTogU2V0PENvbnRhaW5lckVudGl0eT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcztcbiAgICB9XG5cbiAgICBnZXQgY3ljbG9tYXRpY0NvbXBsZXhpdHkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5O1xuICAgIH1cblxuICAgIHNldCBjeWNsb21hdGljQ29tcGxleGl0eShjeWNsb21hdGljQ29tcGxleGl0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5ID0gY3ljbG9tYXRpY0NvbXBsZXhpdHk7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mU3RhdGVtZW50cygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIHNldCBudW1iZXJPZlN0YXRlbWVudHMobnVtYmVyT2ZTdGF0ZW1lbnRzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzID0gbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ1JlZmVyZW5jZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXM7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mTGluZXNPZkNvZGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGU7XG4gICAgfVxuXG4gICAgc2V0IG51bWJlck9mTGluZXNPZkNvZGUobnVtYmVyT2ZMaW5lc09mQ29kZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGUgPSBudW1iZXJPZkxpbmVzT2ZDb2RlO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ0ludm9jYXRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWNjZXNzZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2Nlc3NlcztcbiAgICB9XG5cbiAgICBnZXQgdHlwZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuVHlwZXM7XG4gICAgfVxuXG4gICAgZ2V0IGZ1bmN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5GdW5jdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Decorator = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const named_entity_1 = require("./named_entity");
6
+ class Decorator extends named_entity_1.NamedEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Decorator", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("expression", this.decoratorExpression);
15
+ exporter.addProperty("decoratedEntity", this.decoratedEntity);
16
+ }
17
+ get decoratorExpression() {
18
+ return this._decoratorExpression;
19
+ }
20
+ set decoratorExpression(decoratorExpression) {
21
+ this._decoratorExpression = decoratorExpression;
22
+ }
23
+ get decoratedEntity() {
24
+ return this._decoratedEntity;
25
+ }
26
+ set decoratedEntity(decoratedEntity) {
27
+ this._decoratedEntity = decoratedEntity;
28
+ decoratedEntity.addDecorator(this);
29
+ }
30
+ }
31
+ exports.Decorator = Decorator;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlEQUE2QztBQUU3QyxNQUFhLFNBQVUsU0FBUSwwQkFBVztJQUsvQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBNEI7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQWpDRCw4QkFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgRGVjb3JhdG9yIGV4dGVuZHMgTmFtZWRFbnRpdHkge1xuXG4gICAgcHJpdmF0ZSBfZGVjb3JhdG9yRXhwcmVzc2lvbiE6IHN0cmluZztcbiAgICBwcml2YXRlIF9kZWNvcmF0ZWRFbnRpdHkhOiBOYW1lZEVudGl0eTtcblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRGVjb3JhdG9yXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZXhwcmVzc2lvblwiLCB0aGlzLmRlY29yYXRvckV4cHJlc3Npb24pO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImRlY29yYXRlZEVudGl0eVwiLCB0aGlzLmRlY29yYXRlZEVudGl0eSk7XG4gICAgfVxuXG4gICAgZ2V0IGRlY29yYXRvckV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgc2V0IGRlY29yYXRvckV4cHJlc3Npb24oZGVjb3JhdG9yRXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb24gPSBkZWNvcmF0b3JFeHByZXNzaW9uO1xuICAgIH1cblxuICAgIGdldCBkZWNvcmF0ZWRFbnRpdHkoKTogTmFtZWRFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVjb3JhdGVkRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBkZWNvcmF0ZWRFbnRpdHkoZGVjb3JhdGVkRW50aXR5OiBOYW1lZEVudGl0eSkge1xuICAgICAgICB0aGlzLl9kZWNvcmF0ZWRFbnRpdHkgPSBkZWNvcmF0ZWRFbnRpdHk7XG4gICAgICAgIGRlY29yYXRlZEVudGl0eS5hZGREZWNvcmF0b3IodGhpcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Entity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const famix_base_element_1 = require("../../famix_base_element");
6
+ class Entity extends famix_base_element_1.FamixBaseElement {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Entity", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ }
15
+ }
16
+ exports.Entity = Entity;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlFQUE0RDtBQUU1RCxNQUFhLE1BQU8sU0FBUSxxQ0FBZ0I7SUFFbkMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFYRCx3QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IEZhbWl4QmFzZUVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vZmFtaXhfYmFzZV9lbGVtZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHkgZXh0ZW5kcyBGYW1peEJhc2VFbGVtZW50IHtcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRW50aXR5XCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Enum = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const type_1 = require("./type");
6
+ class Enum extends type_1.Type {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._values = new Set();
10
+ }
11
+ addValue(value) {
12
+ if (!this._values.has(value)) {
13
+ this._values.add(value);
14
+ value.parentEntity = this;
15
+ }
16
+ }
17
+ getJSON() {
18
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Enum", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+ addPropertiesToExporter(exporter) {
23
+ super.addPropertiesToExporter(exporter);
24
+ exporter.addProperty("enumValues", this.values);
25
+ }
26
+ get values() {
27
+ return this._values;
28
+ }
29
+ }
30
+ exports.Enum = Enum;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRzlCLE1BQWEsSUFBSyxTQUFRLFdBQUk7SUFBOUI7O1FBRVksWUFBTyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJoRCxDQUFDO0lBckJVLFFBQVEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBekJELG9CQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBFbnVtVmFsdWUgfSBmcm9tIFwiLi9lbnVtX3ZhbHVlXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtIGV4dGVuZHMgVHlwZSB7XG5cbiAgICBwcml2YXRlIF92YWx1ZXM6IFNldDxFbnVtVmFsdWU+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBFbnVtVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgICB2YWx1ZS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJFbnVtXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW51bVZhbHVlc1wiLCB0aGlzLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumValue = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const structural_entity_1 = require("./structural_entity");
6
+ class EnumValue extends structural_entity_1.StructuralEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("EnumValue", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("parentEnum", this.parentEntity);
15
+ }
16
+ get parentEntity() {
17
+ return this._parentEntity;
18
+ }
19
+ set parentEntity(parentEntity) {
20
+ this._parentEntity = parentEntity;
21
+ parentEntity.addValue(this);
22
+ }
23
+ }
24
+ exports.EnumValue = EnumValue;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bV92YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bV92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsMkRBQXVEO0FBR3ZELE1BQWEsU0FBVSxTQUFRLG9DQUFnQjtJQUlwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXZCRCw4QkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmltcG9ydCB7IEVudW0gfSBmcm9tIFwiLi9lbnVtXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtVmFsdWUgZXh0ZW5kcyBTdHJ1Y3R1cmFsRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IEVudW07XG5cbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkVudW1WYWx1ZVwiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEVudW1cIiwgdGhpcy5wYXJlbnRFbnRpdHkpO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRFbnRpdHkoKTogRW51bSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IHBhcmVudEVudGl0eShwYXJlbnRFbnRpdHk6IEVudW0pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkVmFsdWUodGhpcyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Function = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const behavioral_entity_1 = require("./behavioral_entity");
6
+ class Function extends behavioral_entity_1.BehavioralEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Function", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ }
15
+ }
16
+ exports.Function = Function;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFFdkQsTUFBYSxRQUFTLFNBQVEsb0NBQWdCO0lBRXJDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBWEQsNEJBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uIGV4dGVuZHMgQmVoYXZpb3JhbEVudGl0eSB7XG5cbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkZ1bmN0aW9uXCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImportClause = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class ImportClause extends entity_1.Entity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ImportClause", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("importingEntity", this.importingEntity);
15
+ exporter.addProperty("importedEntity", this.importedEntity);
16
+ // unknown property below
17
+ // exporter.addProperty("moduleSpecifier", this.getModuleSpecifier());
18
+ }
19
+ get importingEntity() {
20
+ return this._importingEntity;
21
+ }
22
+ set importingEntity(importer) {
23
+ this._importingEntity = importer;
24
+ importer.addOutgoingImport(this); // opposite
25
+ }
26
+ get importedEntity() {
27
+ return this._importedEntity;
28
+ }
29
+ set importedEntity(importedEntity) {
30
+ this._importedEntity = importedEntity;
31
+ importedEntity.addIncomingImport(this); // incomingImports in Famix TImportable/TImport
32
+ }
33
+ get moduleSpecifier() {
34
+ return this._moduleSpecifier;
35
+ }
36
+ set moduleSpecifier(moduleSpecifier) {
37
+ this._moduleSpecifier = moduleSpecifier;
38
+ }
39
+ }
40
+ exports.ImportClause = ImportClause;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0X2NsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvaW1wb3J0X2NsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQscUNBQWtDO0FBSWxDLE1BQWEsWUFBYSxTQUFRLGVBQU07SUFNN0IsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RCxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCx5QkFBeUI7UUFDekIseUVBQXlFO0lBQzdFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsUUFBZ0I7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO0lBQ2pELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTJCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLCtDQUErQztJQUMzRixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLGVBQXVCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBN0NELG9DQTZDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xuaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSBcIi4vbW9kdWxlXCI7XG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgSW1wb3J0Q2xhdXNlIGV4dGVuZHMgRW50aXR5IHtcblxuICAgIHByaXZhdGUgX2ltcG9ydGluZ0VudGl0eSE6IE1vZHVsZTtcbiAgICBwcml2YXRlIF9pbXBvcnRlZEVudGl0eSE6IE5hbWVkRW50aXR5O1xuICAgIHByaXZhdGUgX21vZHVsZVNwZWNpZmllciE6IHN0cmluZztcblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW1wb3J0Q2xhdXNlXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiaW1wb3J0aW5nRW50aXR5XCIsIHRoaXMuaW1wb3J0aW5nRW50aXR5KTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbXBvcnRlZEVudGl0eVwiLCB0aGlzLmltcG9ydGVkRW50aXR5KTtcbiAgICAgICAgLy8gdW5rbm93biBwcm9wZXJ0eSBiZWxvd1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm1vZHVsZVNwZWNpZmllclwiLCB0aGlzLmdldE1vZHVsZVNwZWNpZmllcigpKTtcbiAgICB9XG5cbiAgICBnZXQgaW1wb3J0aW5nRW50aXR5KCk6IE1vZHVsZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbXBvcnRpbmdFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGltcG9ydGluZ0VudGl0eShpbXBvcnRlcjogTW9kdWxlKSB7XG4gICAgICAgIHRoaXMuX2ltcG9ydGluZ0VudGl0eSA9IGltcG9ydGVyO1xuICAgICAgICBpbXBvcnRlci5hZGRPdXRnb2luZ0ltcG9ydCh0aGlzKTsgLy8gb3Bwb3NpdGVcbiAgICB9XG5cbiAgICBnZXQgaW1wb3J0ZWRFbnRpdHkoKTogTmFtZWRFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW1wb3J0ZWRFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGltcG9ydGVkRW50aXR5KGltcG9ydGVkRW50aXR5OiBOYW1lZEVudGl0eSkge1xuICAgICAgICB0aGlzLl9pbXBvcnRlZEVudGl0eSA9IGltcG9ydGVkRW50aXR5O1xuICAgICAgICBpbXBvcnRlZEVudGl0eS5hZGRJbmNvbWluZ0ltcG9ydCh0aGlzKTsgLy8gaW5jb21pbmdJbXBvcnRzIGluIEZhbWl4IFRJbXBvcnRhYmxlL1RJbXBvcnRcbiAgICB9XG5cbiAgICBnZXQgbW9kdWxlU3BlY2lmaWVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2R1bGVTcGVjaWZpZXI7XG4gICAgfVxuXG4gICAgc2V0IG1vZHVsZVNwZWNpZmllcihtb2R1bGVTcGVjaWZpZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tb2R1bGVTcGVjaWZpZXIgPSBtb2R1bGVTcGVjaWZpZXI7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParameterConcretisation = exports.ParametricArrowFunction = exports.ArrowFunction = exports.ParametricMethod = exports.ParametricFunction = exports.Variable = exports.Type = exports.TextAnchor = exports.StructuralEntity = exports.SourcedEntity = exports.SourceLanguage = exports.SourceAnchor = exports.ScriptEntity = exports.ScopingEntity = exports.Reference = exports.PrimitiveType = exports.ParametricInterface = exports.ParametricClass = exports.Parameter = exports.ParameterType = exports.NamedEntity = exports.Module = exports.Method = exports.Invocation = exports.Interface = exports.Inheritance = exports.IndexedFileAnchor = exports.ImportClause = exports.ImplicitVariable = exports.Function = exports.Property = exports.Enum = exports.EnumValue = exports.Entity = exports.Decorator = exports.Concretisation = exports.ContainerEntity = exports.Comment = exports.Class = exports.BehavioralEntity = exports.Alias = exports.Accessor = exports.Access = void 0;
3
+ exports.ParameterConcretisation = exports.ParametricArrowFunction = exports.ArrowFunction = exports.ParametricMethod = exports.ParametricFunction = exports.Variable = exports.Type = exports.StructuralEntity = exports.SourcedEntity = exports.SourceLanguage = exports.SourceAnchor = exports.ScriptEntity = exports.ScopingEntity = exports.Reference = exports.PrimitiveType = exports.ParametricInterface = exports.ParametricClass = exports.Parameter = exports.ParameterType = exports.NamedEntity = exports.Module = exports.Method = exports.Invocation = exports.Interface = exports.Inheritance = exports.IndexedFileAnchor = exports.ImportClause = exports.Function = exports.Property = exports.Enum = exports.EnumValue = exports.Entity = exports.Decorator = exports.Concretisation = exports.ContainerEntity = exports.Comment = exports.Class = exports.BehavioralEntity = exports.Alias = exports.Accessor = exports.Access = void 0;
4
4
  var access_1 = require("./access");
5
5
  Object.defineProperty(exports, "Access", { enumerable: true, get: function () { return access_1.Access; } });
6
6
  var accessor_1 = require("./accessor");
@@ -29,8 +29,6 @@ var property_1 = require("./property");
29
29
  Object.defineProperty(exports, "Property", { enumerable: true, get: function () { return property_1.Property; } });
30
30
  var function_1 = require("./function");
31
31
  Object.defineProperty(exports, "Function", { enumerable: true, get: function () { return function_1.Function; } });
32
- var implicit_variable_1 = require("./implicit_variable");
33
- Object.defineProperty(exports, "ImplicitVariable", { enumerable: true, get: function () { return implicit_variable_1.ImplicitVariable; } });
34
32
  var import_clause_1 = require("./import_clause");
35
33
  Object.defineProperty(exports, "ImportClause", { enumerable: true, get: function () { return import_clause_1.ImportClause; } });
36
34
  var indexed_file_anchor_1 = require("./indexed_file_anchor");
@@ -71,8 +69,6 @@ var sourced_entity_1 = require("./sourced_entity");
71
69
  Object.defineProperty(exports, "SourcedEntity", { enumerable: true, get: function () { return sourced_entity_1.SourcedEntity; } });
72
70
  var structural_entity_1 = require("./structural_entity");
73
71
  Object.defineProperty(exports, "StructuralEntity", { enumerable: true, get: function () { return structural_entity_1.StructuralEntity; } });
74
- var text_anchor_1 = require("./text_anchor");
75
- Object.defineProperty(exports, "TextAnchor", { enumerable: true, get: function () { return text_anchor_1.TextAnchor; } });
76
72
  var type_1 = require("./type");
77
73
  Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return type_1.Type; } });
78
74
  var variable_1 = require("./variable");
@@ -81,10 +77,10 @@ var parametric_function_1 = require("./parametric_function");
81
77
  Object.defineProperty(exports, "ParametricFunction", { enumerable: true, get: function () { return parametric_function_1.ParametricFunction; } });
82
78
  var parametric_method_1 = require("./parametric_method");
83
79
  Object.defineProperty(exports, "ParametricMethod", { enumerable: true, get: function () { return parametric_method_1.ParametricMethod; } });
84
- var arrowFunction_1 = require("./arrowFunction");
85
- Object.defineProperty(exports, "ArrowFunction", { enumerable: true, get: function () { return arrowFunction_1.ArrowFunction; } });
80
+ var arrow_function_1 = require("./arrow_function");
81
+ Object.defineProperty(exports, "ArrowFunction", { enumerable: true, get: function () { return arrow_function_1.ArrowFunction; } });
86
82
  var parametric_arrow_function_1 = require("./parametric_arrow_function");
87
83
  Object.defineProperty(exports, "ParametricArrowFunction", { enumerable: true, get: function () { return parametric_arrow_function_1.ParametricArrowFunction; } });
88
- var parameterConcretisation_1 = require("./parameterConcretisation");
89
- Object.defineProperty(exports, "ParameterConcretisation", { enumerable: true, get: function () { return parameterConcretisation_1.ParameterConcretisation; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2YsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQixpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBQ2QseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFDZCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHVEQUFxRDtBQUE1QyxtSEFBQSxlQUFlLE9BQUE7QUFDeEIsbURBQWtEO0FBQXpDLGdIQUFBLGNBQWMsT0FBQTtBQUN2Qix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZiwyQ0FBeUM7QUFBaEMsdUdBQUEsU0FBUyxPQUFBO0FBQ2xCLCtCQUE4QjtBQUFyQiw0RkFBQSxJQUFJLE9BQUE7QUFDYix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLHVDQUFzQztBQUE3QixvR0FBQSxRQUFRLE9BQUE7QUFDakIseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLGlEQUErQztBQUF0Qyw2R0FBQSxZQUFZLE9BQUE7QUFDckIsNkRBQTBEO0FBQWpELHdIQUFBLGlCQUFpQixPQUFBO0FBQzFCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQiwyQ0FBMEM7QUFBakMsd0dBQUEsVUFBVSxPQUFBO0FBQ25CLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZixtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2YsK0NBQTZDO0FBQXBDLDJHQUFBLFdBQVcsT0FBQTtBQUNwQixtREFBaUQ7QUFBeEMsK0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsdURBQXFEO0FBQTVDLG1IQUFBLGVBQWUsT0FBQTtBQUN4QiwrREFBNkQ7QUFBcEQsMkhBQUEsbUJBQW1CLE9BQUE7QUFDNUIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIsaURBQStDO0FBQXRDLDZHQUFBLFlBQVksT0FBQTtBQUNyQixpREFBK0M7QUFBdEMsNkdBQUEsWUFBWSxPQUFBO0FBQ3JCLHFEQUFtRDtBQUExQyxpSEFBQSxjQUFjLE9BQUE7QUFDdkIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5REFBdUQ7QUFBOUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFDekIsNkNBQTJDO0FBQWxDLHlHQUFBLFVBQVUsT0FBQTtBQUNuQiwrQkFBOEI7QUFBckIsNEZBQUEsSUFBSSxPQUFBO0FBQ2IsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQiw2REFBMkQ7QUFBbEQseUhBQUEsa0JBQWtCLE9BQUE7QUFDM0IseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLGlEQUFnRDtBQUF2Qyw4R0FBQSxhQUFhLE9BQUE7QUFDdEIseUVBQXNFO0FBQTdELG9JQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHFFQUFvRTtBQUEzRCxrSUFBQSx1QkFBdUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFjY2VzcyB9IGZyb20gXCIuL2FjY2Vzc1wiO1xuZXhwb3J0IHsgQWNjZXNzb3IgfSBmcm9tIFwiLi9hY2Nlc3NvclwiO1xuZXhwb3J0IHsgQWxpYXMgfSBmcm9tIFwiLi9hbGlhc1wiO1xuZXhwb3J0IHsgQmVoYXZpb3JhbEVudGl0eSB9IGZyb20gXCIuL2JlaGF2aW9yYWxfZW50aXR5XCI7XG5leHBvcnQgeyBDbGFzcyB9IGZyb20gXCIuL2NsYXNzXCI7XG5leHBvcnQgeyBDb21tZW50IH0gZnJvbSBcIi4vY29tbWVudFwiO1xuZXhwb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xuZXhwb3J0IHsgQ29uY3JldGlzYXRpb24gfSBmcm9tIFwiLi9jb25jcmV0aXNhdGlvblwiO1xuZXhwb3J0IHsgRGVjb3JhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yXCI7XG5leHBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcbmV4cG9ydCB7IEVudW1WYWx1ZSB9IGZyb20gXCIuL2VudW1fdmFsdWVcIjtcbmV4cG9ydCB7IEVudW0gfSBmcm9tIFwiLi9lbnVtXCI7XG5leHBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gXCIuL3Byb3BlcnR5XCI7XG5leHBvcnQgeyBGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uXCI7XG5leHBvcnQgeyBJbXBsaWNpdFZhcmlhYmxlIH0gZnJvbSBcIi4vaW1wbGljaXRfdmFyaWFibGVcIjtcbmV4cG9ydCB7IEltcG9ydENsYXVzZSB9IGZyb20gXCIuL2ltcG9ydF9jbGF1c2VcIjtcbmV4cG9ydCB7IEluZGV4ZWRGaWxlQW5jaG9yIH0gZnJvbSBcIi4vaW5kZXhlZF9maWxlX2FuY2hvclwiO1xuZXhwb3J0IHsgSW5oZXJpdGFuY2UgfSBmcm9tIFwiLi9pbmhlcml0YW5jZVwiO1xuZXhwb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuZXhwb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5leHBvcnQgeyBNb2R1bGUgfSBmcm9tIFwiLi9tb2R1bGVcIjtcbmV4cG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XG5leHBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcbmV4cG9ydCB7IFBhcmFtZXRlciB9IGZyb20gXCIuL3BhcmFtZXRlclwiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0NsYXNzIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19jbGFzc1wiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0ludGVyZmFjZSB9IGZyb20gXCIuL3BhcmFtZXRyaWNfaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcbmV4cG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuZXhwb3J0IHsgU2NvcGluZ0VudGl0eSB9IGZyb20gXCIuL3Njb3BpbmdfZW50aXR5XCI7XG5leHBvcnQgeyBTY3JpcHRFbnRpdHkgfSBmcm9tIFwiLi9zY3JpcHRfZW50aXR5XCI7XG5leHBvcnQgeyBTb3VyY2VBbmNob3IgfSBmcm9tIFwiLi9zb3VyY2VfYW5jaG9yXCI7XG5leHBvcnQgeyBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL3NvdXJjZV9sYW5ndWFnZVwiO1xuZXhwb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XG5leHBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmV4cG9ydCB7IFRleHRBbmNob3IgfSBmcm9tIFwiLi90ZXh0X2FuY2hvclwiO1xuZXhwb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcbmV4cG9ydCB7IFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVcIjtcbmV4cG9ydCB7IFBhcmFtZXRyaWNGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfZnVuY3Rpb25cIjtcbmV4cG9ydCB7IFBhcmFtZXRyaWNNZXRob2QgfSBmcm9tIFwiLi9wYXJhbWV0cmljX21ldGhvZFwiO1xuZXhwb3J0IHsgQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL2Fycm93RnVuY3Rpb25cIjtcbmV4cG9ydCB7IFBhcmFtZXRyaWNBcnJvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19hcnJvd19mdW5jdGlvblwiO1xuZXhwb3J0IHsgUGFyYW1ldGVyQ29uY3JldGlzYXRpb24gfSBmcm9tIFwiLi9wYXJhbWV0ZXJDb25jcmV0aXNhdGlvblwiO1xuIl19
84
+ var parameter_concretisation_1 = require("./parameter_concretisation");
85
+ Object.defineProperty(exports, "ParameterConcretisation", { enumerable: true, get: function () { return parameter_concretisation_1.ParameterConcretisation; } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFDZCx5REFBdUQ7QUFBOUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFDekIsaUNBQWdDO0FBQXZCLDhGQUFBLEtBQUssT0FBQTtBQUNkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsdURBQXFEO0FBQTVDLG1IQUFBLGVBQWUsT0FBQTtBQUN4QixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLDJDQUF5QztBQUFoQyx1R0FBQSxTQUFTLE9BQUE7QUFDbEIsK0JBQThCO0FBQXJCLDRGQUFBLElBQUksT0FBQTtBQUNiLHVDQUFzQztBQUE3QixvR0FBQSxRQUFRLE9BQUE7QUFDakIsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQixpREFBK0M7QUFBdEMsNkdBQUEsWUFBWSxPQUFBO0FBQ3JCLDZEQUEwRDtBQUFqRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQixtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2YsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLCtDQUE2QztBQUFwQywyR0FBQSxXQUFXLE9BQUE7QUFDcEIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLHVEQUFxRDtBQUE1QyxtSEFBQSxlQUFlLE9BQUE7QUFDeEIsK0RBQTZEO0FBQXBELDJIQUFBLG1CQUFtQixPQUFBO0FBQzVCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQixtREFBaUQ7QUFBeEMsK0dBQUEsYUFBYSxPQUFBO0FBQ3RCLGlEQUErQztBQUF0Qyw2R0FBQSxZQUFZLE9BQUE7QUFDckIsaURBQStDO0FBQXRDLDZHQUFBLFlBQVksT0FBQTtBQUNyQixxREFBbUQ7QUFBMUMsaUhBQUEsY0FBYyxPQUFBO0FBQ3ZCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLCtCQUE4QjtBQUFyQiw0RkFBQSxJQUFJLE9BQUE7QUFDYix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLDZEQUEyRDtBQUFsRCx5SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix5REFBdUQ7QUFBOUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFDekIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5RUFBc0U7QUFBN0Qsb0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsdUVBQXFFO0FBQTVELG1JQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XG5leHBvcnQgeyBBY2Nlc3NvciB9IGZyb20gXCIuL2FjY2Vzc29yXCI7XG5leHBvcnQgeyBBbGlhcyB9IGZyb20gXCIuL2FsaWFzXCI7XG5leHBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcbmV4cG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcbmV4cG9ydCB7IENvbW1lbnQgfSBmcm9tIFwiLi9jb21tZW50XCI7XG5leHBvcnQgeyBDb250YWluZXJFbnRpdHkgfSBmcm9tIFwiLi9jb250YWluZXJfZW50aXR5XCI7XG5leHBvcnQgeyBDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL2NvbmNyZXRpc2F0aW9uXCI7XG5leHBvcnQgeyBEZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JcIjtcbmV4cG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xuZXhwb3J0IHsgRW51bVZhbHVlIH0gZnJvbSBcIi4vZW51bV92YWx1ZVwiO1xuZXhwb3J0IHsgRW51bSB9IGZyb20gXCIuL2VudW1cIjtcbmV4cG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIi4vcHJvcGVydHlcIjtcbmV4cG9ydCB7IEZ1bmN0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmV4cG9ydCB7IEltcG9ydENsYXVzZSB9IGZyb20gXCIuL2ltcG9ydF9jbGF1c2VcIjtcbmV4cG9ydCB7IEluZGV4ZWRGaWxlQW5jaG9yIH0gZnJvbSBcIi4vaW5kZXhlZF9maWxlX2FuY2hvclwiO1xuZXhwb3J0IHsgSW5oZXJpdGFuY2UgfSBmcm9tIFwiLi9pbmhlcml0YW5jZVwiO1xuZXhwb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuZXhwb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5leHBvcnQgeyBNb2R1bGUgfSBmcm9tIFwiLi9tb2R1bGVcIjtcbmV4cG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XG5leHBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcbmV4cG9ydCB7IFBhcmFtZXRlciB9IGZyb20gXCIuL3BhcmFtZXRlclwiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0NsYXNzIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19jbGFzc1wiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0ludGVyZmFjZSB9IGZyb20gXCIuL3BhcmFtZXRyaWNfaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcbmV4cG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuZXhwb3J0IHsgU2NvcGluZ0VudGl0eSB9IGZyb20gXCIuL3Njb3BpbmdfZW50aXR5XCI7XG5leHBvcnQgeyBTY3JpcHRFbnRpdHkgfSBmcm9tIFwiLi9zY3JpcHRfZW50aXR5XCI7XG5leHBvcnQgeyBTb3VyY2VBbmNob3IgfSBmcm9tIFwiLi9zb3VyY2VfYW5jaG9yXCI7XG5leHBvcnQgeyBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL3NvdXJjZV9sYW5ndWFnZVwiO1xuZXhwb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XG5leHBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmV4cG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5leHBvcnQgeyBWYXJpYWJsZSB9IGZyb20gXCIuL3ZhcmlhYmxlXCI7XG5leHBvcnQgeyBQYXJhbWV0cmljRnVuY3Rpb24gfSBmcm9tIFwiLi9wYXJhbWV0cmljX2Z1bmN0aW9uXCI7XG5leHBvcnQgeyBQYXJhbWV0cmljTWV0aG9kIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19tZXRob2RcIjtcbmV4cG9ydCB7IEFycm93RnVuY3Rpb24gfSBmcm9tIFwiLi9hcnJvd19mdW5jdGlvblwiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0Fycm93RnVuY3Rpb24gfSBmcm9tIFwiLi9wYXJhbWV0cmljX2Fycm93X2Z1bmN0aW9uXCI7XG5leHBvcnQgeyBQYXJhbWV0ZXJDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRlcl9jb25jcmV0aXNhdGlvblwiO1xuIl19
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexedFileAnchor = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const source_anchor_1 = require("./source_anchor");
6
+ class IndexedFileAnchor extends source_anchor_1.SourceAnchor {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("IndexedFileAnchor", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("startPos", this.startPos);
15
+ exporter.addProperty("endPos", this.endPos);
16
+ exporter.addProperty("fileName", this.fileName);
17
+ }
18
+ get startPos() {
19
+ return this._startPos;
20
+ }
21
+ set startPos(startPos) {
22
+ this._startPos = startPos;
23
+ }
24
+ get endPos() {
25
+ return this._endPos;
26
+ }
27
+ set endPos(endPos) {
28
+ this._endPos = endPos;
29
+ }
30
+ get fileName() {
31
+ return this._fileName;
32
+ }
33
+ set fileName(fileName) {
34
+ this._fileName = fileName;
35
+ }
36
+ }
37
+ exports.IndexedFileAnchor = IndexedFileAnchor;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9maWxlX2FuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvaW5kZXhlZF9maWxlX2FuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsbURBQStDO0FBRS9DLE1BQWEsaUJBQWtCLFNBQVEsNEJBQVk7SUFNMUMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFQyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztDQUNKO0FBMUNELDhDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFNvdXJjZUFuY2hvciB9IGZyb20gXCIuL3NvdXJjZV9hbmNob3JcIjtcblxuZXhwb3J0IGNsYXNzIEluZGV4ZWRGaWxlQW5jaG9yIGV4dGVuZHMgU291cmNlQW5jaG9yIHtcblxuICBwcml2YXRlIF9zdGFydFBvcyE6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZW5kUG9zITogbnVtYmVyO1xuICBwcml2YXRlIF9maWxlTmFtZSE6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW5kZXhlZEZpbGVBbmNob3JcIiwgdGhpcyk7XG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3RhcnRQb3NcIiwgdGhpcy5zdGFydFBvcyk7XG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJlbmRQb3NcIiwgdGhpcy5lbmRQb3MpO1xuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZmlsZU5hbWVcIiwgdGhpcy5maWxlTmFtZSk7XG4gIH1cblxuICAgIGdldCBzdGFydFBvcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhcnRQb3M7XG4gICAgfVxuXG4gICAgc2V0IHN0YXJ0UG9zKHN0YXJ0UG9zOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fc3RhcnRQb3MgPSBzdGFydFBvcztcbiAgICB9XG5cbiAgICBnZXQgZW5kUG9zKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbmRQb3M7XG4gICAgfVxuXG4gICAgc2V0IGVuZFBvcyhlbmRQb3M6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9lbmRQb3MgPSBlbmRQb3M7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZTtcbiAgICB9XG5cbiAgICBzZXQgZmlsZU5hbWUoZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9maWxlTmFtZSA9IGZpbGVOYW1lO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Inheritance = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class Inheritance extends entity_1.Entity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Inheritance", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("superclass", this.superclass);
15
+ exporter.addProperty("subclass", this.subclass);
16
+ }
17
+ get superclass() {
18
+ return this._superclass;
19
+ }
20
+ set superclass(superclass) {
21
+ this._superclass = superclass;
22
+ superclass.addSubInheritance(this);
23
+ }
24
+ get subclass() {
25
+ return this._subclass;
26
+ }
27
+ set subclass(subclass) {
28
+ this._subclass = subclass;
29
+ subclass.addSuperInheritance(this);
30
+ }
31
+ }
32
+ exports.Inheritance = Inheritance;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5oZXJpdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2luaGVyaXRhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUU5RCxxQ0FBa0M7QUFHbEMsTUFBYSxXQUFZLFNBQVEsZUFBTTtJQUs1QixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBNkI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQTJCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFsQ0Qsa0NBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tIFwiLi9pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIEluaGVyaXRhbmNlIGV4dGVuZHMgRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3N1cGVyY2xhc3MhOiBDbGFzcyB8IEludGVyZmFjZTtcbiAgICBwcml2YXRlIF9zdWJjbGFzcyE6IENsYXNzIHwgSW50ZXJmYWNlO1xuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJJbmhlcml0YW5jZVwiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInN1cGVyY2xhc3NcIiwgdGhpcy5zdXBlcmNsYXNzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJjbGFzc1wiLCB0aGlzLnN1YmNsYXNzKTtcbiAgICB9XG5cbiAgICBnZXQgc3VwZXJjbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1cGVyY2xhc3M7XG4gICAgfVxuXG4gICAgc2V0IHN1cGVyY2xhc3Moc3VwZXJjbGFzczogQ2xhc3MgfCBJbnRlcmZhY2UpIHtcbiAgICAgICAgdGhpcy5fc3VwZXJjbGFzcyA9IHN1cGVyY2xhc3M7XG4gICAgICAgIHN1cGVyY2xhc3MuYWRkU3ViSW5oZXJpdGFuY2UodGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IHN1YmNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3ViY2xhc3M7XG4gICAgfVxuXG4gICAgc2V0IHN1YmNsYXNzKHN1YmNsYXNzOiBDbGFzcyB8IEludGVyZmFjZSkge1xuICAgICAgICB0aGlzLl9zdWJjbGFzcyA9IHN1YmNsYXNzO1xuICAgICAgICBzdWJjbGFzcy5hZGRTdXBlckluaGVyaXRhbmNlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Interface = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const type_1 = require("./type");
6
+ class Interface extends type_1.Type {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._properties = new Set();
10
+ this._methods = new Set();
11
+ this._superInheritances = new Set();
12
+ this._subInheritances = new Set();
13
+ }
14
+ addProperty(property) {
15
+ if (!this._properties.has(property)) {
16
+ this._properties.add(property);
17
+ property.parentEntity = this;
18
+ }
19
+ }
20
+ addMethod(method) {
21
+ if (!this._methods.has(method)) {
22
+ this._methods.add(method);
23
+ method.parentEntity = this;
24
+ }
25
+ }
26
+ addSuperInheritance(superInheritance) {
27
+ if (!this._superInheritances.has(superInheritance)) {
28
+ this._superInheritances.add(superInheritance);
29
+ superInheritance.subclass = this;
30
+ }
31
+ }
32
+ addSubInheritance(subInheritance) {
33
+ if (!this._subInheritances.has(subInheritance)) {
34
+ this._subInheritances.add(subInheritance);
35
+ subInheritance.superclass = this;
36
+ }
37
+ }
38
+ getJSON() {
39
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Interface", this);
40
+ this.addPropertiesToExporter(json);
41
+ return json.getJSON();
42
+ }
43
+ addPropertiesToExporter(exporter) {
44
+ super.addPropertiesToExporter(exporter);
45
+ exporter.addProperty("attributes", this.properties);
46
+ exporter.addProperty("methods", this.methods);
47
+ exporter.addProperty("superInheritances", this.superInheritances);
48
+ exporter.addProperty("subInheritances", this.subInheritances);
49
+ }
50
+ get properties() {
51
+ return this._properties;
52
+ }
53
+ get methods() {
54
+ return this._methods;
55
+ }
56
+ get superInheritances() {
57
+ return this._superInheritances;
58
+ }
59
+ get subInheritances() {
60
+ return this._subInheritances;
61
+ }
62
+ }
63
+ exports.Interface = Interface;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlDQUE4QjtBQUs5QixNQUFhLFNBQVUsU0FBUSxXQUFJO0lBQW5DOztRQUVZLGdCQUFXLEdBQWtCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTdkMsYUFBUSxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU2xDLHVCQUFrQixHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU2pELHFCQUFnQixHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUMzRCxDQUFDO0lBaEVVLFdBQVcsQ0FBQyxRQUFrQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUlNLFNBQVMsQ0FBQyxNQUFjO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBSU0sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUlNLGlCQUFpQixDQUFDLGNBQTJCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxjQUFjLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7Q0FDSjtBQXBFRCw4QkFvRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIi4vdHlwZVwiO1xuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gXCIuL3Byb3BlcnR5XCI7XG5pbXBvcnQgeyBJbmhlcml0YW5jZSB9IGZyb20gXCIuL2luaGVyaXRhbmNlXCI7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcmZhY2UgZXh0ZW5kcyBUeXBlIHtcblxuICAgIHByaXZhdGUgX3Byb3BlcnRpZXM6IFNldDxQcm9wZXJ0eT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydHkocHJvcGVydHk6IFByb3BlcnR5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcHJvcGVydGllcy5oYXMocHJvcGVydHkpKSB7XG4gICAgICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzLmFkZChwcm9wZXJ0eSk7XG4gICAgICAgICAgICBwcm9wZXJ0eS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWV0aG9kczogU2V0PE1ldGhvZD4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkTWV0aG9kKG1ldGhvZDogTWV0aG9kKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbWV0aG9kcy5oYXMobWV0aG9kKSkge1xuICAgICAgICAgICAgdGhpcy5fbWV0aG9kcy5hZGQobWV0aG9kKTtcbiAgICAgICAgICAgIG1ldGhvZC5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3VwZXJJbmhlcml0YW5jZXM6IFNldDxJbmhlcml0YW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkU3VwZXJJbmhlcml0YW5jZShzdXBlckluaGVyaXRhbmNlOiBJbmhlcml0YW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3N1cGVySW5oZXJpdGFuY2VzLmhhcyhzdXBlckluaGVyaXRhbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5fc3VwZXJJbmhlcml0YW5jZXMuYWRkKHN1cGVySW5oZXJpdGFuY2UpO1xuICAgICAgICAgICAgc3VwZXJJbmhlcml0YW5jZS5zdWJjbGFzcyA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWJJbmhlcml0YW5jZXM6IFNldDxJbmhlcml0YW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkU3ViSW5oZXJpdGFuY2Uoc3ViSW5oZXJpdGFuY2U6IEluaGVyaXRhbmNlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3ViSW5oZXJpdGFuY2VzLmhhcyhzdWJJbmhlcml0YW5jZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YkluaGVyaXRhbmNlcy5hZGQoc3ViSW5oZXJpdGFuY2UpO1xuICAgICAgICAgICAgc3ViSW5oZXJpdGFuY2Uuc3VwZXJjbGFzcyA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW50ZXJmYWNlXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiYXR0cmlidXRlc1wiLCB0aGlzLnByb3BlcnRpZXMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm1ldGhvZHNcIiwgdGhpcy5tZXRob2RzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdXBlckluaGVyaXRhbmNlc1wiLCB0aGlzLnN1cGVySW5oZXJpdGFuY2VzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJJbmhlcml0YW5jZXNcIiwgdGhpcy5zdWJJbmhlcml0YW5jZXMpO1xuICAgIH1cblxuICAgIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydGllcztcbiAgICB9XG5cbiAgICBnZXQgbWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21ldGhvZHM7XG4gICAgfVxuXG4gICAgZ2V0IHN1cGVySW5oZXJpdGFuY2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3VwZXJJbmhlcml0YW5jZXM7XG4gICAgfVxuXG4gICAgZ2V0IHN1YkluaGVyaXRhbmNlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1YkluaGVyaXRhbmNlcztcbiAgICB9XG59XG4iXX0=