ts2famix 2.0.3 → 2.1.0-beta.2

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 (191) 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 +19 -9
  12. package/dist/analyze_functions/process_functions.js +101 -71
  13. package/dist/famix2puml.js +126 -0
  14. package/dist/famix_functions/EntityDictionary.js +881 -509
  15. package/dist/famix_functions/helpers_creation.js +18 -8
  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 +67 -2
  21. package/dist/lib/famix/index.js +18 -8
  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 +18 -8
  117. package/dist/ts2famix-cli-wrapper.js +18 -8
  118. package/dist/ts2famix-cli.js +18 -8
  119. package/dist/ts2famix-tsconfig.js +18 -8
  120. package/doc-uml/famix-typescript-model.puml +607 -607
  121. package/eslint.config.mjs +28 -0
  122. package/fqn-model.json +1 -0
  123. package/iterateGenericTypes.ts +69 -0
  124. package/out/class-diagram/class-diagram.svg +1 -0
  125. package/package.json +70 -66
  126. package/sample.json +1 -0
  127. package/sample.ts +1 -0
  128. package/src/analyze.ts +120 -120
  129. package/src/analyze_functions/process_functions.ts +1040 -1019
  130. package/src/famix_functions/EntityDictionary.ts +2016 -1593
  131. package/src/famix_functions/helpers_creation.ts +135 -135
  132. package/src/fqn.ts +50 -16
  133. package/src/generate_uml.sh +20 -20
  134. package/src/lib/famix/License.md +22 -22
  135. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  136. package/src/lib/famix/famix_base_element.ts +22 -22
  137. package/src/lib/famix/famix_repository.ts +278 -243
  138. package/src/lib/famix/index.ts +8 -8
  139. package/src/lib/famix/model/famix/access.ts +50 -50
  140. package/src/lib/famix/model/famix/accessor.ts +15 -15
  141. package/src/lib/famix/model/famix/alias.ts +39 -39
  142. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  143. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  144. package/src/lib/famix/model/famix/class.ts +85 -85
  145. package/src/lib/famix/model/famix/comment.ts +47 -47
  146. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  147. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  148. package/src/lib/famix/model/famix/decorator.ts +37 -37
  149. package/src/lib/famix/model/famix/entity.ts +15 -15
  150. package/src/lib/famix/model/famix/enum.ts +30 -30
  151. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  152. package/src/lib/famix/model/famix/function.ts +15 -15
  153. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  154. package/src/lib/famix/model/famix/index.ts +41 -41
  155. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  156. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  157. package/src/lib/famix/model/famix/interface.ts +75 -75
  158. package/src/lib/famix/model/famix/invocation.ts +65 -65
  159. package/src/lib/famix/model/famix/method.ts +89 -89
  160. package/src/lib/famix/model/famix/module.ts +71 -71
  161. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  162. package/src/lib/famix/model/famix/parameter.ts +28 -28
  163. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  164. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  165. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  166. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  167. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  168. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  169. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  170. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  171. package/src/lib/famix/model/famix/property.ts +94 -94
  172. package/src/lib/famix/model/famix/reference.ts +40 -40
  173. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  174. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  175. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  176. package/src/lib/famix/model/famix/source_language.ts +35 -35
  177. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  178. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  179. package/src/lib/famix/model/famix/type.ts +87 -87
  180. package/src/lib/famix/model/famix/variable.ts +27 -27
  181. package/src/lib/famix/package.json +28 -28
  182. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  183. package/src/refactorer/refactor-getter-setter.ts +140 -140
  184. package/src/ts2famix-cli-wrapper.ts +21 -21
  185. package/src/ts2famix-cli.ts +60 -60
  186. package/stats.txt +3091 -0
  187. package/tabby-debug-output.txt +19433 -0
  188. package/ts2famix.log +22656 -0
  189. package/tsconfig.check-tests.json +14 -14
  190. package/tsconfig.json +72 -72
  191. package/validate-references.js +103 -0
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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
+ var access_1 = require("./access");
5
+ Object.defineProperty(exports, "Access", { enumerable: true, get: function () { return access_1.Access; } });
6
+ var accessor_1 = require("./accessor");
7
+ Object.defineProperty(exports, "Accessor", { enumerable: true, get: function () { return accessor_1.Accessor; } });
8
+ var alias_1 = require("./alias");
9
+ Object.defineProperty(exports, "Alias", { enumerable: true, get: function () { return alias_1.Alias; } });
10
+ var behavioral_entity_1 = require("./behavioral_entity");
11
+ Object.defineProperty(exports, "BehavioralEntity", { enumerable: true, get: function () { return behavioral_entity_1.BehavioralEntity; } });
12
+ var class_1 = require("./class");
13
+ Object.defineProperty(exports, "Class", { enumerable: true, get: function () { return class_1.Class; } });
14
+ var comment_1 = require("./comment");
15
+ Object.defineProperty(exports, "Comment", { enumerable: true, get: function () { return comment_1.Comment; } });
16
+ var container_entity_1 = require("./container_entity");
17
+ Object.defineProperty(exports, "ContainerEntity", { enumerable: true, get: function () { return container_entity_1.ContainerEntity; } });
18
+ var concretisation_1 = require("./concretisation");
19
+ Object.defineProperty(exports, "Concretisation", { enumerable: true, get: function () { return concretisation_1.Concretisation; } });
20
+ var decorator_1 = require("./decorator");
21
+ Object.defineProperty(exports, "Decorator", { enumerable: true, get: function () { return decorator_1.Decorator; } });
22
+ var entity_1 = require("./entity");
23
+ Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return entity_1.Entity; } });
24
+ var enum_value_1 = require("./enum_value");
25
+ Object.defineProperty(exports, "EnumValue", { enumerable: true, get: function () { return enum_value_1.EnumValue; } });
26
+ var enum_1 = require("./enum");
27
+ Object.defineProperty(exports, "Enum", { enumerable: true, get: function () { return enum_1.Enum; } });
28
+ var property_1 = require("./property");
29
+ Object.defineProperty(exports, "Property", { enumerable: true, get: function () { return property_1.Property; } });
30
+ var function_1 = require("./function");
31
+ Object.defineProperty(exports, "Function", { enumerable: true, get: function () { return function_1.Function; } });
32
+ var import_clause_1 = require("./import_clause");
33
+ Object.defineProperty(exports, "ImportClause", { enumerable: true, get: function () { return import_clause_1.ImportClause; } });
34
+ var indexed_file_anchor_1 = require("./indexed_file_anchor");
35
+ Object.defineProperty(exports, "IndexedFileAnchor", { enumerable: true, get: function () { return indexed_file_anchor_1.IndexedFileAnchor; } });
36
+ var inheritance_1 = require("./inheritance");
37
+ Object.defineProperty(exports, "Inheritance", { enumerable: true, get: function () { return inheritance_1.Inheritance; } });
38
+ var interface_1 = require("./interface");
39
+ Object.defineProperty(exports, "Interface", { enumerable: true, get: function () { return interface_1.Interface; } });
40
+ var invocation_1 = require("./invocation");
41
+ Object.defineProperty(exports, "Invocation", { enumerable: true, get: function () { return invocation_1.Invocation; } });
42
+ var method_1 = require("./method");
43
+ Object.defineProperty(exports, "Method", { enumerable: true, get: function () { return method_1.Method; } });
44
+ var module_1 = require("./module");
45
+ Object.defineProperty(exports, "Module", { enumerable: true, get: function () { return module_1.Module; } });
46
+ var named_entity_1 = require("./named_entity");
47
+ Object.defineProperty(exports, "NamedEntity", { enumerable: true, get: function () { return named_entity_1.NamedEntity; } });
48
+ var parameter_type_1 = require("./parameter_type");
49
+ Object.defineProperty(exports, "ParameterType", { enumerable: true, get: function () { return parameter_type_1.ParameterType; } });
50
+ var parameter_1 = require("./parameter");
51
+ Object.defineProperty(exports, "Parameter", { enumerable: true, get: function () { return parameter_1.Parameter; } });
52
+ var parametric_class_1 = require("./parametric_class");
53
+ Object.defineProperty(exports, "ParametricClass", { enumerable: true, get: function () { return parametric_class_1.ParametricClass; } });
54
+ var parametric_interface_1 = require("./parametric_interface");
55
+ Object.defineProperty(exports, "ParametricInterface", { enumerable: true, get: function () { return parametric_interface_1.ParametricInterface; } });
56
+ var primitive_type_1 = require("./primitive_type");
57
+ Object.defineProperty(exports, "PrimitiveType", { enumerable: true, get: function () { return primitive_type_1.PrimitiveType; } });
58
+ var reference_1 = require("./reference");
59
+ Object.defineProperty(exports, "Reference", { enumerable: true, get: function () { return reference_1.Reference; } });
60
+ var scoping_entity_1 = require("./scoping_entity");
61
+ Object.defineProperty(exports, "ScopingEntity", { enumerable: true, get: function () { return scoping_entity_1.ScopingEntity; } });
62
+ var script_entity_1 = require("./script_entity");
63
+ Object.defineProperty(exports, "ScriptEntity", { enumerable: true, get: function () { return script_entity_1.ScriptEntity; } });
64
+ var source_anchor_1 = require("./source_anchor");
65
+ Object.defineProperty(exports, "SourceAnchor", { enumerable: true, get: function () { return source_anchor_1.SourceAnchor; } });
66
+ var source_language_1 = require("./source_language");
67
+ Object.defineProperty(exports, "SourceLanguage", { enumerable: true, get: function () { return source_language_1.SourceLanguage; } });
68
+ var sourced_entity_1 = require("./sourced_entity");
69
+ Object.defineProperty(exports, "SourcedEntity", { enumerable: true, get: function () { return sourced_entity_1.SourcedEntity; } });
70
+ var structural_entity_1 = require("./structural_entity");
71
+ Object.defineProperty(exports, "StructuralEntity", { enumerable: true, get: function () { return structural_entity_1.StructuralEntity; } });
72
+ var type_1 = require("./type");
73
+ Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return type_1.Type; } });
74
+ var variable_1 = require("./variable");
75
+ Object.defineProperty(exports, "Variable", { enumerable: true, get: function () { return variable_1.Variable; } });
76
+ var parametric_function_1 = require("./parametric_function");
77
+ Object.defineProperty(exports, "ParametricFunction", { enumerable: true, get: function () { return parametric_function_1.ParametricFunction; } });
78
+ var parametric_method_1 = require("./parametric_method");
79
+ Object.defineProperty(exports, "ParametricMethod", { enumerable: true, get: function () { return parametric_method_1.ParametricMethod; } });
80
+ var arrow_function_1 = require("./arrow_function");
81
+ Object.defineProperty(exports, "ArrowFunction", { enumerable: true, get: function () { return arrow_function_1.ArrowFunction; } });
82
+ var parametric_arrow_function_1 = require("./parametric_arrow_function");
83
+ Object.defineProperty(exports, "ParametricArrowFunction", { enumerable: true, get: function () { return parametric_arrow_function_1.ParametricArrowFunction; } });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2YsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQixpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBQ2QseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFDZCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHVEQUFxRDtBQUE1QyxtSEFBQSxlQUFlLE9BQUE7QUFDeEIsbURBQWtEO0FBQXpDLGdIQUFBLGNBQWMsT0FBQTtBQUN2Qix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZiwyQ0FBeUM7QUFBaEMsdUdBQUEsU0FBUyxPQUFBO0FBQ2xCLCtCQUE4QjtBQUFyQiw0RkFBQSxJQUFJLE9BQUE7QUFDYix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLHVDQUFzQztBQUE3QixvR0FBQSxRQUFRLE9BQUE7QUFDakIsaURBQStDO0FBQXRDLDZHQUFBLFlBQVksT0FBQTtBQUNyQiw2REFBMEQ7QUFBakQsd0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDJDQUEwQztBQUFqQyx3R0FBQSxVQUFVLE9BQUE7QUFDbkIsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZiwrQ0FBNkM7QUFBcEMsMkdBQUEsV0FBVyxPQUFBO0FBQ3BCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQix1REFBcUQ7QUFBNUMsbUhBQUEsZUFBZSxPQUFBO0FBQ3hCLCtEQUE2RDtBQUFwRCwySEFBQSxtQkFBbUIsT0FBQTtBQUM1QixtREFBaUQ7QUFBeEMsK0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0QixpREFBK0M7QUFBdEMsNkdBQUEsWUFBWSxPQUFBO0FBQ3JCLGlEQUErQztBQUF0Qyw2R0FBQSxZQUFZLE9BQUE7QUFDckIscURBQW1EO0FBQTFDLGlIQUFBLGNBQWMsT0FBQTtBQUN2QixtREFBaUQ7QUFBeEMsK0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlEQUF1RDtBQUE5QyxxSEFBQSxnQkFBZ0IsT0FBQTtBQUN6QiwrQkFBOEI7QUFBckIsNEZBQUEsSUFBSSxPQUFBO0FBQ2IsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQiw2REFBMkQ7QUFBbEQseUhBQUEsa0JBQWtCLE9BQUE7QUFDM0IseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseUVBQXNFO0FBQTdELG9JQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHVFQUFxRTtBQUE1RCxtSUFBQSx1QkFBdUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFjY2VzcyB9IGZyb20gXCIuL2FjY2Vzc1wiO1xyXG5leHBvcnQgeyBBY2Nlc3NvciB9IGZyb20gXCIuL2FjY2Vzc29yXCI7XHJcbmV4cG9ydCB7IEFsaWFzIH0gZnJvbSBcIi4vYWxpYXNcIjtcclxuZXhwb3J0IHsgQmVoYXZpb3JhbEVudGl0eSB9IGZyb20gXCIuL2JlaGF2aW9yYWxfZW50aXR5XCI7XHJcbmV4cG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuZXhwb3J0IHsgQ29tbWVudCB9IGZyb20gXCIuL2NvbW1lbnRcIjtcclxuZXhwb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xyXG5leHBvcnQgeyBDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL2NvbmNyZXRpc2F0aW9uXCI7XHJcbmV4cG9ydCB7IERlY29yYXRvciB9IGZyb20gXCIuL2RlY29yYXRvclwiO1xyXG5leHBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcclxuZXhwb3J0IHsgRW51bVZhbHVlIH0gZnJvbSBcIi4vZW51bV92YWx1ZVwiO1xyXG5leHBvcnQgeyBFbnVtIH0gZnJvbSBcIi4vZW51bVwiO1xyXG5leHBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gXCIuL3Byb3BlcnR5XCI7XHJcbmV4cG9ydCB7IEZ1bmN0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcclxuZXhwb3J0IHsgSW1wb3J0Q2xhdXNlIH0gZnJvbSBcIi4vaW1wb3J0X2NsYXVzZVwiO1xyXG5leHBvcnQgeyBJbmRleGVkRmlsZUFuY2hvciB9IGZyb20gXCIuL2luZGV4ZWRfZmlsZV9hbmNob3JcIjtcclxuZXhwb3J0IHsgSW5oZXJpdGFuY2UgfSBmcm9tIFwiLi9pbmhlcml0YW5jZVwiO1xyXG5leHBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tIFwiLi9pbnRlcmZhY2VcIjtcclxuZXhwb3J0IHsgSW52b2NhdGlvbiB9IGZyb20gXCIuL2ludm9jYXRpb25cIjtcclxuZXhwb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XHJcbmV4cG9ydCB7IE1vZHVsZSB9IGZyb20gXCIuL21vZHVsZVwiO1xyXG5leHBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xyXG5leHBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcclxuZXhwb3J0IHsgUGFyYW1ldGVyIH0gZnJvbSBcIi4vcGFyYW1ldGVyXCI7XHJcbmV4cG9ydCB7IFBhcmFtZXRyaWNDbGFzcyB9IGZyb20gXCIuL3BhcmFtZXRyaWNfY2xhc3NcIjtcclxuZXhwb3J0IHsgUGFyYW1ldHJpY0ludGVyZmFjZSB9IGZyb20gXCIuL3BhcmFtZXRyaWNfaW50ZXJmYWNlXCI7XHJcbmV4cG9ydCB7IFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiLi9wcmltaXRpdmVfdHlwZVwiO1xyXG5leHBvcnQgeyBSZWZlcmVuY2UgfSBmcm9tIFwiLi9yZWZlcmVuY2VcIjtcclxuZXhwb3J0IHsgU2NvcGluZ0VudGl0eSB9IGZyb20gXCIuL3Njb3BpbmdfZW50aXR5XCI7XHJcbmV4cG9ydCB7IFNjcmlwdEVudGl0eSB9IGZyb20gXCIuL3NjcmlwdF9lbnRpdHlcIjtcclxuZXhwb3J0IHsgU291cmNlQW5jaG9yIH0gZnJvbSBcIi4vc291cmNlX2FuY2hvclwiO1xyXG5leHBvcnQgeyBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL3NvdXJjZV9sYW5ndWFnZVwiO1xyXG5leHBvcnQgeyBTb3VyY2VkRW50aXR5IH0gZnJvbSBcIi4vc291cmNlZF9lbnRpdHlcIjtcclxuZXhwb3J0IHsgU3RydWN0dXJhbEVudGl0eSB9IGZyb20gXCIuL3N0cnVjdHVyYWxfZW50aXR5XCI7XHJcbmV4cG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XHJcbmV4cG9ydCB7IFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVcIjtcclxuZXhwb3J0IHsgUGFyYW1ldHJpY0Z1bmN0aW9uIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19mdW5jdGlvblwiO1xyXG5leHBvcnQgeyBQYXJhbWV0cmljTWV0aG9kIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19tZXRob2RcIjtcclxuZXhwb3J0IHsgQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL2Fycm93X2Z1bmN0aW9uXCI7XHJcbmV4cG9ydCB7IFBhcmFtZXRyaWNBcnJvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19hcnJvd19mdW5jdGlvblwiO1xyXG5leHBvcnQgeyBQYXJhbWV0ZXJDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRlcl9jb25jcmV0aXNhdGlvblwiO1xyXG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9maWxlX2FuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L2luZGV4ZWRfZmlsZV9hbmNob3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELG1EQUErQztBQUUvQyxNQUFhLGlCQUFrQixTQUFRLDRCQUFZO0lBTTFDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUMsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFjO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQTFDRCw4Q0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZUFuY2hvciB9IGZyb20gXCIuL3NvdXJjZV9hbmNob3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBJbmRleGVkRmlsZUFuY2hvciBleHRlbmRzIFNvdXJjZUFuY2hvciB7XHJcblxyXG4gIHByaXZhdGUgX3N0YXJ0UG9zITogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2VuZFBvcyE6IG51bWJlcjtcclxuICBwcml2YXRlIF9maWxlTmFtZSE6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW5kZXhlZEZpbGVBbmNob3JcIiwgdGhpcyk7XHJcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdGFydFBvc1wiLCB0aGlzLnN0YXJ0UG9zKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW5kUG9zXCIsIHRoaXMuZW5kUG9zKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZmlsZU5hbWVcIiwgdGhpcy5maWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICAgIGdldCBzdGFydFBvcygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGFydFBvcztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc3RhcnRQb3Moc3RhcnRQb3M6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0UG9zID0gc3RhcnRQb3M7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGVuZFBvcygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbmRQb3M7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGVuZFBvcyhlbmRQb3M6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2VuZFBvcyA9IGVuZFBvcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZmlsZU5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9maWxlTmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5oZXJpdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9pbmhlcml0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQscUNBQWtDO0FBR2xDLE1BQWEsV0FBWSxTQUFRLGVBQU07SUFLNUIsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFVBQTZCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUEyQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKO0FBbENELGtDQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSW5oZXJpdGFuY2UgZXh0ZW5kcyBFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3N1cGVyY2xhc3MhOiBDbGFzcyB8IEludGVyZmFjZTtcclxuICAgIHByaXZhdGUgX3N1YmNsYXNzITogQ2xhc3MgfCBJbnRlcmZhY2U7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkluaGVyaXRhbmNlXCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdXBlcmNsYXNzXCIsIHRoaXMuc3VwZXJjbGFzcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJjbGFzc1wiLCB0aGlzLnN1YmNsYXNzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc3VwZXJjbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3VwZXJjbGFzcztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc3VwZXJjbGFzcyhzdXBlcmNsYXNzOiBDbGFzcyB8IEludGVyZmFjZSkge1xyXG4gICAgICAgIHRoaXMuX3N1cGVyY2xhc3MgPSBzdXBlcmNsYXNzO1xyXG4gICAgICAgIHN1cGVyY2xhc3MuYWRkU3ViSW5oZXJpdGFuY2UodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHN1YmNsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdWJjbGFzcztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc3ViY2xhc3Moc3ViY2xhc3M6IENsYXNzIHwgSW50ZXJmYWNlKSB7XHJcbiAgICAgICAgdGhpcy5fc3ViY2xhc3MgPSBzdWJjbGFzcztcclxuICAgICAgICBzdWJjbGFzcy5hZGRTdXBlckluaGVyaXRhbmNlKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxpQ0FBOEI7QUFLOUIsTUFBYSxTQUFVLFNBQVEsV0FBSTtJQUFuQzs7UUFFWSxnQkFBVyxHQUFrQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3ZDLGFBQVEsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsQyx1QkFBa0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNqRCxxQkFBZ0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXVDM0QsQ0FBQztJQWhFVSxXQUFXLENBQUMsUUFBa0I7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFJTSxTQUFTLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUlNLG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFJTSxpQkFBaUIsQ0FBQyxjQUEyQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUMsY0FBYyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFHTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUFwRUQsOEJBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIi4vdHlwZVwiO1xyXG5pbXBvcnQgeyBNZXRob2QgfSBmcm9tIFwiLi9tZXRob2RcIjtcclxuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tIFwiLi9wcm9wZXJ0eVwiO1xyXG5pbXBvcnQgeyBJbmhlcml0YW5jZSB9IGZyb20gXCIuL2luaGVyaXRhbmNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJmYWNlIGV4dGVuZHMgVHlwZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJvcGVydGllczogU2V0PFByb3BlcnR5PiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydHkocHJvcGVydHk6IFByb3BlcnR5KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9wZXJ0aWVzLmhhcyhwcm9wZXJ0eSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllcy5hZGQocHJvcGVydHkpO1xyXG4gICAgICAgICAgICBwcm9wZXJ0eS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9tZXRob2RzOiBTZXQ8TWV0aG9kPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkTWV0aG9kKG1ldGhvZDogTWV0aG9kKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9tZXRob2RzLmhhcyhtZXRob2QpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21ldGhvZHMuYWRkKG1ldGhvZCk7XHJcbiAgICAgICAgICAgIG1ldGhvZC5wYXJlbnRFbnRpdHkgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zdXBlckluaGVyaXRhbmNlczogU2V0PEluaGVyaXRhbmNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkU3VwZXJJbmhlcml0YW5jZShzdXBlckluaGVyaXRhbmNlOiBJbmhlcml0YW5jZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fc3VwZXJJbmhlcml0YW5jZXMuaGFzKHN1cGVySW5oZXJpdGFuY2UpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3N1cGVySW5oZXJpdGFuY2VzLmFkZChzdXBlckluaGVyaXRhbmNlKTtcclxuICAgICAgICAgICAgc3VwZXJJbmhlcml0YW5jZS5zdWJjbGFzcyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N1YkluaGVyaXRhbmNlczogU2V0PEluaGVyaXRhbmNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkU3ViSW5oZXJpdGFuY2Uoc3ViSW5oZXJpdGFuY2U6IEluaGVyaXRhbmNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9zdWJJbmhlcml0YW5jZXMuaGFzKHN1YkluaGVyaXRhbmNlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJJbmhlcml0YW5jZXMuYWRkKHN1YkluaGVyaXRhbmNlKTtcclxuICAgICAgICAgICAgc3ViSW5oZXJpdGFuY2Uuc3VwZXJjbGFzcyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW50ZXJmYWNlXCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhdHRyaWJ1dGVzXCIsIHRoaXMucHJvcGVydGllcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJtZXRob2RzXCIsIHRoaXMubWV0aG9kcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdXBlckluaGVyaXRhbmNlc1wiLCB0aGlzLnN1cGVySW5oZXJpdGFuY2VzKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInN1YkluaGVyaXRhbmNlc1wiLCB0aGlzLnN1YkluaGVyaXRhbmNlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHByb3BlcnRpZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BlcnRpZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1ldGhvZHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHN1cGVySW5oZXJpdGFuY2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdXBlckluaGVyaXRhbmNlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc3ViSW5oZXJpdGFuY2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdWJJbmhlcml0YW5jZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Invocation = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class Invocation extends entity_1.Entity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._candidates = new Set();
10
+ }
11
+ addCandidate(candidate) {
12
+ if (!this._candidates.has(candidate)) {
13
+ this._candidates.add(candidate);
14
+ candidate.addIncomingInvocation(this);
15
+ }
16
+ }
17
+ getJSON() {
18
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Invocation", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+ addPropertiesToExporter(exporter) {
23
+ super.addPropertiesToExporter(exporter);
24
+ exporter.addProperty("candidates", this.candidates);
25
+ exporter.addProperty("receiver", this.receiver);
26
+ exporter.addProperty("sender", this.sender);
27
+ exporter.addProperty("signature", this.signature);
28
+ }
29
+ get candidates() {
30
+ return this._candidates;
31
+ }
32
+ get receiver() {
33
+ return this._receiver;
34
+ }
35
+ set receiver(receiver) {
36
+ this._receiver = receiver;
37
+ receiver.addReceivedInvocation(this);
38
+ }
39
+ get sender() {
40
+ return this._sender;
41
+ }
42
+ set sender(sender) {
43
+ this._sender = sender;
44
+ sender.addOutgoingInvocation(this);
45
+ }
46
+ get signature() {
47
+ return this._signature;
48
+ }
49
+ set signature(signature) {
50
+ this._signature = signature;
51
+ }
52
+ }
53
+ exports.Invocation = Invocation;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L2ludm9jYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBSTlELHFDQUFrQztBQUVsQyxNQUFhLFVBQVcsU0FBUSxlQUFNO0lBQXRDOztRQUVVLGdCQUFXLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7SUF3RHpELENBQUM7SUF0RFEsWUFBWSxDQUFDLFNBQTJCO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQU1NLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFQyxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBcUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQXVCO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUFpQjtRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0NBQ0o7QUExREQsZ0NBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnZvY2F0aW9uIGV4dGVuZHMgRW50aXR5IHtcclxuXHJcbiAgcHJpdmF0ZSBfY2FuZGlkYXRlczogU2V0PEJlaGF2aW9yYWxFbnRpdHk+ID0gbmV3IFNldCgpO1xyXG5cclxuICBwdWJsaWMgYWRkQ2FuZGlkYXRlKGNhbmRpZGF0ZTogQmVoYXZpb3JhbEVudGl0eSk6IHZvaWQgeyAgXHJcbiAgICBpZiAoIXRoaXMuX2NhbmRpZGF0ZXMuaGFzKGNhbmRpZGF0ZSkpIHtcclxuICAgICAgdGhpcy5fY2FuZGlkYXRlcy5hZGQoY2FuZGlkYXRlKTtcclxuICAgICAgY2FuZGlkYXRlLmFkZEluY29taW5nSW52b2NhdGlvbih0aGlzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlY2VpdmVyITogTmFtZWRFbnRpdHk7XHJcbiAgcHJpdmF0ZSBfc2VuZGVyITogQ29udGFpbmVyRW50aXR5O1xyXG4gIHByaXZhdGUgX3NpZ25hdHVyZSE6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW52b2NhdGlvblwiLCB0aGlzKTtcclxuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImNhbmRpZGF0ZXNcIiwgdGhpcy5jYW5kaWRhdGVzKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicmVjZWl2ZXJcIiwgdGhpcy5yZWNlaXZlcik7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNlbmRlclwiLCB0aGlzLnNlbmRlcik7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNpZ25hdHVyZVwiLCB0aGlzLnNpZ25hdHVyZSk7XHJcbiAgfVxyXG5cclxuICAgIGdldCBjYW5kaWRhdGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5kaWRhdGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZWNlaXZlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVjZWl2ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHJlY2VpdmVyKHJlY2VpdmVyOiBOYW1lZEVudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX3JlY2VpdmVyID0gcmVjZWl2ZXI7XHJcbiAgICAgICAgcmVjZWl2ZXIuYWRkUmVjZWl2ZWRJbnZvY2F0aW9uKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc2VuZGVyKHNlbmRlcjogQ29udGFpbmVyRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fc2VuZGVyID0gc2VuZGVyO1xyXG4gICAgICAgIHNlbmRlci5hZGRPdXRnb2luZ0ludm9jYXRpb24odGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNpZ25hdHVyZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBzaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zaWduYXR1cmUgPSBzaWduYXR1cmU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Method = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const behavioral_entity_1 = require("./behavioral_entity");
6
+ class Method extends behavioral_entity_1.BehavioralEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Method", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("parentType", this.parentEntity);
15
+ exporter.addProperty("kind", this.kind);
16
+ exporter.addProperty("isAbstract", this.isAbstract);
17
+ exporter.addProperty("isClassSide", this.isClassSide);
18
+ exporter.addProperty("isPrivate", this.isPrivate);
19
+ exporter.addProperty("isPublic", this.isPublic);
20
+ exporter.addProperty("isProtected", this.isProtected);
21
+ }
22
+ get parentEntity() {
23
+ return this._parentEntity;
24
+ }
25
+ set parentEntity(parentEntity) {
26
+ this._parentEntity = parentEntity;
27
+ parentEntity.addMethod(this);
28
+ }
29
+ get kind() {
30
+ return this._kind;
31
+ }
32
+ set kind(kind) {
33
+ this._kind = kind;
34
+ }
35
+ get isAbstract() {
36
+ return this._isAbstract;
37
+ }
38
+ set isAbstract(isAbstract) {
39
+ this._isAbstract = isAbstract;
40
+ }
41
+ get isClassSide() {
42
+ return this._isClassSide;
43
+ }
44
+ set isClassSide(isClassSide) {
45
+ this._isClassSide = isClassSide;
46
+ }
47
+ get isPrivate() {
48
+ return this._isPrivate;
49
+ }
50
+ set isPrivate(isPrivate) {
51
+ this._isPrivate = isPrivate;
52
+ }
53
+ get isPublic() {
54
+ return this._isPublic;
55
+ }
56
+ set isPublic(isPublic) {
57
+ this._isPublic = isPublic;
58
+ }
59
+ get isProtected() {
60
+ return this._isProtected;
61
+ }
62
+ set isProtected(isProtected) {
63
+ this._isProtected = isProtected;
64
+ }
65
+ }
66
+ exports.Method = Method;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFJdkQsTUFBYSxNQUFPLFNBQVEsb0NBQWdCO0lBVW5DLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQStCO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxVQUFtQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUFvQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFpQjtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUFvQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0NBQ0o7QUFuRkQsd0JBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcclxuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xyXG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tIFwiLi9pbnRlcmZhY2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNZXRob2QgZXh0ZW5kcyBCZWhhdmlvcmFsRW50aXR5IHtcclxuXHJcbiAgcHJpdmF0ZSBfcGFyZW50RW50aXR5ITogQ2xhc3MgfCBJbnRlcmZhY2U7XHJcbiAgcHJpdmF0ZSBfa2luZCE6IHN0cmluZztcclxuICBwcml2YXRlIF9pc0Fic3RyYWN0ITogYm9vbGVhbjtcclxuICBwcml2YXRlIF9pc0NsYXNzU2lkZSE6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfaXNQcml2YXRlITogYm9vbGVhbjtcclxuICBwcml2YXRlIF9pc1B1YmxpYyE6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfaXNQcm90ZWN0ZWQhOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJNZXRob2RcIiwgdGhpcyk7XHJcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJwYXJlbnRUeXBlXCIsIHRoaXMucGFyZW50RW50aXR5KTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwia2luZFwiLCB0aGlzLmtpbmQpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc0Fic3RyYWN0XCIsIHRoaXMuaXNBYnN0cmFjdCk7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzQ2xhc3NTaWRlXCIsIHRoaXMuaXNDbGFzc1NpZGUpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc1ByaXZhdGVcIiwgdGhpcy5pc1ByaXZhdGUpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc1B1YmxpY1wiLCB0aGlzLmlzUHVibGljKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiaXNQcm90ZWN0ZWRcIiwgdGhpcy5pc1Byb3RlY3RlZCk7XHJcbiAgfVxyXG5cclxuICAgIGdldCBwYXJlbnRFbnRpdHkoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudEVudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgcGFyZW50RW50aXR5KHBhcmVudEVudGl0eTogQ2xhc3MgfCBJbnRlcmZhY2UpIHtcclxuICAgICAgICB0aGlzLl9wYXJlbnRFbnRpdHkgPSBwYXJlbnRFbnRpdHk7XHJcbiAgICAgICAgcGFyZW50RW50aXR5LmFkZE1ldGhvZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQga2luZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fa2luZDtcclxuICAgIH1cclxuXHJcbiAgICBzZXQga2luZChraW5kOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9raW5kID0ga2luZDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNBYnN0cmFjdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNBYnN0cmFjdDtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNBYnN0cmFjdChpc0Fic3RyYWN0OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNBYnN0cmFjdCA9IGlzQWJzdHJhY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzQ2xhc3NTaWRlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0NsYXNzU2lkZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNDbGFzc1NpZGUoaXNDbGFzc1NpZGU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0NsYXNzU2lkZSA9IGlzQ2xhc3NTaWRlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1ByaXZhdGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUHJpdmF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNQcml2YXRlKGlzUHJpdmF0ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzUHJpdmF0ZSA9IGlzUHJpdmF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNQdWJsaWMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUHVibGljO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc1B1YmxpYyhpc1B1YmxpYzogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzUHVibGljID0gaXNQdWJsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzUHJvdGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Byb3RlY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNQcm90ZWN0ZWQoaXNQcm90ZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc1Byb3RlY3RlZCA9IGlzUHJvdGVjdGVkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Module = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const script_entity_1 = require("./script_entity");
6
+ class Module extends script_entity_1.ScriptEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._isAmbient = false;
10
+ this._isNamespace = false;
11
+ this._isModule = true;
12
+ // incomingImports are in NamedEntity
13
+ this._outgoingImports = new Set();
14
+ }
15
+ get isAmbient() {
16
+ return this._isAmbient;
17
+ }
18
+ set isAmbient(value) {
19
+ this._isAmbient = value;
20
+ }
21
+ get isNamespace() {
22
+ return this._isNamespace;
23
+ }
24
+ set isNamespace(value) {
25
+ this._isNamespace = value;
26
+ }
27
+ get isModule() {
28
+ return this._isModule;
29
+ }
30
+ set isModule(value) {
31
+ this._isModule = value;
32
+ }
33
+ addOutgoingImport(importClause) {
34
+ if (!this._outgoingImports.has(importClause)) {
35
+ this._outgoingImports.add(importClause);
36
+ importClause.importingEntity = this; // opposite
37
+ }
38
+ }
39
+ getJSON() {
40
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Module", this);
41
+ this.addPropertiesToExporter(json);
42
+ return json.getJSON();
43
+ }
44
+ addPropertiesToExporter(exporter) {
45
+ super.addPropertiesToExporter(exporter);
46
+ exporter.addProperty("outgoingImports", this.outgoingImports);
47
+ }
48
+ get parentScope() {
49
+ return this._parentScope;
50
+ }
51
+ set parentScope(parentScope) {
52
+ this._parentScope = parentScope;
53
+ parentScope.addModule(this);
54
+ }
55
+ get outgoingImports() {
56
+ return this._outgoingImports;
57
+ }
58
+ }
59
+ exports.Module = Module;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUc5RCxtREFBK0M7QUFFL0MsTUFBYSxNQUFPLFNBQVEsNEJBQVk7SUFBeEM7O1FBVVksZUFBVSxHQUFZLEtBQUssQ0FBQztRQVM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVU5QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBR2xDLHFDQUFxQztRQUM3QixxQkFBZ0IsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdDNUQsQ0FBQztJQS9ERyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFNBQVMsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFJRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFdBQVcsQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFHRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQVFELGlCQUFpQixDQUFDLFlBQTBCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4QyxZQUFZLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFFLFdBQVc7UUFDckQsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFdBQTBCO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7Q0FDSjtBQWpFRCx3QkFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IEltcG9ydENsYXVzZSB9IGZyb20gXCIuL2ltcG9ydF9jbGF1c2VcIjtcclxuaW1wb3J0IHsgU2NvcGluZ0VudGl0eSB9IGZyb20gXCIuL3Njb3BpbmdfZW50aXR5XCI7XHJcbmltcG9ydCB7IFNjcmlwdEVudGl0eSB9IGZyb20gXCIuL3NjcmlwdF9lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNb2R1bGUgZXh0ZW5kcyBTY3JpcHRFbnRpdHkge1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNBbWJpZW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0FtYmllbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc0FtYmllbnQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0FtYmllbnQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9pc0FtYmllbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzTmFtZXNwYWNlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc05hbWVzcGFjZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzTmFtZXNwYWNlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNOYW1lc3BhY2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2lzTmFtZXNwYWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGdldCBpc01vZHVsZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNNb2R1bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc01vZHVsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzTW9kdWxlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNNb2R1bGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgX3BhcmVudFNjb3BlITogU2NvcGluZ0VudGl0eTtcclxuICAgIC8vIGluY29taW5nSW1wb3J0cyBhcmUgaW4gTmFtZWRFbnRpdHlcclxuICAgIHByaXZhdGUgX291dGdvaW5nSW1wb3J0czogU2V0PEltcG9ydENsYXVzZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgYWRkT3V0Z29pbmdJbXBvcnQoaW1wb3J0Q2xhdXNlOiBJbXBvcnRDbGF1c2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX291dGdvaW5nSW1wb3J0cy5oYXMoaW1wb3J0Q2xhdXNlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ0ltcG9ydHMuYWRkKGltcG9ydENsYXVzZSk7XHJcbiAgICAgICAgICAgIGltcG9ydENsYXVzZS5pbXBvcnRpbmdFbnRpdHkgPSB0aGlzOyAgLy8gb3Bwb3NpdGVcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIk1vZHVsZVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwib3V0Z29pbmdJbXBvcnRzXCIsIHRoaXMub3V0Z29pbmdJbXBvcnRzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyZW50U2NvcGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudFNjb3BlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRTY29wZShwYXJlbnRTY29wZTogU2NvcGluZ0VudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudFNjb3BlID0gcGFyZW50U2NvcGU7XHJcbiAgICAgICAgcGFyZW50U2NvcGUuYWRkTW9kdWxlKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBvdXRnb2luZ0ltcG9ydHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX291dGdvaW5nSW1wb3J0cztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NamedEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const sourced_entity_1 = require("./sourced_entity");
6
+ class NamedEntity extends sourced_entity_1.SourcedEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._receivedInvocations = new Set();
10
+ this._incomingImports = new Set();
11
+ this._aliases = new Set();
12
+ this._decorators = new Set();
13
+ }
14
+ addReceivedInvocation(receivedInvocation) {
15
+ if (!this._receivedInvocations.has(receivedInvocation)) {
16
+ this._receivedInvocations.add(receivedInvocation);
17
+ receivedInvocation.receiver = this;
18
+ }
19
+ }
20
+ addIncomingImport(anImport) {
21
+ if (!this._incomingImports.has(anImport)) {
22
+ this._incomingImports.add(anImport);
23
+ anImport.importedEntity = this; // opposite
24
+ }
25
+ }
26
+ addAlias(alias) {
27
+ if (!this._aliases.has(alias)) {
28
+ this._aliases.add(alias);
29
+ alias.parentEntity = this;
30
+ }
31
+ }
32
+ addDecorator(decorator) {
33
+ if (!this._decorators.has(decorator)) {
34
+ this._decorators.add(decorator);
35
+ decorator.decoratedEntity = this;
36
+ }
37
+ }
38
+ getJSON() {
39
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("NamedEntity", this);
40
+ this.addPropertiesToExporter(json);
41
+ return json.getJSON();
42
+ }
43
+ addPropertiesToExporter(exporter) {
44
+ super.addPropertiesToExporter(exporter);
45
+ // exporter.addProperty("fullyQualifiedName", this.getFullyQualifiedName());
46
+ // exporter.addProperty("incomingInvocations", this.getReceivedInvocations());
47
+ exporter.addProperty("incomingImports", this.incomingImports);
48
+ exporter.addProperty("name", this.name);
49
+ // exporter.addProperty("aliases", this.getAliases()); /* since these generate Unknown property messages */
50
+ exporter.addProperty("decorators", this.decorators);
51
+ }
52
+ get fullyQualifiedName() {
53
+ return this._fullyQualifiedName;
54
+ }
55
+ set fullyQualifiedName(fullyQualifiedName) {
56
+ this._fullyQualifiedName = fullyQualifiedName;
57
+ }
58
+ get receivedInvocations() {
59
+ return this._receivedInvocations;
60
+ }
61
+ get incomingImports() {
62
+ return this._incomingImports;
63
+ }
64
+ get name() {
65
+ return this._name;
66
+ }
67
+ set name(name) {
68
+ this._name = name;
69
+ }
70
+ get aliases() {
71
+ return this._aliases;
72
+ }
73
+ get decorators() {
74
+ return this._decorators;
75
+ }
76
+ }
77
+ exports.NamedEntity = NamedEntity;
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWRfZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvbmFtZWRfZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxREFBaUQ7QUFNakQsTUFBYSxXQUFZLFNBQVEsOEJBQWE7SUFBOUM7O1FBR1kseUJBQW9CLEdBQW9CLElBQUksR0FBRyxFQUFFLENBQUM7UUFTbEQscUJBQWdCLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFVaEQsYUFBUSxHQUFlLElBQUksR0FBRyxFQUFFLENBQUM7UUFTakMsZ0JBQVcsR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXdEcEQsQ0FBQztJQWxGVSxxQkFBcUIsQ0FBQyxrQkFBOEI7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNsRCxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBSU0saUJBQWlCLENBQUMsUUFBc0I7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLENBQUUsV0FBVztRQUNoRCxDQUFDO0lBQ0wsQ0FBQztJQUtNLFFBQVEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBSU0sWUFBWSxDQUFDLFNBQW9CO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4Qyw0RUFBNEU7UUFDNUUsOEVBQThFO1FBQzlFLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4Qyw0R0FBNEc7UUFDNUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBMEI7UUFDN0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBdkZELGtDQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XHJcbmltcG9ydCB7IEludm9jYXRpb24gfSBmcm9tIFwiLi9pbnZvY2F0aW9uXCI7XHJcbmltcG9ydCB7IEltcG9ydENsYXVzZSB9IGZyb20gXCIuL2ltcG9ydF9jbGF1c2VcIjtcclxuaW1wb3J0IHsgQWxpYXMgfSBmcm9tIFwiLi9hbGlhc1wiO1xyXG5pbXBvcnQgeyBEZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBOYW1lZEVudGl0eSBleHRlbmRzIFNvdXJjZWRFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX2Z1bGx5UXVhbGlmaWVkTmFtZSE6IHN0cmluZztcclxuICAgIHByaXZhdGUgX3JlY2VpdmVkSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkUmVjZWl2ZWRJbnZvY2F0aW9uKHJlY2VpdmVkSW52b2NhdGlvbjogSW52b2NhdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fcmVjZWl2ZWRJbnZvY2F0aW9ucy5oYXMocmVjZWl2ZWRJbnZvY2F0aW9uKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZWNlaXZlZEludm9jYXRpb25zLmFkZChyZWNlaXZlZEludm9jYXRpb24pO1xyXG4gICAgICAgICAgICByZWNlaXZlZEludm9jYXRpb24ucmVjZWl2ZXIgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9pbmNvbWluZ0ltcG9ydHM6IFNldDxJbXBvcnRDbGF1c2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRJbmNvbWluZ0ltcG9ydChhbkltcG9ydDogSW1wb3J0Q2xhdXNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9pbmNvbWluZ0ltcG9ydHMuaGFzKGFuSW1wb3J0KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbmNvbWluZ0ltcG9ydHMuYWRkKGFuSW1wb3J0KTtcclxuICAgICAgICAgICAgYW5JbXBvcnQuaW1wb3J0ZWRFbnRpdHkgPSB0aGlzOyAgLy8gb3Bwb3NpdGVcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbmFtZSE6IHN0cmluZztcclxuICAgIHByaXZhdGUgX2FsaWFzZXM6IFNldDxBbGlhcz4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEFsaWFzKGFsaWFzOiBBbGlhcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWxpYXNlcy5oYXMoYWxpYXMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FsaWFzZXMuYWRkKGFsaWFzKTtcclxuICAgICAgICAgICAgYWxpYXMucGFyZW50RW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVjb3JhdG9yczogU2V0PERlY29yYXRvcj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZERlY29yYXRvcihkZWNvcmF0b3I6IERlY29yYXRvcik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fZGVjb3JhdG9ycy5oYXMoZGVjb3JhdG9yKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kZWNvcmF0b3JzLmFkZChkZWNvcmF0b3IpO1xyXG4gICAgICAgICAgICBkZWNvcmF0b3IuZGVjb3JhdGVkRW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIk5hbWVkRW50aXR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgLy8gZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmdWxseVF1YWxpZmllZE5hbWVcIiwgdGhpcy5nZXRGdWxseVF1YWxpZmllZE5hbWUoKSk7XHJcbiAgICAgICAgLy8gZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbmNvbWluZ0ludm9jYXRpb25zXCIsIHRoaXMuZ2V0UmVjZWl2ZWRJbnZvY2F0aW9ucygpKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImluY29taW5nSW1wb3J0c1wiLCB0aGlzLmluY29taW5nSW1wb3J0cyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJuYW1lXCIsIHRoaXMubmFtZSk7XHJcbiAgICAgICAgLy8gZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhbGlhc2VzXCIsIHRoaXMuZ2V0QWxpYXNlcygpKTsgIC8qIHNpbmNlIHRoZXNlIGdlbmVyYXRlIFVua25vd24gcHJvcGVydHkgbWVzc2FnZXMgKi9cclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImRlY29yYXRvcnNcIiwgdGhpcy5kZWNvcmF0b3JzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZnVsbHlRdWFsaWZpZWROYW1lKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9mdWxseVF1YWxpZmllZE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGZ1bGx5UXVhbGlmaWVkTmFtZShmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2Z1bGx5UXVhbGlmaWVkTmFtZSA9IGZ1bGx5UXVhbGlmaWVkTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVjZWl2ZWRJbnZvY2F0aW9ucygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVjZWl2ZWRJbnZvY2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaW5jb21pbmdJbXBvcnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmNvbWluZ0ltcG9ydHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFsaWFzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FsaWFzZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlY29yYXRvcnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRvcnM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parameter = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const structural_entity_1 = require("./structural_entity");
6
+ class Parameter extends structural_entity_1.StructuralEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Parameter", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("parentBehaviouralEntity", this.parentEntity);
15
+ }
16
+ get parentEntity() {
17
+ return this._parentEntity;
18
+ }
19
+ set parentEntity(parentEntity) {
20
+ this._parentEntity = parentEntity;
21
+ parentEntity.addParameter(this);
22
+ }
23
+ }
24
+ exports.Parameter = Parameter;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvcGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFHdkQsTUFBYSxTQUFVLFNBQVEsb0NBQWdCO0lBSXRDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVDLElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBOEI7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0o7QUF2QkQsOEJBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcclxuaW1wb3J0IHsgQmVoYXZpb3JhbEVudGl0eSB9IGZyb20gXCIuL2JlaGF2aW9yYWxfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyIGV4dGVuZHMgU3RydWN0dXJhbEVudGl0eSB7XHJcblxyXG4gIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IEJlaGF2aW9yYWxFbnRpdHk7XHJcblxyXG4gIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRlclwiLCB0aGlzKTtcclxuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEJlaGF2aW91cmFsRW50aXR5XCIsIHRoaXMucGFyZW50RW50aXR5KTtcclxuICB9XHJcblxyXG4gICAgZ2V0IHBhcmVudEVudGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50RW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRFbnRpdHkocGFyZW50RW50aXR5OiBCZWhhdmlvcmFsRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xyXG4gICAgICAgIHBhcmVudEVudGl0eS5hZGRQYXJhbWV0ZXIodGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParameterConcretisation = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class ParameterConcretisation extends entity_1.Entity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.concretisations = new Set();
10
+ }
11
+ getGenericParameter() {
12
+ return this.genericParameter;
13
+ }
14
+ setGenericParameter(genericEntity) {
15
+ this.genericParameter = genericEntity;
16
+ }
17
+ getConcreteParameter() {
18
+ return this.concreteParameter;
19
+ }
20
+ setConcreteParameter(concreteParameter) {
21
+ this.concreteParameter = concreteParameter;
22
+ }
23
+ getConcretisations() {
24
+ return this.concretisations;
25
+ }
26
+ addConcretisation(concretisation) {
27
+ if (!this.concretisations.has(concretisation)) {
28
+ this.concretisations.add(concretisation);
29
+ }
30
+ }
31
+ getJSON() {
32
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterConcretisation", this);
33
+ this.addPropertiesToExporter(json);
34
+ return json.getJSON();
35
+ }
36
+ addPropertiesToExporter(exporter) {
37
+ super.addPropertiesToExporter(exporter);
38
+ exporter.addProperty("genericEntity", this.getGenericParameter());
39
+ exporter.addProperty("concreteEntity", this.getConcreteParameter());
40
+ exporter.addProperty("concretisations", this.getConcretisations());
41
+ }
42
+ }
43
+ exports.ParameterConcretisation = ParameterConcretisation;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyQ29uY3JldGlzYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0ZXJDb25jcmV0aXNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQscUNBQWtDO0FBSWxDLE1BQWEsdUJBQXdCLFNBQVEsZUFBTTtJQUFuRDs7UUFzQlksb0JBQWUsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXlCN0QsQ0FBQztJQTNDVSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGFBQTRCO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUlNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsaUJBQWdDO1FBQzFELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBSU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBOEI7UUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDcEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FFSjtBQS9DRCwwREErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENvbmNyZXRpc2F0aW9uIH0gZnJvbSBcIi4vY29uY3JldGlzYXRpb25cIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tIFwiLi9wYXJhbWV0ZXJfdHlwZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJDb25jcmV0aXNhdGlvbiBleHRlbmRzIEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmljUGFyYW1ldGVyOiBQYXJhbWV0ZXJUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBnZXRHZW5lcmljUGFyYW1ldGVyKCk6IFBhcmFtZXRlclR5cGUge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmljUGFyYW1ldGVyO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHVibGljIHNldEdlbmVyaWNQYXJhbWV0ZXIoZ2VuZXJpY0VudGl0eTogUGFyYW1ldGVyVHlwZSk6IHZvaWQge1xyXG4gICAgICB0aGlzLmdlbmVyaWNQYXJhbWV0ZXIgPSBnZW5lcmljRW50aXR5O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSBjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZTtcclxuICBcclxuICAgIHB1YmxpYyBnZXRDb25jcmV0ZVBhcmFtZXRlcigpOiBQcmltaXRpdmVUeXBlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY3JldGVQYXJhbWV0ZXI7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgc2V0Q29uY3JldGVQYXJhbWV0ZXIoY29uY3JldGVQYXJhbWV0ZXI6IFByaW1pdGl2ZVR5cGUpOiB2b2lkIHtcclxuICAgICAgdGhpcy5jb25jcmV0ZVBhcmFtZXRlciA9IGNvbmNyZXRlUGFyYW1ldGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY29uY3JldGlzYXRpb25zOiBTZXQ8Q29uY3JldGlzYXRpb24+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBnZXRDb25jcmV0aXNhdGlvbnMoKTogU2V0PENvbmNyZXRpc2F0aW9uPiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmNyZXRpc2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkQ29uY3JldGlzYXRpb24oY29uY3JldGlzYXRpb246IENvbmNyZXRpc2F0aW9uKTogdm9pZCB7XHJcbiAgICAgIGlmICghdGhpcy5jb25jcmV0aXNhdGlvbnMuaGFzKGNvbmNyZXRpc2F0aW9uKSkge1xyXG4gICAgICAgIHRoaXMuY29uY3JldGlzYXRpb25zLmFkZChjb25jcmV0aXNhdGlvbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiUGFyYW1ldGVyQ29uY3JldGlzYXRpb25cIiwgdGhpcyk7XHJcbiAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNFbnRpdHlcIiwgdGhpcy5nZXRHZW5lcmljUGFyYW1ldGVyKCkpO1xyXG4gICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImNvbmNyZXRlRW50aXR5XCIsIHRoaXMuZ2V0Q29uY3JldGVQYXJhbWV0ZXIoKSk7XHJcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGlzYXRpb25zXCIsIHRoaXMuZ2V0Q29uY3JldGlzYXRpb25zKCkpO1xyXG4gICAgfVxyXG5cclxufSJdfQ==