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.
- package/.eslintrc.json +24 -24
- package/.vscode/settings.json +4 -0
- package/LICENSE +24 -24
- package/README.md +78 -78
- package/TODO +1 -0
- package/arwea-fix.json +1 -0
- package/bogus.ts +3 -0
- package/class-diagram.puml +792 -0
- package/debug.txt +13332 -0
- package/debuglog.txt +12073 -0
- package/dist/analyze.js +19 -9
- package/dist/analyze_functions/process_functions.js +101 -71
- package/dist/famix2puml.js +126 -0
- package/dist/famix_functions/EntityDictionary.js +881 -509
- package/dist/famix_functions/helpers_creation.js +18 -8
- package/dist/fqn.js +44 -11
- package/dist/getClasses-arrow-body.js +43 -0
- package/dist/lib/famix/famix_JSON_exporter.js +1 -1
- package/dist/lib/famix/famix_base_element.js +1 -1
- package/dist/lib/famix/famix_repository.js +67 -2
- package/dist/lib/famix/index.js +18 -8
- package/dist/lib/famix/model/famix/access.js +1 -1
- package/dist/lib/famix/model/famix/accessor.js +1 -1
- package/dist/lib/famix/model/famix/alias.js +1 -1
- package/dist/lib/famix/model/famix/arrow_function.js +1 -1
- package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
- package/dist/lib/famix/model/famix/class.js +1 -1
- package/dist/lib/famix/model/famix/comment.js +1 -1
- package/dist/lib/famix/model/famix/concretisation.js +1 -1
- package/dist/lib/famix/model/famix/container_entity.js +1 -1
- package/dist/lib/famix/model/famix/decorator.js +1 -1
- package/dist/lib/famix/model/famix/entity.js +1 -1
- package/dist/lib/famix/model/famix/enum.js +1 -1
- package/dist/lib/famix/model/famix/enum_value.js +1 -1
- package/dist/lib/famix/model/famix/function.js +1 -1
- package/dist/lib/famix/model/famix/import_clause.js +1 -1
- package/dist/lib/famix/model/famix/index.js +1 -1
- package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
- package/dist/lib/famix/model/famix/inheritance.js +1 -1
- package/dist/lib/famix/model/famix/interface.js +1 -1
- package/dist/lib/famix/model/famix/invocation.js +1 -1
- package/dist/lib/famix/model/famix/method.js +1 -1
- package/dist/lib/famix/model/famix/module.js +1 -1
- package/dist/lib/famix/model/famix/named_entity.js +1 -1
- package/dist/lib/famix/model/famix/parameter.js +1 -1
- package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
- package/dist/lib/famix/model/famix/parameter_type.js +1 -1
- package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
- package/dist/lib/famix/model/famix/parametric_class.js +1 -1
- package/dist/lib/famix/model/famix/parametric_function.js +1 -1
- package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
- package/dist/lib/famix/model/famix/parametric_method.js +1 -1
- package/dist/lib/famix/model/famix/primitive_type.js +1 -1
- package/dist/lib/famix/model/famix/property.js +1 -1
- package/dist/lib/famix/model/famix/reference.js +1 -1
- package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
- package/dist/lib/famix/model/famix/script_entity.js +1 -1
- package/dist/lib/famix/model/famix/source_anchor.js +1 -1
- package/dist/lib/famix/model/famix/source_language.js +1 -1
- package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
- package/dist/lib/famix/model/famix/structural_entity.js +1 -1
- package/dist/lib/famix/model/famix/type.js +1 -1
- package/dist/lib/famix/model/famix/variable.js +1 -1
- package/dist/lib/famix/src/famix_JSON_exporter.js +55 -0
- package/dist/lib/famix/src/famix_base_element.js +18 -0
- package/dist/lib/famix/src/famix_repository.js +224 -0
- package/dist/lib/famix/src/index.js +31 -0
- package/dist/lib/famix/src/model/famix/access.js +40 -0
- package/dist/lib/famix/src/model/famix/accessor.js +17 -0
- package/dist/lib/famix/src/model/famix/alias.js +33 -0
- package/dist/lib/famix/src/model/famix/arrowFunction.js +17 -0
- package/dist/lib/famix/src/model/famix/arrow_function.js +17 -0
- package/dist/lib/famix/src/model/famix/behavioral_entity.js +79 -0
- package/dist/lib/famix/src/model/famix/class.js +71 -0
- package/dist/lib/famix/src/model/famix/comment.js +39 -0
- package/dist/lib/famix/src/model/famix/concretisation.js +31 -0
- package/dist/lib/famix/src/model/famix/container_entity.js +126 -0
- package/dist/lib/famix/src/model/famix/decorator.js +32 -0
- package/dist/lib/famix/src/model/famix/entity.js +17 -0
- package/dist/lib/famix/src/model/famix/enum.js +31 -0
- package/dist/lib/famix/src/model/famix/enum_value.js +25 -0
- package/dist/lib/famix/src/model/famix/function.js +17 -0
- package/dist/lib/famix/src/model/famix/implicit_variable.js +17 -0
- package/dist/lib/famix/src/model/famix/import_clause.js +41 -0
- package/dist/lib/famix/src/model/famix/index.js +86 -0
- package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +38 -0
- package/dist/lib/famix/src/model/famix/inheritance.js +33 -0
- package/dist/lib/famix/src/model/famix/interface.js +64 -0
- package/dist/lib/famix/src/model/famix/invocation.js +54 -0
- package/dist/lib/famix/src/model/famix/method.js +67 -0
- package/dist/lib/famix/src/model/famix/module.js +60 -0
- package/dist/lib/famix/src/model/famix/named_entity.js +78 -0
- package/dist/lib/famix/src/model/famix/parameter.js +25 -0
- package/dist/lib/famix/src/model/famix/parameterConcretisation.js +44 -0
- package/dist/lib/famix/src/model/famix/parameter_concretisation.js +44 -0
- package/dist/lib/famix/src/model/famix/parameter_type.js +45 -0
- package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +29 -0
- package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +31 -0
- package/dist/lib/famix/src/model/famix/parametric_class.js +44 -0
- package/dist/lib/famix/src/model/famix/parametric_function.js +31 -0
- package/dist/lib/famix/src/model/famix/parametric_interface.js +44 -0
- package/dist/lib/famix/src/model/famix/parametric_method.js +31 -0
- package/dist/lib/famix/src/model/famix/primitive_type.js +17 -0
- package/dist/lib/famix/src/model/famix/property.js +73 -0
- package/dist/lib/famix/src/model/famix/reference.js +33 -0
- package/dist/lib/famix/src/model/famix/scoping_entity.js +36 -0
- package/dist/lib/famix/src/model/famix/script_entity.js +29 -0
- package/dist/lib/famix/src/model/famix/source_anchor.js +27 -0
- package/dist/lib/famix/src/model/famix/source_language.js +35 -0
- package/dist/lib/famix/src/model/famix/sourced_entity.js +60 -0
- package/dist/lib/famix/src/model/famix/structural_entity.js +39 -0
- package/dist/lib/famix/src/model/famix/text_anchor.js +38 -0
- package/dist/lib/famix/src/model/famix/type.js +73 -0
- package/dist/lib/famix/src/model/famix/variable.js +24 -0
- package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
- package/dist/refactorer/refactor-getter-setter.js +18 -8
- package/dist/ts2famix-cli-wrapper.js +18 -8
- package/dist/ts2famix-cli.js +18 -8
- package/dist/ts2famix-tsconfig.js +18 -8
- package/doc-uml/famix-typescript-model.puml +607 -607
- package/eslint.config.mjs +28 -0
- package/fqn-model.json +1 -0
- package/iterateGenericTypes.ts +69 -0
- package/out/class-diagram/class-diagram.svg +1 -0
- package/package.json +70 -66
- package/sample.json +1 -0
- package/sample.ts +1 -0
- package/src/analyze.ts +120 -120
- package/src/analyze_functions/process_functions.ts +1040 -1019
- package/src/famix_functions/EntityDictionary.ts +2016 -1593
- package/src/famix_functions/helpers_creation.ts +135 -135
- package/src/fqn.ts +50 -16
- package/src/generate_uml.sh +20 -20
- package/src/lib/famix/License.md +22 -22
- package/src/lib/famix/famix_JSON_exporter.ts +56 -56
- package/src/lib/famix/famix_base_element.ts +22 -22
- package/src/lib/famix/famix_repository.ts +278 -243
- package/src/lib/famix/index.ts +8 -8
- package/src/lib/famix/model/famix/access.ts +50 -50
- package/src/lib/famix/model/famix/accessor.ts +15 -15
- package/src/lib/famix/model/famix/alias.ts +39 -39
- package/src/lib/famix/model/famix/arrow_function.ts +15 -15
- package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
- package/src/lib/famix/model/famix/class.ts +85 -85
- package/src/lib/famix/model/famix/comment.ts +47 -47
- package/src/lib/famix/model/famix/concretisation.ts +40 -40
- package/src/lib/famix/model/famix/container_entity.ts +160 -160
- package/src/lib/famix/model/famix/decorator.ts +37 -37
- package/src/lib/famix/model/famix/entity.ts +15 -15
- package/src/lib/famix/model/famix/enum.ts +30 -30
- package/src/lib/famix/model/famix/enum_value.ts +28 -28
- package/src/lib/famix/model/famix/function.ts +15 -15
- package/src/lib/famix/model/famix/import_clause.ts +51 -51
- package/src/lib/famix/model/famix/index.ts +41 -41
- package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
- package/src/lib/famix/model/famix/inheritance.ts +40 -40
- package/src/lib/famix/model/famix/interface.ts +75 -75
- package/src/lib/famix/model/famix/invocation.ts +65 -65
- package/src/lib/famix/model/famix/method.ts +89 -89
- package/src/lib/famix/model/famix/module.ts +71 -71
- package/src/lib/famix/model/famix/named_entity.ts +95 -95
- package/src/lib/famix/model/famix/parameter.ts +28 -28
- package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
- package/src/lib/famix/model/famix/parameter_type.ts +58 -58
- package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
- package/src/lib/famix/model/famix/parametric_class.ts +49 -49
- package/src/lib/famix/model/famix/parametric_function.ts +32 -32
- package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
- package/src/lib/famix/model/famix/parametric_method.ts +32 -32
- package/src/lib/famix/model/famix/primitive_type.ts +15 -15
- package/src/lib/famix/model/famix/property.ts +94 -94
- package/src/lib/famix/model/famix/reference.ts +40 -40
- package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
- package/src/lib/famix/model/famix/script_entity.ts +34 -34
- package/src/lib/famix/model/famix/source_anchor.ts +30 -30
- package/src/lib/famix/model/famix/source_language.ts +35 -35
- package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
- package/src/lib/famix/model/famix/structural_entity.ts +43 -43
- package/src/lib/famix/model/famix/type.ts +87 -87
- package/src/lib/famix/model/famix/variable.ts +27 -27
- package/src/lib/famix/package.json +28 -28
- package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
- package/src/refactorer/refactor-getter-setter.ts +140 -140
- package/src/ts2famix-cli-wrapper.ts +21 -21
- package/src/ts2famix-cli.ts +60 -60
- package/stats.txt +3091 -0
- package/tabby-debug-output.txt +19433 -0
- package/ts2famix.log +22656 -0
- package/tsconfig.check-tests.json +14 -14
- package/tsconfig.json +72 -72
- package/validate-references.js +103 -0
|
@@ -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
|
+
addConcretisation(concretisation) {
|
|
12
|
+
if (!this._concretisations.has(concretisation)) {
|
|
13
|
+
this._concretisations.add(concretisation);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getJSON() {
|
|
17
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterConcretisation", this);
|
|
18
|
+
this.addPropertiesToExporter(json);
|
|
19
|
+
return json.getJSON();
|
|
20
|
+
}
|
|
21
|
+
addPropertiesToExporter(exporter) {
|
|
22
|
+
super.addPropertiesToExporter(exporter);
|
|
23
|
+
exporter.addProperty("genericEntity", this.genericParameter);
|
|
24
|
+
exporter.addProperty("concreteEntity", this.concreteParameter);
|
|
25
|
+
exporter.addProperty("concretisations", this.concretisations);
|
|
26
|
+
}
|
|
27
|
+
get genericParameter() {
|
|
28
|
+
return this._genericParameter;
|
|
29
|
+
}
|
|
30
|
+
set genericParameter(genericEntity) {
|
|
31
|
+
this._genericParameter = genericEntity;
|
|
32
|
+
}
|
|
33
|
+
get concreteParameter() {
|
|
34
|
+
return this._concreteParameter;
|
|
35
|
+
}
|
|
36
|
+
set concreteParameter(concreteParameter) {
|
|
37
|
+
this._concreteParameter = concreteParameter;
|
|
38
|
+
}
|
|
39
|
+
get concretisations() {
|
|
40
|
+
return this._concretisations;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.ParameterConcretisation = ParameterConcretisation;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyX2NvbmNyZXRpc2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvcGFyYW1ldGVyX2NvbmNyZXRpc2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUU5RCxxQ0FBa0M7QUFJbEMsTUFBYSx1QkFBd0IsU0FBUSxlQUFNO0lBQW5EOztRQUlZLHFCQUFnQixHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBd0M5RCxDQUFDO0lBdENVLGlCQUFpQixDQUFDLGNBQThCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxhQUE0QjtRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBZ0M7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUE1Q0QsMERBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL2NvbmNyZXRpc2F0aW9uXCI7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcclxuaW1wb3J0IHsgUHJpbWl0aXZlVHlwZSB9IGZyb20gXCIuL3ByaW1pdGl2ZV90eXBlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyQ29uY3JldGlzYXRpb24gZXh0ZW5kcyBFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX2dlbmVyaWNQYXJhbWV0ZXIhOiBQYXJhbWV0ZXJUeXBlO1xyXG4gICAgcHJpdmF0ZSBfY29uY3JldGVQYXJhbWV0ZXIhOiBQcmltaXRpdmVUeXBlO1xyXG4gICAgcHJpdmF0ZSBfY29uY3JldGlzYXRpb25zOiBTZXQ8Q29uY3JldGlzYXRpb24+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0aXNhdGlvbihjb25jcmV0aXNhdGlvbjogQ29uY3JldGlzYXRpb24pOiB2b2lkIHtcclxuICAgICAgaWYgKCF0aGlzLl9jb25jcmV0aXNhdGlvbnMuaGFzKGNvbmNyZXRpc2F0aW9uKSkge1xyXG4gICAgICAgIHRoaXMuX2NvbmNyZXRpc2F0aW9ucy5hZGQoY29uY3JldGlzYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRlckNvbmNyZXRpc2F0aW9uXCIsIHRoaXMpO1xyXG4gICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJnZW5lcmljRW50aXR5XCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcik7XHJcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVFbnRpdHlcIiwgdGhpcy5jb25jcmV0ZVBhcmFtZXRlcik7XHJcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGlzYXRpb25zXCIsIHRoaXMuY29uY3JldGlzYXRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2VuZXJpY1BhcmFtZXRlcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZ2VuZXJpY1BhcmFtZXRlcihnZW5lcmljRW50aXR5OiBQYXJhbWV0ZXJUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlciA9IGdlbmVyaWNFbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbmNyZXRlUGFyYW1ldGVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgY29uY3JldGVQYXJhbWV0ZXIoY29uY3JldGVQYXJhbWV0ZXI6IFByaW1pdGl2ZVR5cGUpIHtcclxuICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlciA9IGNvbmNyZXRlUGFyYW1ldGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb25jcmV0aXNhdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmNyZXRpc2F0aW9ucztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParameterType = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const type_1 = require("./type");
|
|
6
|
+
class ParameterType extends type_1.Type {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._arguments = new Set();
|
|
10
|
+
}
|
|
11
|
+
addArgument(argument) {
|
|
12
|
+
if (!this._arguments.has(argument)) {
|
|
13
|
+
this._arguments.add(argument);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getJSON() {
|
|
17
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParameterType", this);
|
|
18
|
+
this.addPropertiesToExporter(json);
|
|
19
|
+
return json.getJSON();
|
|
20
|
+
}
|
|
21
|
+
addPropertiesToExporter(exporter) {
|
|
22
|
+
super.addPropertiesToExporter(exporter);
|
|
23
|
+
exporter.addProperty("parentGeneric", this.parentGeneric);
|
|
24
|
+
exporter.addProperty("baseType", this.baseType);
|
|
25
|
+
exporter.addProperty("arguments", this.arguments);
|
|
26
|
+
}
|
|
27
|
+
get parentGeneric() {
|
|
28
|
+
return this._parentGeneric;
|
|
29
|
+
}
|
|
30
|
+
set parentGeneric(parentGeneric) {
|
|
31
|
+
this._parentGeneric = parentGeneric;
|
|
32
|
+
parentGeneric.addGenericParameter(this);
|
|
33
|
+
}
|
|
34
|
+
get baseType() {
|
|
35
|
+
return this._baseType;
|
|
36
|
+
}
|
|
37
|
+
set baseType(baseType) {
|
|
38
|
+
this._baseType = baseType;
|
|
39
|
+
}
|
|
40
|
+
get arguments() {
|
|
41
|
+
return this._arguments;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ParameterType = ParameterType;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyX3R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0ZXJfdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBVzlCLE1BQWEsYUFBYyxTQUFRLFdBQUk7SUFBdkM7O1FBSVksZUFBVSxHQUFjLElBQUksR0FBRyxFQUFFLENBQUM7SUF5QzlDLENBQUM7SUF2Q1UsV0FBVyxDQUFDLFFBQWM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQTBLO1FBQ3hMLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBN0NELHNDQTZDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgUGFyYW1ldHJpY0NsYXNzIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19jbGFzc1wiO1xyXG5pbXBvcnQgeyBQYXJhbWV0cmljSW50ZXJmYWNlIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XHJcbmltcG9ydCB7IEZ1bmN0aW9uIGFzIEZhbWl4RnVuY3Rpb24gfSBmcm9tIFwiLi9mdW5jdGlvblwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NvciB9IGZyb20gXCIuL2FjY2Vzc29yXCI7XHJcbmltcG9ydCB7IFBhcmFtZXRyaWNNZXRob2QgfSBmcm9tIFwiLi9wYXJhbWV0cmljX21ldGhvZFwiO1xyXG5pbXBvcnQgeyBQYXJhbWV0cmljRnVuY3Rpb24gfSBmcm9tIFwiLi9wYXJhbWV0cmljX2Z1bmN0aW9uXCI7XHJcbmltcG9ydCB7IEFycm93RnVuY3Rpb24gfSBmcm9tIFwiLi9hcnJvd19mdW5jdGlvblwiO1xyXG5pbXBvcnQgeyBQYXJhbWV0cmljQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfYXJyb3dfZnVuY3Rpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJUeXBlIGV4dGVuZHMgVHlwZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfcGFyZW50R2VuZXJpYyE6IFBhcmFtZXRyaWNDbGFzcyB8IFBhcmFtZXRyaWNJbnRlcmZhY2UgfCBNZXRob2QgfCBQYXJhbWV0cmljTWV0aG9kIHwgQWNjZXNzb3IgfCBGYW1peEZ1bmN0aW9uIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgQXJyb3dGdW5jdGlvbiB8IFBhcmFtZXRyaWNBcnJvd0Z1bmN0aW9uO1xyXG4gICAgcHJpdmF0ZSBfYmFzZVR5cGUhOiBUeXBlO1xyXG4gICAgcHJpdmF0ZSBfYXJndW1lbnRzOiBTZXQ8VHlwZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEFyZ3VtZW50KGFyZ3VtZW50OiBUeXBlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9hcmd1bWVudHMuaGFzKGFyZ3VtZW50KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hcmd1bWVudHMuYWRkKGFyZ3VtZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRlclR5cGVcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEdlbmVyaWNcIiwgdGhpcy5wYXJlbnRHZW5lcmljKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImJhc2VUeXBlXCIsIHRoaXMuYmFzZVR5cGUpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiYXJndW1lbnRzXCIsIHRoaXMuYXJndW1lbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyZW50R2VuZXJpYygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50R2VuZXJpYztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgcGFyZW50R2VuZXJpYyhwYXJlbnRHZW5lcmljOiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgTWV0aG9kIHwgUGFyYW1ldHJpY01ldGhvZCB8IEFjY2Vzc29yIHwgRmFtaXhGdW5jdGlvbiB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IEFycm93RnVuY3Rpb24gfCBQYXJhbWV0cmljQXJyb3dGdW5jdGlvbikge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudEdlbmVyaWMgPSBwYXJlbnRHZW5lcmljO1xyXG4gICAgICAgIHBhcmVudEdlbmVyaWMuYWRkR2VuZXJpY1BhcmFtZXRlcih0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmFzZVR5cGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jhc2VUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBiYXNlVHlwZShiYXNlVHlwZTogVHlwZSkge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VUeXBlID0gYmFzZVR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFyZ3VtZW50cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXJndW1lbnRzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricArrowFunction = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const arrowFunction_1 = require("./arrowFunction");
|
|
6
|
+
class ParametricArrowFunction extends arrowFunction_1.ArrowFunction {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.concreteParameters = new Set();
|
|
10
|
+
}
|
|
11
|
+
getConcreteParameters() {
|
|
12
|
+
return this.concreteParameters;
|
|
13
|
+
}
|
|
14
|
+
addConcreteParameter(concreteParameter) {
|
|
15
|
+
if (!this.concreteParameters.has(concreteParameter)) {
|
|
16
|
+
this.concreteParameters.add(concreteParameter);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
getJSON() {
|
|
20
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricArrowFunction", this);
|
|
21
|
+
this.addPropertiesToExporter(json);
|
|
22
|
+
return json.getJSON();
|
|
23
|
+
}
|
|
24
|
+
addPropertiesToExporter(exporter) {
|
|
25
|
+
super.addPropertiesToExporter(exporter);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ParametricArrowFunction = ParametricArrowFunction;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY0Fycm93RnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0cmljQXJyb3dGdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsbURBQWdEO0FBS2hELE1BQWEsdUJBQXdCLFNBQVEsNkJBQWE7SUFBMUQ7O1FBRVUsdUJBQWtCLEdBQTJDLElBQUksR0FBRyxFQUFFLENBQUM7SUFxQmpGLENBQUM7SUFuQlEscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxpQkFBb0Q7UUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUF2QkQsMERBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBBcnJvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vYXJyb3dGdW5jdGlvblwiO1xyXG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gXCIuL2NsYXNzXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljQXJyb3dGdW5jdGlvbiBleHRlbmRzIEFycm93RnVuY3Rpb24ge1xyXG4gIFxyXG4gIHByaXZhdGUgY29uY3JldGVQYXJhbWV0ZXJzOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgcHVibGljIGdldENvbmNyZXRlUGFyYW1ldGVycygpOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlID4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZENvbmNyZXRlUGFyYW1ldGVyKGNvbmNyZXRlUGFyYW1ldGVyOiBQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2UpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICB0aGlzLmNvbmNyZXRlUGFyYW1ldGVycy5hZGQoY29uY3JldGVQYXJhbWV0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiUGFyYW1ldHJpY0Fycm93RnVuY3Rpb25cIiwgdGhpcyk7XHJcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricArrowFunction = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const arrow_function_1 = require("./arrow_function");
|
|
6
|
+
class ParametricArrowFunction extends arrow_function_1.ArrowFunction {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._concreteParameters = new Set();
|
|
10
|
+
}
|
|
11
|
+
addConcreteParameter(concreteParameter) {
|
|
12
|
+
if (!this._concreteParameters.has(concreteParameter)) {
|
|
13
|
+
this._concreteParameters.add(concreteParameter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getJSON() {
|
|
17
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricArrowFunction", this);
|
|
18
|
+
this.addPropertiesToExporter(json);
|
|
19
|
+
return json.getJSON();
|
|
20
|
+
}
|
|
21
|
+
addPropertiesToExporter(exporter) {
|
|
22
|
+
super.addPropertiesToExporter(exporter);
|
|
23
|
+
exporter.addProperty("genericParameters", this.genericParameters);
|
|
24
|
+
exporter.addProperty("concreteParameters", this.concreteParameters);
|
|
25
|
+
}
|
|
26
|
+
get concreteParameters() {
|
|
27
|
+
return this._concreteParameters;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ParametricArrowFunction = ParametricArrowFunction;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19hcnJvd19mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3BhcmFtZXRyaWNfYXJyb3dfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELHFEQUFpRDtBQUtqRCxNQUFhLHVCQUF3QixTQUFRLDhCQUFhO0lBQTFEOztRQUVZLHdCQUFtQixHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJwRixDQUFDO0lBckJVLG9CQUFvQixDQUFDLGlCQUFvRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBekJELDBEQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL2Fycm93X2Z1bmN0aW9uXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiLi9wcmltaXRpdmVfdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRyaWNBcnJvd0Z1bmN0aW9uIGV4dGVuZHMgQXJyb3dGdW5jdGlvbiB7XHJcblxyXG4gICAgcHJpdmF0ZSBfY29uY3JldGVQYXJhbWV0ZXJzOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkQ29uY3JldGVQYXJhbWV0ZXIoY29uY3JldGVQYXJhbWV0ZXI6IFByaW1pdGl2ZVR5cGUgfCBDbGFzcyB8IEludGVyZmFjZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmhhcyhjb25jcmV0ZVBhcmFtZXRlcikpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmFkZChjb25jcmV0ZVBhcmFtZXRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJQYXJhbWV0cmljQXJyb3dGdW5jdGlvblwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY1BhcmFtZXRlcnNcIiwgdGhpcy5nZW5lcmljUGFyYW1ldGVycyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZVBhcmFtZXRlcnNcIiwgdGhpcy5jb25jcmV0ZVBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb25jcmV0ZVBhcmFtZXRlcnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmNyZXRlUGFyYW1ldGVycztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricClass = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const class_1 = require("./class");
|
|
6
|
+
class ParametricClass extends class_1.Class {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._genericParameters = new Set();
|
|
10
|
+
this._concreteParameters = new Set();
|
|
11
|
+
}
|
|
12
|
+
addGenericParameter(genericParameter) {
|
|
13
|
+
if (!this._genericParameters.has(genericParameter)) {
|
|
14
|
+
this._genericParameters.add(genericParameter);
|
|
15
|
+
genericParameter.parentGeneric = this;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
clearGenericParameters() {
|
|
19
|
+
this._genericParameters.clear();
|
|
20
|
+
}
|
|
21
|
+
addConcreteParameter(concreteParameter) {
|
|
22
|
+
if (!this._concreteParameters.has(concreteParameter)) {
|
|
23
|
+
this._concreteParameters.add(concreteParameter);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getJSON() {
|
|
27
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricClass", this);
|
|
28
|
+
this.addPropertiesToExporter(json);
|
|
29
|
+
return json.getJSON();
|
|
30
|
+
}
|
|
31
|
+
addPropertiesToExporter(exporter) {
|
|
32
|
+
super.addPropertiesToExporter(exporter);
|
|
33
|
+
exporter.addProperty("genericParameters", this.genericParameters);
|
|
34
|
+
exporter.addProperty("concreteParameters", this.concreteParameters);
|
|
35
|
+
}
|
|
36
|
+
get genericParameters() {
|
|
37
|
+
return this._genericParameters;
|
|
38
|
+
}
|
|
39
|
+
get concreteParameters() {
|
|
40
|
+
return this._concreteParameters;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.ParametricClass = ParametricClass;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3BhcmFtZXRyaWNfY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUVBQThEO0FBQzlELG1DQUFnQztBQUloQyxNQUFhLGVBQWdCLFNBQVEsYUFBSztJQUExQzs7UUFFWSx1QkFBa0IsR0FBdUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQWFuRCx3QkFBbUIsR0FBMkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTJCcEYsQ0FBQztJQXRDVSxtQkFBbUIsQ0FBQyxnQkFBK0I7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5QyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBSU0sb0JBQW9CLENBQUMsaUJBQW9EO1FBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBMUNELDBDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gXCIuL3BhcmFtZXRlcl90eXBlXCI7XHJcbmltcG9ydCB7IFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiLi9wcmltaXRpdmVfdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRyaWNDbGFzcyBleHRlbmRzIENsYXNzIHtcclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmljUGFyYW1ldGVyczogU2V0PFBhcmFtZXRlclR5cGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRHZW5lcmljUGFyYW1ldGVyKGdlbmVyaWNQYXJhbWV0ZXI6IFBhcmFtZXRlclR5cGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2dlbmVyaWNQYXJhbWV0ZXJzLmhhcyhnZW5lcmljUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5hZGQoZ2VuZXJpY1BhcmFtZXRlcik7XHJcbiAgICAgICAgICAgIGdlbmVyaWNQYXJhbWV0ZXIucGFyZW50R2VuZXJpYyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyR2VuZXJpY1BhcmFtZXRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNDbGFzc1wiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY1BhcmFtZXRlcnNcIiwgdGhpcy5nZW5lcmljUGFyYW1ldGVycyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZVBhcmFtZXRlcnNcIiwgdGhpcy5jb25jcmV0ZVBhcmFtZXRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBnZW5lcmljUGFyYW1ldGVycygpOiBTZXQ8UGFyYW1ldGVyVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZW5lcmljUGFyYW1ldGVycztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricFunction = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const function_1 = require("./function");
|
|
6
|
+
class ParametricFunction extends function_1.Function {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._concreteParameters = new Set();
|
|
10
|
+
}
|
|
11
|
+
addConcreteParameter(concreteParameter) {
|
|
12
|
+
if (!this._concreteParameters.has(concreteParameter)) {
|
|
13
|
+
this._concreteParameters.add(concreteParameter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getJSON() {
|
|
17
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricFunction", this);
|
|
18
|
+
this.addPropertiesToExporter(json);
|
|
19
|
+
return json.getJSON();
|
|
20
|
+
}
|
|
21
|
+
addPropertiesToExporter(exporter) {
|
|
22
|
+
super.addPropertiesToExporter(exporter);
|
|
23
|
+
exporter.addProperty("genericParameters", this.genericParameters);
|
|
24
|
+
exporter.addProperty("concreteParameters", this.concreteParameters);
|
|
25
|
+
}
|
|
26
|
+
get concreteParameters() {
|
|
27
|
+
return this._concreteParameters;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ParametricFunction = ParametricFunction;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3BhcmFtZXRyaWNfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBRTlELHlDQUFzQztBQUl0QyxNQUFhLGtCQUFtQixTQUFRLG1CQUFRO0lBQWhEOztRQUVZLHdCQUFtQixHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJwRixDQUFDO0lBckJVLG9CQUFvQixDQUFDLGlCQUFvRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztDQUNKO0FBekJELGdEQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xyXG5pbXBvcnQgeyBGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljRnVuY3Rpb24gZXh0ZW5kcyBGdW5jdGlvbiB7XHJcblxyXG4gICAgcHJpdmF0ZSBfY29uY3JldGVQYXJhbWV0ZXJzOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkQ29uY3JldGVQYXJhbWV0ZXIoY29uY3JldGVQYXJhbWV0ZXI6IFByaW1pdGl2ZVR5cGUgfCBDbGFzcyB8IEludGVyZmFjZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmhhcyhjb25jcmV0ZVBhcmFtZXRlcikpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzLmFkZChjb25jcmV0ZVBhcmFtZXRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJQYXJhbWV0cmljRnVuY3Rpb25cIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricInterface = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const interface_1 = require("./interface");
|
|
6
|
+
class ParametricInterface extends interface_1.Interface {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._genericParameters = new Set();
|
|
10
|
+
this._concreteParameters = new Set();
|
|
11
|
+
}
|
|
12
|
+
addGenericParameter(genericParameter) {
|
|
13
|
+
if (!this._genericParameters.has(genericParameter)) {
|
|
14
|
+
this._genericParameters.add(genericParameter);
|
|
15
|
+
genericParameter.parentGeneric = this;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
clearGenericParameters() {
|
|
19
|
+
this._genericParameters.clear();
|
|
20
|
+
}
|
|
21
|
+
addConcreteParameter(concreteParameter) {
|
|
22
|
+
if (!this._concreteParameters.has(concreteParameter)) {
|
|
23
|
+
this._concreteParameters.add(concreteParameter);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getJSON() {
|
|
27
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricInterface", this);
|
|
28
|
+
this.addPropertiesToExporter(json);
|
|
29
|
+
return json.getJSON();
|
|
30
|
+
}
|
|
31
|
+
addPropertiesToExporter(exporter) {
|
|
32
|
+
super.addPropertiesToExporter(exporter);
|
|
33
|
+
exporter.addProperty("genericParameters", this.genericParameters);
|
|
34
|
+
exporter.addProperty("concreteParameters", this.concreteParameters);
|
|
35
|
+
}
|
|
36
|
+
get genericParameters() {
|
|
37
|
+
return this._genericParameters;
|
|
38
|
+
}
|
|
39
|
+
get concreteParameters() {
|
|
40
|
+
return this._concreteParameters;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.ParametricInterface = ParametricInterface;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0cmljX2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQsMkNBQXdDO0FBSXhDLE1BQWEsbUJBQW9CLFNBQVEscUJBQVM7SUFBbEQ7O1FBRVksdUJBQWtCLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUM7UUFhbkQsd0JBQW1CLEdBQTJDLElBQUksR0FBRyxFQUFFLENBQUM7SUEyQnBGLENBQUM7SUF0Q1UsbUJBQW1CLENBQUMsZ0JBQStCO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUlNLG9CQUFvQixDQUFDLGlCQUFvRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQTFDRCxrREEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tIFwiLi9wYXJhbWV0ZXJfdHlwZVwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljSW50ZXJmYWNlIGV4dGVuZHMgSW50ZXJmYWNlIHtcclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmljUGFyYW1ldGVyczogU2V0PFBhcmFtZXRlclR5cGU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRHZW5lcmljUGFyYW1ldGVyKGdlbmVyaWNQYXJhbWV0ZXI6IFBhcmFtZXRlclR5cGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2dlbmVyaWNQYXJhbWV0ZXJzLmhhcyhnZW5lcmljUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5hZGQoZ2VuZXJpY1BhcmFtZXRlcik7XHJcbiAgICAgICAgICAgIGdlbmVyaWNQYXJhbWV0ZXIucGFyZW50R2VuZXJpYyA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyR2VuZXJpY1BhcmFtZXRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNJbnRlcmZhY2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2VuZXJpY1BhcmFtZXRlcnMoKTogU2V0PFBhcmFtZXRlclR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbmNyZXRlUGFyYW1ldGVycygpOiBTZXQ8UHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmNyZXRlUGFyYW1ldGVycztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParametricMethod = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const method_1 = require("./method");
|
|
6
|
+
class ParametricMethod extends method_1.Method {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._concreteParameters = new Set();
|
|
10
|
+
}
|
|
11
|
+
addConcreteParameter(concreteParameter) {
|
|
12
|
+
if (!this._concreteParameters.has(concreteParameter)) {
|
|
13
|
+
this._concreteParameters.add(concreteParameter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
getJSON() {
|
|
17
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ParametricMethod", this);
|
|
18
|
+
this.addPropertiesToExporter(json);
|
|
19
|
+
return json.getJSON();
|
|
20
|
+
}
|
|
21
|
+
addPropertiesToExporter(exporter) {
|
|
22
|
+
super.addPropertiesToExporter(exporter);
|
|
23
|
+
exporter.addProperty("genericParameters", this.genericParameters);
|
|
24
|
+
exporter.addProperty("concreteParameters", this.concreteParameters);
|
|
25
|
+
}
|
|
26
|
+
get concreteParameters() {
|
|
27
|
+
return this._concreteParameters;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ParametricMethod = ParametricMethod;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldHJpY19tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wYXJhbWV0cmljX21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQscUNBQWtDO0FBR2xDLE1BQWEsZ0JBQWlCLFNBQVEsZUFBTTtJQUE1Qzs7UUFFWSx3QkFBbUIsR0FBMkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXVCcEYsQ0FBQztJQXJCVSxvQkFBb0IsQ0FBQyxpQkFBb0Q7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQXpCRCw0Q0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IE1ldGhvZCB9IGZyb20gXCIuL21ldGhvZFwiO1xyXG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXJhbWV0cmljTWV0aG9kIGV4dGVuZHMgTWV0aG9kIHtcclxuXHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZVBhcmFtZXRlcnM6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRDb25jcmV0ZVBhcmFtZXRlcihjb25jcmV0ZVBhcmFtZXRlcjogUHJpbWl0aXZlVHlwZSB8IENsYXNzIHwgSW50ZXJmYWNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuaGFzKGNvbmNyZXRlUGFyYW1ldGVyKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb25jcmV0ZVBhcmFtZXRlcnMuYWRkKGNvbmNyZXRlUGFyYW1ldGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlBhcmFtZXRyaWNNZXRob2RcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNQYXJhbWV0ZXJzXCIsIHRoaXMuZ2VuZXJpY1BhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29uY3JldGVQYXJhbWV0ZXJzXCIsIHRoaXMuY29uY3JldGVQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29uY3JldGVQYXJhbWV0ZXJzKCk6IFNldDxQcmltaXRpdmVUeXBlIHwgQ2xhc3MgfCBJbnRlcmZhY2U+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrimitiveType = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const type_1 = require("./type");
|
|
6
|
+
class PrimitiveType extends type_1.Type {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("PrimitiveType", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.PrimitiveType = PrimitiveType;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlX3R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wcmltaXRpdmVfdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRTlCLE1BQWEsYUFBYyxTQUFRLFdBQUk7SUFFNUIsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0o7QUFYRCxzQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVUeXBlIGV4dGVuZHMgVHlwZSB7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlByaW1pdGl2ZVR5cGVcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Property = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const structural_entity_1 = require("./structural_entity");
|
|
6
|
+
class Property extends structural_entity_1.StructuralEntity {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._isClassSide = false;
|
|
10
|
+
this._readOnly = false;
|
|
11
|
+
this._visibility = "";
|
|
12
|
+
}
|
|
13
|
+
get readOnly() {
|
|
14
|
+
return this._readOnly;
|
|
15
|
+
}
|
|
16
|
+
set readOnly(value) {
|
|
17
|
+
this._readOnly = value;
|
|
18
|
+
}
|
|
19
|
+
get isDefinitelyAssigned() {
|
|
20
|
+
return this._isDefinitelyAssigned;
|
|
21
|
+
}
|
|
22
|
+
set isDefinitelyAssigned(value) {
|
|
23
|
+
this._isDefinitelyAssigned = value;
|
|
24
|
+
}
|
|
25
|
+
get isOptional() {
|
|
26
|
+
return this._isOptional;
|
|
27
|
+
}
|
|
28
|
+
set isOptional(value) {
|
|
29
|
+
this._isOptional = value;
|
|
30
|
+
}
|
|
31
|
+
get isJavaScriptPrivate() {
|
|
32
|
+
return this._isJavaScriptPrivate;
|
|
33
|
+
}
|
|
34
|
+
set isJavaScriptPrivate(value) {
|
|
35
|
+
this._isJavaScriptPrivate = value;
|
|
36
|
+
}
|
|
37
|
+
get visibility() {
|
|
38
|
+
return this._visibility;
|
|
39
|
+
}
|
|
40
|
+
set visibility(value) {
|
|
41
|
+
this._visibility = value;
|
|
42
|
+
}
|
|
43
|
+
getJSON() {
|
|
44
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Property", this);
|
|
45
|
+
this.addPropertiesToExporter(json);
|
|
46
|
+
return json.getJSON();
|
|
47
|
+
}
|
|
48
|
+
addPropertiesToExporter(exporter) {
|
|
49
|
+
super.addPropertiesToExporter(exporter);
|
|
50
|
+
exporter.addProperty("readOnly", this.readOnly);
|
|
51
|
+
exporter.addProperty("isClassSide", this.isClassSide);
|
|
52
|
+
exporter.addProperty("parentType", this.parentEntity);
|
|
53
|
+
exporter.addProperty("visibility", this.visibility);
|
|
54
|
+
exporter.addProperty("isDefinitelyAssigned", this.isDefinitelyAssigned);
|
|
55
|
+
exporter.addProperty("isOptional", this.isOptional);
|
|
56
|
+
exporter.addProperty("isJavaScriptPrivate", this.isJavaScriptPrivate);
|
|
57
|
+
}
|
|
58
|
+
get isClassSide() {
|
|
59
|
+
return this._isClassSide;
|
|
60
|
+
}
|
|
61
|
+
set isClassSide(isClassSide) {
|
|
62
|
+
this._isClassSide = isClassSide;
|
|
63
|
+
}
|
|
64
|
+
get parentEntity() {
|
|
65
|
+
return this._parentEntity;
|
|
66
|
+
}
|
|
67
|
+
set parentEntity(parentEntity) {
|
|
68
|
+
this._parentEntity = parentEntity;
|
|
69
|
+
parentEntity.addProperty(this);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.Property = Property;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsMkRBQXVEO0FBSXZELE1BQWEsUUFBUyxTQUFRLG9DQUFnQjtJQUE5Qzs7UUFFWSxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBd0MzQixnQkFBVyxHQUFvQixFQUFFLENBQUM7SUFtQzlDLENBQUM7SUFsRkcsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUFXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxvQkFBb0IsQ0FBQyxLQUFjO1FBQzFDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLG1CQUFtQixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBT0QsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxVQUFVLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUlNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBb0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBK0I7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF0RkQsNEJBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gXCIuL2NsYXNzXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gXCIuL2ludGVyZmFjZVwiO1xyXG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFZpc2liaWxpdHlUeXBlcyA9IFwicHVibGljXCIgfCBcInByaXZhdGVcIiB8IFwicHJvdGVjdGVkXCIgfCBcIlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgU3RydWN0dXJhbEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNDbGFzc1NpZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRPbmx5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkT25seTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRPbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9wYXJlbnRFbnRpdHkhOiBDbGFzcyB8IEludGVyZmFjZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzRGVmaW5pdGVseUFzc2lnbmVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0RlZmluaXRlbHlBc3NpZ25lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzRGVmaW5pdGVseUFzc2lnbmVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNEZWZpbml0ZWx5QXNzaWduZWQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGlzT3B0aW9uYWwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3B0aW9uYWw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc09wdGlvbmFsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPcHRpb25hbCA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNKYXZhU2NyaXB0UHJpdmF0ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNKYXZhU2NyaXB0UHJpdmF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0IGlzSmF2YVNjcmlwdFByaXZhdGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0phdmFTY3JpcHRQcml2YXRlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pc0RlZmluaXRlbHlBc3NpZ25lZCE6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNPcHRpb25hbCE6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNKYXZhU2NyaXB0UHJpdmF0ZSE6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCB2aXNpYmlsaXR5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmlsaXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgdmlzaWJpbGl0eSh2YWx1ZTogVmlzaWJpbGl0eVR5cGVzKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJpbGl0eSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Zpc2liaWxpdHk6IFZpc2liaWxpdHlUeXBlcyA9IFwiXCI7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlByb3BlcnR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJyZWFkT25seVwiLCB0aGlzLnJlYWRPbmx5KTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzQ2xhc3NTaWRlXCIsIHRoaXMuaXNDbGFzc1NpZGUpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicGFyZW50VHlwZVwiLCB0aGlzLnBhcmVudEVudGl0eSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ2aXNpYmlsaXR5XCIsIHRoaXMudmlzaWJpbGl0eSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc0RlZmluaXRlbHlBc3NpZ25lZFwiLCB0aGlzLmlzRGVmaW5pdGVseUFzc2lnbmVkKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzT3B0aW9uYWxcIiwgdGhpcy5pc09wdGlvbmFsKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzSmF2YVNjcmlwdFByaXZhdGVcIiwgdGhpcy5pc0phdmFTY3JpcHRQcml2YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNDbGFzc1NpZGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQ2xhc3NTaWRlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc0NsYXNzU2lkZShpc0NsYXNzU2lkZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzQ2xhc3NTaWRlID0gaXNDbGFzc1NpZGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmVudEVudGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50RW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRFbnRpdHkocGFyZW50RW50aXR5OiBDbGFzcyB8IEludGVyZmFjZSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudEVudGl0eSA9IHBhcmVudEVudGl0eTtcclxuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkUHJvcGVydHkodGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Reference = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const entity_1 = require("./entity");
|
|
6
|
+
class Reference extends entity_1.Entity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Reference", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("source", this.source);
|
|
15
|
+
exporter.addProperty("target", this.target);
|
|
16
|
+
}
|
|
17
|
+
get source() {
|
|
18
|
+
return this._source;
|
|
19
|
+
}
|
|
20
|
+
set source(source) {
|
|
21
|
+
this._source = source;
|
|
22
|
+
source.addOutgoingReference(this);
|
|
23
|
+
}
|
|
24
|
+
get target() {
|
|
25
|
+
return this._target;
|
|
26
|
+
}
|
|
27
|
+
set target(target) {
|
|
28
|
+
this._target = target;
|
|
29
|
+
target.addIncomingReference(this);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.Reference = Reference;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvcmVmZXJlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUc5RCxxQ0FBa0M7QUFFbEMsTUFBYSxTQUFVLFNBQVEsZUFBTTtJQUsxQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBdUI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQVk7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDSjtBQWxDRCw4QkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckVudGl0eSB9IGZyb20gXCIuL2NvbnRhaW5lcl9lbnRpdHlcIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlIGV4dGVuZHMgRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9zb3VyY2UhOiBDb250YWluZXJFbnRpdHk7XHJcbiAgICBwcml2YXRlIF90YXJnZXQhOiBUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJSZWZlcmVuY2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNvdXJjZVwiLCB0aGlzLnNvdXJjZSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ0YXJnZXRcIiwgdGhpcy50YXJnZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzb3VyY2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc291cmNlKHNvdXJjZTogQ29udGFpbmVyRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fc291cmNlID0gc291cmNlO1xyXG4gICAgICAgIHNvdXJjZS5hZGRPdXRnb2luZ1JlZmVyZW5jZSh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdGFyZ2V0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHRhcmdldCh0YXJnZXQ6IFR5cGUpIHtcclxuICAgICAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXQ7XHJcbiAgICAgICAgdGFyZ2V0LmFkZEluY29taW5nUmVmZXJlbmNlKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScopingEntity = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const container_entity_1 = require("./container_entity");
|
|
6
|
+
const analyze_1 = require("../../../../../analyze");
|
|
7
|
+
class ScopingEntity extends container_entity_1.ContainerEntity {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._modules = new Set();
|
|
11
|
+
}
|
|
12
|
+
addModule(childModule) {
|
|
13
|
+
if (!this._modules.has(childModule)) {
|
|
14
|
+
analyze_1.logger.debug("Adding module " + childModule.name + " to " + this.name);
|
|
15
|
+
this._modules.add(childModule);
|
|
16
|
+
childModule.parentScope = this;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
analyze_1.logger.debug("Module " + childModule.name + " already added to " + this.name);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
getJSON() {
|
|
23
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ScopingEntity", this);
|
|
24
|
+
this.addPropertiesToExporter(json);
|
|
25
|
+
return json.getJSON();
|
|
26
|
+
}
|
|
27
|
+
addPropertiesToExporter(exporter) {
|
|
28
|
+
super.addPropertiesToExporter(exporter);
|
|
29
|
+
// exporter.addProperty("namespaces", this.getModules());
|
|
30
|
+
}
|
|
31
|
+
get modules() {
|
|
32
|
+
return this._modules;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ScopingEntity = ScopingEntity;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGluZ19lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zY29waW5nX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQseURBQXFEO0FBQ3JELG9EQUFnRDtBQUdoRCxNQUFhLGFBQWMsU0FBUSxrQ0FBZTtJQUFsRDs7UUFFWSxhQUFRLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUEyQjlDLENBQUM7SUF6QlUsU0FBUyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixXQUFXLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNKLGdCQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixDQUFDO0lBQ0wsQ0FBQztJQUdNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsNERBQTREO0lBQ2hFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBN0JELHNDQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vYW5hbHl6ZVwiO1xyXG5pbXBvcnQgeyBNb2R1bGUgfSBmcm9tIFwiLi9tb2R1bGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTY29waW5nRW50aXR5IGV4dGVuZHMgQ29udGFpbmVyRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9tb2R1bGVzOiBTZXQ8TW9kdWxlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkTW9kdWxlKGNoaWxkTW9kdWxlOiBNb2R1bGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX21vZHVsZXMuaGFzKGNoaWxkTW9kdWxlKSkge1xyXG4gICAgICAgICAgICBsb2dnZXIuZGVidWcoXCJBZGRpbmcgbW9kdWxlIFwiICsgY2hpbGRNb2R1bGUubmFtZSArIFwiIHRvIFwiICsgdGhpcy5uYW1lKTtcclxuICAgICAgICAgICAgdGhpcy5fbW9kdWxlcy5hZGQoY2hpbGRNb2R1bGUpO1xyXG4gICAgICAgICAgICBjaGlsZE1vZHVsZS5wYXJlbnRTY29wZSA9IHRoaXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKFwiTW9kdWxlIFwiICsgY2hpbGRNb2R1bGUubmFtZSArIFwiIGFscmVhZHkgYWRkZWQgdG8gXCIgKyB0aGlzLm5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNjb3BpbmdFbnRpdHlcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm5hbWVzcGFjZXNcIiwgdGhpcy5nZXRNb2R1bGVzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBtb2R1bGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tb2R1bGVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScriptEntity = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const scoping_entity_1 = require("./scoping_entity");
|
|
6
|
+
class ScriptEntity extends scoping_entity_1.ScopingEntity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ScriptEntity", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
}
|
|
15
|
+
get numberOfLinesOfText() {
|
|
16
|
+
return this._numberOfLinesOfText;
|
|
17
|
+
}
|
|
18
|
+
set numberOfLinesOfText(numberOfLinesOfText) {
|
|
19
|
+
this._numberOfLinesOfText = numberOfLinesOfText;
|
|
20
|
+
}
|
|
21
|
+
get numberOfCharacters() {
|
|
22
|
+
return this._numberOfCharacters;
|
|
23
|
+
}
|
|
24
|
+
set numberOfCharacters(numberOfCharacters) {
|
|
25
|
+
this._numberOfCharacters = numberOfCharacters;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ScriptEntity = ScriptEntity;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0X2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3NjcmlwdF9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELHFEQUFpRDtBQUVqRCxNQUFhLFlBQWEsU0FBUSw4QkFBYTtJQUtwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBMEI7UUFDN0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0lBQ2xELENBQUM7Q0FDSjtBQTlCRCxvQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNjb3BpbmdFbnRpdHkgfSBmcm9tIFwiLi9zY29waW5nX2VudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmlwdEVudGl0eSBleHRlbmRzIFNjb3BpbmdFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX251bWJlck9mTGluZXNPZlRleHQhOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9udW1iZXJPZkNoYXJhY3RlcnMhOiBudW1iZXI7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNjcmlwdEVudGl0eVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBudW1iZXJPZkxpbmVzT2ZUZXh0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJPZkxpbmVzT2ZUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBudW1iZXJPZkxpbmVzT2ZUZXh0KG51bWJlck9mTGluZXNPZlRleHQ6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX251bWJlck9mTGluZXNPZlRleHQgPSBudW1iZXJPZkxpbmVzT2ZUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBudW1iZXJPZkNoYXJhY3RlcnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mQ2hhcmFjdGVycztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbnVtYmVyT2ZDaGFyYWN0ZXJzKG51bWJlck9mQ2hhcmFjdGVyczogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fbnVtYmVyT2ZDaGFyYWN0ZXJzID0gbnVtYmVyT2ZDaGFyYWN0ZXJzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SourceAnchor = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const entity_1 = require("./entity");
|
|
6
|
+
class SourceAnchor extends entity_1.Entity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("SourceAnchor", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("element", this.element);
|
|
15
|
+
}
|
|
16
|
+
get element() {
|
|
17
|
+
return this._element;
|
|
18
|
+
}
|
|
19
|
+
set element(element) {
|
|
20
|
+
if (this._element === undefined) {
|
|
21
|
+
this._element = element;
|
|
22
|
+
element.sourceAnchor = this;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SourceAnchor = SourceAnchor;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2FuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3NvdXJjZV9hbmNob3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELHFDQUFrQztBQUdsQyxNQUFhLFlBQWEsU0FBUSxlQUFNO0lBSTdCLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUN4QixPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBekJELG9DQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcbmltcG9ydCB7IFNvdXJjZWRFbnRpdHkgfSBmcm9tIFwiLi9zb3VyY2VkX2VudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNvdXJjZUFuY2hvciBleHRlbmRzIEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudCE6IFNvdXJjZWRFbnRpdHk7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNvdXJjZUFuY2hvclwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZWxlbWVudFwiLCB0aGlzLmVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbGVtZW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBlbGVtZW50KGVsZW1lbnQ6IFNvdXJjZWRFbnRpdHkpIHtcclxuICAgICAgICBpZiAodGhpcy5fZWxlbWVudCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xyXG4gICAgICAgICAgICBlbGVtZW50LnNvdXJjZUFuY2hvciA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|