ts2famix 2.0.0 → 2.0.3
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/LICENSE +1 -0
- package/README.md +29 -60
- package/dist/analyze.js +1 -1
- package/dist/analyze_functions/process_functions.js +49 -43
- package/dist/famix_functions/EntityDictionary.js +309 -182
- package/dist/famix_functions/helpers_creation.js +36 -5
- package/dist/fqn.js +76 -114
- package/dist/lib/famix/famix_JSON_exporter.js +55 -0
- package/dist/lib/famix/famix_base_element.js +18 -0
- package/dist/lib/famix/famix_repository.js +224 -0
- package/dist/lib/famix/{src/index.js → index.js} +1 -1
- package/dist/lib/famix/model/famix/access.js +40 -0
- package/dist/lib/famix/model/famix/accessor.js +17 -0
- package/dist/lib/famix/model/famix/alias.js +33 -0
- package/dist/lib/famix/model/famix/arrow_function.js +17 -0
- package/dist/lib/famix/model/famix/behavioral_entity.js +79 -0
- package/dist/lib/famix/model/famix/class.js +71 -0
- package/dist/lib/famix/model/famix/comment.js +39 -0
- package/dist/lib/famix/model/famix/concretisation.js +31 -0
- package/dist/lib/famix/model/famix/container_entity.js +126 -0
- package/dist/lib/famix/model/famix/decorator.js +32 -0
- package/dist/lib/famix/model/famix/entity.js +17 -0
- package/dist/lib/famix/model/famix/enum.js +31 -0
- package/dist/lib/famix/model/famix/enum_value.js +25 -0
- package/dist/lib/famix/model/famix/function.js +17 -0
- package/dist/lib/famix/model/famix/import_clause.js +41 -0
- package/dist/lib/famix/{src/model → model}/famix/index.js +6 -10
- package/dist/lib/famix/model/famix/indexed_file_anchor.js +38 -0
- package/dist/lib/famix/model/famix/inheritance.js +33 -0
- package/dist/lib/famix/model/famix/interface.js +64 -0
- package/dist/lib/famix/model/famix/invocation.js +54 -0
- package/dist/lib/famix/model/famix/method.js +67 -0
- package/dist/lib/famix/model/famix/module.js +60 -0
- package/dist/lib/famix/model/famix/named_entity.js +78 -0
- package/dist/lib/famix/model/famix/parameter.js +25 -0
- package/dist/lib/famix/model/famix/parameter_concretisation.js +44 -0
- package/dist/lib/famix/model/famix/parameter_type.js +45 -0
- package/dist/lib/famix/model/famix/parametric_arrow_function.js +31 -0
- package/dist/lib/famix/model/famix/parametric_class.js +44 -0
- package/dist/lib/famix/model/famix/parametric_function.js +31 -0
- package/dist/lib/famix/model/famix/parametric_interface.js +44 -0
- package/dist/lib/famix/model/famix/parametric_method.js +31 -0
- package/dist/lib/famix/model/famix/primitive_type.js +17 -0
- package/dist/lib/famix/model/famix/property.js +73 -0
- package/dist/lib/famix/model/famix/reference.js +33 -0
- package/dist/lib/famix/model/famix/scoping_entity.js +36 -0
- package/dist/lib/famix/model/famix/script_entity.js +29 -0
- package/dist/lib/famix/model/famix/source_anchor.js +27 -0
- package/dist/lib/famix/model/famix/source_language.js +35 -0
- package/dist/lib/famix/model/famix/sourced_entity.js +60 -0
- package/dist/lib/famix/model/famix/structural_entity.js +39 -0
- package/dist/lib/famix/model/famix/type.js +73 -0
- package/dist/lib/famix/model/famix/variable.js +24 -0
- package/dist/lib/ts-complex/cyclomatic-service.js +2 -2
- package/dist/refactorer/refactor-getter-setter.js +142 -0
- package/dist/ts2famix-cli-wrapper.js +29 -3
- package/dist/ts2famix-cli.js +1 -1
- package/doc-uml/famix-typescript-model.puml +390 -341
- package/doc-uml/famix-typescript-model.svg +1 -1
- package/package.json +26 -9
- package/src/analyze.ts +2 -2
- package/src/analyze_functions/process_functions.ts +49 -44
- package/src/famix_functions/EntityDictionary.ts +345 -216
- package/src/famix_functions/helpers_creation.ts +36 -4
- package/src/fqn.ts +76 -125
- package/src/lib/famix/famix_JSON_exporter.ts +56 -0
- package/src/lib/famix/famix_base_element.ts +22 -0
- package/src/lib/famix/famix_repository.ts +243 -0
- package/src/lib/famix/model/famix/access.ts +50 -0
- package/src/lib/famix/model/famix/alias.ts +39 -0
- package/src/lib/famix/model/famix/behavioral_entity.ts +97 -0
- package/src/lib/famix/model/famix/class.ts +85 -0
- package/src/lib/famix/model/famix/comment.ts +47 -0
- package/src/lib/famix/model/famix/concretisation.ts +40 -0
- package/src/lib/famix/model/famix/container_entity.ts +160 -0
- package/src/lib/famix/model/famix/decorator.ts +37 -0
- package/src/lib/famix/model/famix/enum.ts +30 -0
- package/src/lib/famix/model/famix/enum_value.ts +28 -0
- package/src/lib/famix/model/famix/import_clause.ts +51 -0
- package/src/lib/famix/{src/model → model}/famix/index.ts +2 -4
- package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -0
- package/src/lib/famix/model/famix/inheritance.ts +40 -0
- package/src/lib/famix/model/famix/interface.ts +75 -0
- package/src/lib/famix/model/famix/invocation.ts +65 -0
- package/src/lib/famix/model/famix/method.ts +89 -0
- package/src/lib/famix/model/famix/module.ts +71 -0
- package/src/lib/famix/model/famix/named_entity.ts +95 -0
- package/src/lib/famix/{src/model → model}/famix/parameter.ts +11 -12
- package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -0
- package/src/lib/famix/model/famix/parameter_type.ts +58 -0
- package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -0
- package/src/lib/famix/model/famix/parametric_class.ts +49 -0
- package/src/lib/famix/model/famix/parametric_function.ts +32 -0
- package/src/lib/famix/model/famix/parametric_interface.ts +49 -0
- package/src/lib/famix/model/famix/parametric_method.ts +32 -0
- package/src/lib/famix/model/famix/primitive_type.ts +15 -0
- package/src/lib/famix/model/famix/property.ts +94 -0
- package/src/lib/famix/model/famix/reference.ts +40 -0
- package/src/lib/famix/model/famix/scoping_entity.ts +35 -0
- package/src/lib/famix/model/famix/script_entity.ts +34 -0
- package/src/lib/famix/model/famix/source_anchor.ts +30 -0
- package/src/lib/famix/model/famix/source_language.ts +35 -0
- package/src/lib/famix/model/famix/sourced_entity.ts +70 -0
- package/src/lib/famix/model/famix/structural_entity.ts +43 -0
- package/src/lib/famix/model/famix/type.ts +87 -0
- package/src/lib/famix/model/famix/variable.ts +27 -0
- package/src/lib/famix/package.json +1 -1
- package/src/lib/ts-complex/cyclomatic-service.ts +10 -10
- package/src/refactorer/refactor-getter-setter.ts +140 -0
- package/src/ts2famix-cli-wrapper.ts +6 -2
- package/src/ts2famix-cli.ts +1 -1
- package/tsconfig.check-tests.json +14 -0
- package/tsconfig.json +70 -68
- package/dist/famix2puml.js +0 -126
- package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
- package/dist/lib/famix/src/famix_base_element.js +0 -18
- package/dist/lib/famix/src/famix_repository.js +0 -223
- package/dist/lib/famix/src/model/famix/access.js +0 -40
- package/dist/lib/famix/src/model/famix/accessor.js +0 -17
- package/dist/lib/famix/src/model/famix/alias.js +0 -33
- package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
- package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
- package/dist/lib/famix/src/model/famix/class.js +0 -71
- package/dist/lib/famix/src/model/famix/comment.js +0 -39
- package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
- package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
- package/dist/lib/famix/src/model/famix/decorator.js +0 -32
- package/dist/lib/famix/src/model/famix/entity.js +0 -17
- package/dist/lib/famix/src/model/famix/enum.js +0 -31
- package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
- package/dist/lib/famix/src/model/famix/function.js +0 -17
- package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
- package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
- package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -52
- package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
- package/dist/lib/famix/src/model/famix/interface.js +0 -64
- package/dist/lib/famix/src/model/famix/invocation.js +0 -54
- package/dist/lib/famix/src/model/famix/method.js +0 -67
- package/dist/lib/famix/src/model/famix/module.js +0 -84
- package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
- package/dist/lib/famix/src/model/famix/parameter.js +0 -25
- package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
- package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
- package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
- package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
- package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
- package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
- package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
- package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
- package/dist/lib/famix/src/model/famix/property.js +0 -126
- package/dist/lib/famix/src/model/famix/reference.js +0 -33
- package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -37
- package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
- package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
- package/dist/lib/famix/src/model/famix/source_language.js +0 -35
- package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
- package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
- package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
- package/dist/lib/famix/src/model/famix/type.js +0 -73
- package/dist/lib/famix/src/model/famix/variable.js +0 -24
- package/jest.config-old.ts +0 -199
- package/src/famix2puml.ts +0 -119
- package/src/lib/famix/package-lock.json +0 -301
- package/src/lib/famix/readme.md +0 -5
- package/src/lib/famix/src/famix_JSON_exporter.ts +0 -56
- package/src/lib/famix/src/famix_base_element.ts +0 -22
- package/src/lib/famix/src/famix_repository.ts +0 -243
- package/src/lib/famix/src/model/famix/access.ts +0 -53
- package/src/lib/famix/src/model/famix/alias.ts +0 -41
- package/src/lib/famix/src/model/famix/behavioral_entity.ts +0 -100
- package/src/lib/famix/src/model/famix/class.ts +0 -86
- package/src/lib/famix/src/model/famix/comment.ts +0 -50
- package/src/lib/famix/src/model/famix/concretisation.ts +0 -42
- package/src/lib/famix/src/model/famix/container_entity.ts +0 -165
- package/src/lib/famix/src/model/famix/decorator.ts +0 -39
- package/src/lib/famix/src/model/famix/enum.ts +0 -31
- package/src/lib/famix/src/model/famix/enum_value.ts +0 -29
- package/src/lib/famix/src/model/famix/implicit_variable.ts +0 -15
- package/src/lib/famix/src/model/famix/import_clause.ts +0 -54
- package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +0 -71
- package/src/lib/famix/src/model/famix/inheritance.ts +0 -41
- package/src/lib/famix/src/model/famix/interface.ts +0 -75
- package/src/lib/famix/src/model/famix/invocation.ts +0 -68
- package/src/lib/famix/src/model/famix/method.ts +0 -96
- package/src/lib/famix/src/model/famix/module.ts +0 -97
- package/src/lib/famix/src/model/famix/named_entity.ts +0 -98
- package/src/lib/famix/src/model/famix/parameterConcretisation.ts +0 -54
- package/src/lib/famix/src/model/famix/parameter_type.ts +0 -60
- package/src/lib/famix/src/model/famix/parametric_arrow_function.ts +0 -32
- package/src/lib/famix/src/model/famix/parametric_class.ts +0 -49
- package/src/lib/famix/src/model/famix/parametric_function.ts +0 -32
- package/src/lib/famix/src/model/famix/parametric_interface.ts +0 -49
- package/src/lib/famix/src/model/famix/parametric_method.ts +0 -32
- package/src/lib/famix/src/model/famix/primitive_type.ts +0 -15
- package/src/lib/famix/src/model/famix/property.ts +0 -152
- package/src/lib/famix/src/model/famix/reference.ts +0 -42
- package/src/lib/famix/src/model/famix/scoping_entity.ts +0 -36
- package/src/lib/famix/src/model/famix/script_entity.ts +0 -36
- package/src/lib/famix/src/model/famix/source_anchor.ts +0 -31
- package/src/lib/famix/src/model/famix/source_language.ts +0 -36
- package/src/lib/famix/src/model/famix/sourced_entity.ts +0 -73
- package/src/lib/famix/src/model/famix/structural_entity.ts +0 -44
- package/src/lib/famix/src/model/famix/text_anchor.ts +0 -49
- package/src/lib/famix/src/model/famix/type.ts +0 -89
- package/src/lib/famix/src/model/famix/variable.ts +0 -28
- package/src/lib/famix/tsconfig.json +0 -27
- package/src/lib/famix/tslint.json +0 -15
- /package/src/lib/famix/{src/index.ts → index.ts} +0 -0
- /package/src/lib/famix/{src/model → model}/famix/accessor.ts +0 -0
- /package/src/lib/famix/{src/model/famix/arrowFunction.ts → model/famix/arrow_function.ts} +0 -0
- /package/src/lib/famix/{src/model → model}/famix/entity.ts +0 -0
- /package/src/lib/famix/{src/model → model}/famix/function.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Concretisation = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const entity_1 = require("./entity");
|
|
6
|
+
class Concretisation extends entity_1.Entity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Concretisation", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("genericEntity", this.genericEntity);
|
|
15
|
+
exporter.addProperty("concreteEntity", this.concreteEntity);
|
|
16
|
+
}
|
|
17
|
+
get genericEntity() {
|
|
18
|
+
return this._genericEntity;
|
|
19
|
+
}
|
|
20
|
+
set genericEntity(genericEntity) {
|
|
21
|
+
this._genericEntity = genericEntity;
|
|
22
|
+
}
|
|
23
|
+
get concreteEntity() {
|
|
24
|
+
return this._concreteEntity;
|
|
25
|
+
}
|
|
26
|
+
set concreteEntity(concreteEntity) {
|
|
27
|
+
this._concreteEntity = concreteEntity;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.Concretisation = Concretisation;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY3JldGlzYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NvbmNyZXRpc2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFNbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUsvQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQTRGO1FBQzFHLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTZGO1FBQzVHLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQWhDRCx3Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNDbGFzcyB9IGZyb20gXCIuL3BhcmFtZXRyaWNfY2xhc3NcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfZnVuY3Rpb25cIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNJbnRlcmZhY2UgfSBmcm9tIFwiLi9wYXJhbWV0cmljX2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgUGFyYW1ldHJpY01ldGhvZCB9IGZyb20gXCIuL3BhcmFtZXRyaWNfbWV0aG9kXCI7XG5cbmV4cG9ydCBjbGFzcyBDb25jcmV0aXNhdGlvbiBleHRlbmRzIEVudGl0eSB7XG5cbiAgICBwcml2YXRlIF9nZW5lcmljRW50aXR5ITogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2Q7XG4gICAgcHJpdmF0ZSBfY29uY3JldGVFbnRpdHkhOiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZDsgIC8vIGlzIHRoaXMgY29ycmVjdD9cblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNvbmNyZXRpc2F0aW9uXCIsIHRoaXMpO1xuICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG4gIFxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY0VudGl0eVwiLCB0aGlzLmdlbmVyaWNFbnRpdHkpO1xuICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZUVudGl0eVwiLCB0aGlzLmNvbmNyZXRlRW50aXR5KTtcbiAgICB9XG5cbiAgICBnZXQgZ2VuZXJpY0VudGl0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGdlbmVyaWNFbnRpdHkoZ2VuZXJpY0VudGl0eTogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2QpIHtcbiAgICAgICAgdGhpcy5fZ2VuZXJpY0VudGl0eSA9IGdlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmNyZXRlRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGNvbmNyZXRlRW50aXR5KGNvbmNyZXRlRW50aXR5OiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZCkge1xuICAgICAgICB0aGlzLl9jb25jcmV0ZUVudGl0eSA9IGNvbmNyZXRlRW50aXR5O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContainerEntity = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const named_entity_1 = require("./named_entity");
|
|
6
|
+
class ContainerEntity extends named_entity_1.NamedEntity {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._childrenContainerEntities = new Set();
|
|
10
|
+
this._outgoingReferences = new Set();
|
|
11
|
+
this._outgoingInvocations = new Set();
|
|
12
|
+
this._accesses = new Set();
|
|
13
|
+
this.childrenTypes = new Set();
|
|
14
|
+
this.childrenFunctions = new Set();
|
|
15
|
+
this._variables = new Set();
|
|
16
|
+
}
|
|
17
|
+
addChildContainerEntity(childContainerEntity) {
|
|
18
|
+
if (!this._childrenContainerEntities.has(childContainerEntity)) {
|
|
19
|
+
this._childrenContainerEntities.add(childContainerEntity);
|
|
20
|
+
childContainerEntity.parentContainerEntity = this;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
addOutgoingReference(outgoingReference) {
|
|
24
|
+
if (!this._outgoingReferences.has(outgoingReference)) {
|
|
25
|
+
this._outgoingReferences.add(outgoingReference);
|
|
26
|
+
outgoingReference.source = this;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
addOutgoingInvocation(outgoingInvocation) {
|
|
30
|
+
if (!this._outgoingInvocations.has(outgoingInvocation)) {
|
|
31
|
+
this._outgoingInvocations.add(outgoingInvocation);
|
|
32
|
+
outgoingInvocation.sender = this;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
addAccess(access) {
|
|
36
|
+
if (!this._accesses.has(access)) {
|
|
37
|
+
this._accesses.add(access);
|
|
38
|
+
access.accessor = this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
addType(childType) {
|
|
42
|
+
if (!this.childrenTypes.has(childType)) {
|
|
43
|
+
this.childrenTypes.add(childType);
|
|
44
|
+
childType.parentContainerEntity = this;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
addFunction(childFunction) {
|
|
48
|
+
if (!this.childrenFunctions.has(childFunction)) {
|
|
49
|
+
this.childrenFunctions.add(childFunction);
|
|
50
|
+
childFunction.parentContainerEntity = this;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
addVariable(variable) {
|
|
54
|
+
if (!this._variables.has(variable)) {
|
|
55
|
+
this._variables.add(variable);
|
|
56
|
+
variable.parentContainerEntity = this;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
getJSON() {
|
|
60
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ContainerEntity", this);
|
|
61
|
+
this.addPropertiesToExporter(json);
|
|
62
|
+
return json.getJSON();
|
|
63
|
+
}
|
|
64
|
+
addPropertiesToExporter(exporter) {
|
|
65
|
+
super.addPropertiesToExporter(exporter);
|
|
66
|
+
// exporter.addProperty("parentBehaviouralEntity", this.getParentContainerEntity());
|
|
67
|
+
// exporter.addProperty("childrenContainerEntities", this.getChildrenContainerEntities());
|
|
68
|
+
exporter.addProperty("cyclomaticComplexity", this.cyclomaticComplexity);
|
|
69
|
+
exporter.addProperty("numberOfStatements", this.numberOfStatements);
|
|
70
|
+
// exporter.addProperty("outgoingReferences", this.getOutgoingReferences()); /* derived ?*/
|
|
71
|
+
exporter.addProperty("numberOfLinesOfCode", this.numberOfLinesOfCode);
|
|
72
|
+
// exporter.addProperty("outgoingInvocations", this.getOutgoingInvocations()); /* derived ?*/
|
|
73
|
+
// exporter.addProperty("accesses", this.getAccesses()); /* derived ?*/
|
|
74
|
+
exporter.addProperty("types", this.types);
|
|
75
|
+
exporter.addProperty("functions", this.functions);
|
|
76
|
+
exporter.addProperty("localVariables", this.variables);
|
|
77
|
+
}
|
|
78
|
+
get parentContainerEntity() {
|
|
79
|
+
return this._parentContainerEntity;
|
|
80
|
+
}
|
|
81
|
+
set parentContainerEntity(parentContainerEntity) {
|
|
82
|
+
this._parentContainerEntity = parentContainerEntity;
|
|
83
|
+
parentContainerEntity.addChildContainerEntity(this);
|
|
84
|
+
}
|
|
85
|
+
get childrenContainerEntities() {
|
|
86
|
+
return this._childrenContainerEntities;
|
|
87
|
+
}
|
|
88
|
+
get cyclomaticComplexity() {
|
|
89
|
+
return this._cyclomaticComplexity;
|
|
90
|
+
}
|
|
91
|
+
set cyclomaticComplexity(cyclomaticComplexity) {
|
|
92
|
+
this._cyclomaticComplexity = cyclomaticComplexity;
|
|
93
|
+
}
|
|
94
|
+
get numberOfStatements() {
|
|
95
|
+
return this._numberOfStatements;
|
|
96
|
+
}
|
|
97
|
+
set numberOfStatements(numberOfStatements) {
|
|
98
|
+
this._numberOfStatements = numberOfStatements;
|
|
99
|
+
}
|
|
100
|
+
get outgoingReferences() {
|
|
101
|
+
return this._outgoingReferences;
|
|
102
|
+
}
|
|
103
|
+
get numberOfLinesOfCode() {
|
|
104
|
+
return this._numberOfLinesOfCode;
|
|
105
|
+
}
|
|
106
|
+
set numberOfLinesOfCode(numberOfLinesOfCode) {
|
|
107
|
+
this._numberOfLinesOfCode = numberOfLinesOfCode;
|
|
108
|
+
}
|
|
109
|
+
get outgoingInvocations() {
|
|
110
|
+
return this._outgoingInvocations;
|
|
111
|
+
}
|
|
112
|
+
get accesses() {
|
|
113
|
+
return this._accesses;
|
|
114
|
+
}
|
|
115
|
+
get types() {
|
|
116
|
+
return this.childrenTypes;
|
|
117
|
+
}
|
|
118
|
+
get functions() {
|
|
119
|
+
return this.childrenFunctions;
|
|
120
|
+
}
|
|
121
|
+
get variables() {
|
|
122
|
+
return this._variables;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ContainerEntity = ContainerEntity;
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyX2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29udGFpbmVyX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBTTdDLE1BQWEsZUFBZ0IsU0FBUSwwQkFBVztJQUFoRDs7UUFHWSwrQkFBMEIsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVc3RCx3QkFBbUIsR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVVoRCx5QkFBb0IsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsRCxjQUFTLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTbkMsa0JBQWEsR0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3JDLHNCQUFpQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3hELGVBQVUsR0FBa0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBGbEQsQ0FBQztJQWpKVSx1QkFBdUIsQ0FBQyxvQkFBcUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMxRCxvQkFBb0IsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFNTSxvQkFBb0IsQ0FBQyxpQkFBNEI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BD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LENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBdEpELDBDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuaW1wb3J0IHsgTmFtZWRFbnRpdHkgfSBmcm9tIFwiLi9uYW1lZF9lbnRpdHlcIjtcbmltcG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XG5pbXBvcnQgeyBGdW5jdGlvbiBhcyBGYW1peEZ1bmN0aW9uRW50aXR5IH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmltcG9ydCB7IFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVcIjtcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudENvbnRhaW5lckVudGl0eSE6IENvbnRhaW5lckVudGl0eTtcbiAgICBwcml2YXRlIF9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzOiBTZXQ8Q29udGFpbmVyRW50aXR5PiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRDaGlsZENvbnRhaW5lckVudGl0eShjaGlsZENvbnRhaW5lckVudGl0eTogQ29udGFpbmVyRW50aXR5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcy5oYXMoY2hpbGRDb250YWluZXJFbnRpdHkpKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzLmFkZChjaGlsZENvbnRhaW5lckVudGl0eSk7XG4gICAgICAgICAgICBjaGlsZENvbnRhaW5lckVudGl0eS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3ljbG9tYXRpY0NvbXBsZXhpdHkhOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyT2ZTdGF0ZW1lbnRzITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nUmVmZXJlbmNlczogU2V0PFJlZmVyZW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkT3V0Z29pbmdSZWZlcmVuY2Uob3V0Z29pbmdSZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX291dGdvaW5nUmVmZXJlbmNlcy5oYXMob3V0Z29pbmdSZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXMuYWRkKG91dGdvaW5nUmVmZXJlbmNlKTtcbiAgICAgICAgICAgIG91dGdvaW5nUmVmZXJlbmNlLnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9udW1iZXJPZkxpbmVzT2ZDb2RlITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRPdXRnb2luZ0ludm9jYXRpb24ob3V0Z29pbmdJbnZvY2F0aW9uOiBJbnZvY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5oYXMob3V0Z29pbmdJbnZvY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5hZGQob3V0Z29pbmdJbnZvY2F0aW9uKTtcbiAgICAgICAgICAgIG91dGdvaW5nSW52b2NhdGlvbi5zZW5kZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWNjZXNzZXM6IFNldDxBY2Nlc3M+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZEFjY2VzcyhhY2Nlc3M6IEFjY2Vzcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc2VzLmhhcyhhY2Nlc3MpKSB7XG4gICAgICAgICAgICB0aGlzLl9hY2Nlc3Nlcy5hZGQoYWNjZXNzKTtcbiAgICAgICAgICAgIGFjY2Vzcy5hY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuVHlwZXM6IFNldDxUeXBlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRUeXBlKGNoaWxkVHlwZTogVHlwZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5UeXBlcy5oYXMoY2hpbGRUeXBlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlblR5cGVzLmFkZChjaGlsZFR5cGUpO1xuICAgICAgICAgICAgY2hpbGRUeXBlLnBhcmVudENvbnRhaW5lckVudGl0eSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuRnVuY3Rpb25zOiBTZXQ8RmFtaXhGdW5jdGlvbkVudGl0eT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkRnVuY3Rpb24oY2hpbGRGdW5jdGlvbjogRmFtaXhGdW5jdGlvbkVudGl0eSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5GdW5jdGlvbnMuaGFzKGNoaWxkRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuRnVuY3Rpb25zLmFkZChjaGlsZEZ1bmN0aW9uKTtcbiAgICAgICAgICAgIGNoaWxkRnVuY3Rpb24ucGFyZW50Q29udGFpbmVyRW50aXR5ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhcmlhYmxlczogU2V0PFZhcmlhYmxlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRWYXJpYWJsZSh2YXJpYWJsZTogVmFyaWFibGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YXJpYWJsZXMuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFibGVzLmFkZCh2YXJpYWJsZSk7XG4gICAgICAgICAgICB2YXJpYWJsZS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJDb250YWluZXJFbnRpdHlcIiwgdGhpcyk7XG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJwYXJlbnRCZWhhdmlvdXJhbEVudGl0eVwiLCB0aGlzLmdldFBhcmVudENvbnRhaW5lckVudGl0eSgpKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzXCIsIHRoaXMuZ2V0Q2hpbGRyZW5Db250YWluZXJFbnRpdGllcygpKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjeWNsb21hdGljQ29tcGxleGl0eVwiLCB0aGlzLmN5Y2xvbWF0aWNDb21wbGV4aXR5KTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJudW1iZXJPZlN0YXRlbWVudHNcIiwgdGhpcy5udW1iZXJPZlN0YXRlbWVudHMpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nUmVmZXJlbmNlc1wiLCB0aGlzLmdldE91dGdvaW5nUmVmZXJlbmNlcygpKTsgIC8qIGRlcml2ZWQgPyovXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibnVtYmVyT2ZMaW5lc09mQ29kZVwiLCB0aGlzLm51bWJlck9mTGluZXNPZkNvZGUpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nSW52b2NhdGlvbnNcIiwgdGhpcy5nZXRPdXRnb2luZ0ludm9jYXRpb25zKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhY2Nlc3Nlc1wiLCB0aGlzLmdldEFjY2Vzc2VzKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ0eXBlc1wiLCB0aGlzLnR5cGVzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmdW5jdGlvbnNcIiwgdGhpcy5mdW5jdGlvbnMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImxvY2FsVmFyaWFibGVzXCIsIHRoaXMudmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50Q29udGFpbmVyRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBwYXJlbnRDb250YWluZXJFbnRpdHkocGFyZW50Q29udGFpbmVyRW50aXR5OiBDb250YWluZXJFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5ID0gcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgICAgICBwYXJlbnRDb250YWluZXJFbnRpdHkuYWRkQ2hpbGRDb250YWluZXJFbnRpdHkodGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuQ29udGFpbmVyRW50aXRpZXMoKTogU2V0PENvbnRhaW5lckVudGl0eT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcztcbiAgICB9XG5cbiAgICBnZXQgY3ljbG9tYXRpY0NvbXBsZXhpdHkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5O1xuICAgIH1cblxuICAgIHNldCBjeWNsb21hdGljQ29tcGxleGl0eShjeWNsb21hdGljQ29tcGxleGl0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5ID0gY3ljbG9tYXRpY0NvbXBsZXhpdHk7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mU3RhdGVtZW50cygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIHNldCBudW1iZXJPZlN0YXRlbWVudHMobnVtYmVyT2ZTdGF0ZW1lbnRzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzID0gbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ1JlZmVyZW5jZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXM7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mTGluZXNPZkNvZGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGU7XG4gICAgfVxuXG4gICAgc2V0IG51bWJlck9mTGluZXNPZkNvZGUobnVtYmVyT2ZMaW5lc09mQ29kZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGUgPSBudW1iZXJPZkxpbmVzT2ZDb2RlO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ0ludm9jYXRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWNjZXNzZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2Nlc3NlcztcbiAgICB9XG5cbiAgICBnZXQgdHlwZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuVHlwZXM7XG4gICAgfVxuXG4gICAgZ2V0IGZ1bmN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5GdW5jdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Decorator = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const named_entity_1 = require("./named_entity");
|
|
6
|
+
class Decorator extends named_entity_1.NamedEntity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Decorator", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("expression", this.decoratorExpression);
|
|
15
|
+
exporter.addProperty("decoratedEntity", this.decoratedEntity);
|
|
16
|
+
}
|
|
17
|
+
get decoratorExpression() {
|
|
18
|
+
return this._decoratorExpression;
|
|
19
|
+
}
|
|
20
|
+
set decoratorExpression(decoratorExpression) {
|
|
21
|
+
this._decoratorExpression = decoratorExpression;
|
|
22
|
+
}
|
|
23
|
+
get decoratedEntity() {
|
|
24
|
+
return this._decoratedEntity;
|
|
25
|
+
}
|
|
26
|
+
set decoratedEntity(decoratedEntity) {
|
|
27
|
+
this._decoratedEntity = decoratedEntity;
|
|
28
|
+
decoratedEntity.addDecorator(this);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Decorator = Decorator;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlEQUE2QztBQUU3QyxNQUFhLFNBQVUsU0FBUSwwQkFBVztJQUsvQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBNEI7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQWpDRCw4QkFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgRGVjb3JhdG9yIGV4dGVuZHMgTmFtZWRFbnRpdHkge1xuXG4gICAgcHJpdmF0ZSBfZGVjb3JhdG9yRXhwcmVzc2lvbiE6IHN0cmluZztcbiAgICBwcml2YXRlIF9kZWNvcmF0ZWRFbnRpdHkhOiBOYW1lZEVudGl0eTtcblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRGVjb3JhdG9yXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZXhwcmVzc2lvblwiLCB0aGlzLmRlY29yYXRvckV4cHJlc3Npb24pO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImRlY29yYXRlZEVudGl0eVwiLCB0aGlzLmRlY29yYXRlZEVudGl0eSk7XG4gICAgfVxuXG4gICAgZ2V0IGRlY29yYXRvckV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgc2V0IGRlY29yYXRvckV4cHJlc3Npb24oZGVjb3JhdG9yRXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb24gPSBkZWNvcmF0b3JFeHByZXNzaW9uO1xuICAgIH1cblxuICAgIGdldCBkZWNvcmF0ZWRFbnRpdHkoKTogTmFtZWRFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVjb3JhdGVkRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBkZWNvcmF0ZWRFbnRpdHkoZGVjb3JhdGVkRW50aXR5OiBOYW1lZEVudGl0eSkge1xuICAgICAgICB0aGlzLl9kZWNvcmF0ZWRFbnRpdHkgPSBkZWNvcmF0ZWRFbnRpdHk7XG4gICAgICAgIGRlY29yYXRlZEVudGl0eS5hZGREZWNvcmF0b3IodGhpcyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Entity = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const famix_base_element_1 = require("../../famix_base_element");
|
|
6
|
+
class Entity extends famix_base_element_1.FamixBaseElement {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Entity", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.Entity = Entity;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlFQUE0RDtBQUU1RCxNQUFhLE1BQU8sU0FBUSxxQ0FBZ0I7SUFFbkMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFYRCx3QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IEZhbWl4QmFzZUVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vZmFtaXhfYmFzZV9lbGVtZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHkgZXh0ZW5kcyBGYW1peEJhc2VFbGVtZW50IHtcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRW50aXR5XCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Enum = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const type_1 = require("./type");
|
|
6
|
+
class Enum extends type_1.Type {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._values = new Set();
|
|
10
|
+
}
|
|
11
|
+
addValue(value) {
|
|
12
|
+
if (!this._values.has(value)) {
|
|
13
|
+
this._values.add(value);
|
|
14
|
+
value.parentEntity = this;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
getJSON() {
|
|
18
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Enum", this);
|
|
19
|
+
this.addPropertiesToExporter(json);
|
|
20
|
+
return json.getJSON();
|
|
21
|
+
}
|
|
22
|
+
addPropertiesToExporter(exporter) {
|
|
23
|
+
super.addPropertiesToExporter(exporter);
|
|
24
|
+
exporter.addProperty("enumValues", this.values);
|
|
25
|
+
}
|
|
26
|
+
get values() {
|
|
27
|
+
return this._values;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.Enum = Enum;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRzlCLE1BQWEsSUFBSyxTQUFRLFdBQUk7SUFBOUI7O1FBRVksWUFBTyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJoRCxDQUFDO0lBckJVLFFBQVEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBekJELG9CQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBFbnVtVmFsdWUgfSBmcm9tIFwiLi9lbnVtX3ZhbHVlXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtIGV4dGVuZHMgVHlwZSB7XG5cbiAgICBwcml2YXRlIF92YWx1ZXM6IFNldDxFbnVtVmFsdWU+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBFbnVtVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgICB2YWx1ZS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJFbnVtXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW51bVZhbHVlc1wiLCB0aGlzLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnumValue = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const structural_entity_1 = require("./structural_entity");
|
|
6
|
+
class EnumValue extends structural_entity_1.StructuralEntity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("EnumValue", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("parentEnum", this.parentEntity);
|
|
15
|
+
}
|
|
16
|
+
get parentEntity() {
|
|
17
|
+
return this._parentEntity;
|
|
18
|
+
}
|
|
19
|
+
set parentEntity(parentEntity) {
|
|
20
|
+
this._parentEntity = parentEntity;
|
|
21
|
+
parentEntity.addValue(this);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.EnumValue = EnumValue;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bV92YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bV92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsMkRBQXVEO0FBR3ZELE1BQWEsU0FBVSxTQUFRLG9DQUFnQjtJQUlwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXZCRCw4QkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmltcG9ydCB7IEVudW0gfSBmcm9tIFwiLi9lbnVtXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtVmFsdWUgZXh0ZW5kcyBTdHJ1Y3R1cmFsRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IEVudW07XG5cbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkVudW1WYWx1ZVwiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEVudW1cIiwgdGhpcy5wYXJlbnRFbnRpdHkpO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRFbnRpdHkoKTogRW51bSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IHBhcmVudEVudGl0eShwYXJlbnRFbnRpdHk6IEVudW0pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkVmFsdWUodGhpcyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Function = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const behavioral_entity_1 = require("./behavioral_entity");
|
|
6
|
+
class Function extends behavioral_entity_1.BehavioralEntity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Function", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.Function = Function;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFFdkQsTUFBYSxRQUFTLFNBQVEsb0NBQWdCO0lBRXJDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBWEQsNEJBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcblxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uIGV4dGVuZHMgQmVoYXZpb3JhbEVudGl0eSB7XG5cbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkZ1bmN0aW9uXCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImportClause = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const entity_1 = require("./entity");
|
|
6
|
+
class ImportClause extends entity_1.Entity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("ImportClause", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("importingEntity", this.importingEntity);
|
|
15
|
+
exporter.addProperty("importedEntity", this.importedEntity);
|
|
16
|
+
// unknown property below
|
|
17
|
+
// exporter.addProperty("moduleSpecifier", this.getModuleSpecifier());
|
|
18
|
+
}
|
|
19
|
+
get importingEntity() {
|
|
20
|
+
return this._importingEntity;
|
|
21
|
+
}
|
|
22
|
+
set importingEntity(importer) {
|
|
23
|
+
this._importingEntity = importer;
|
|
24
|
+
importer.addOutgoingImport(this); // opposite
|
|
25
|
+
}
|
|
26
|
+
get importedEntity() {
|
|
27
|
+
return this._importedEntity;
|
|
28
|
+
}
|
|
29
|
+
set importedEntity(importedEntity) {
|
|
30
|
+
this._importedEntity = importedEntity;
|
|
31
|
+
importedEntity.addIncomingImport(this); // incomingImports in Famix TImportable/TImport
|
|
32
|
+
}
|
|
33
|
+
get moduleSpecifier() {
|
|
34
|
+
return this._moduleSpecifier;
|
|
35
|
+
}
|
|
36
|
+
set moduleSpecifier(moduleSpecifier) {
|
|
37
|
+
this._moduleSpecifier = moduleSpecifier;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ImportClause = ImportClause;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0X2NsYXVzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvaW1wb3J0X2NsYXVzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQscUNBQWtDO0FBSWxDLE1BQWEsWUFBYSxTQUFRLGVBQU07SUFNN0IsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RCxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCx5QkFBeUI7UUFDekIseUVBQXlFO0lBQzdFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsUUFBZ0I7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO0lBQ2pELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTJCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLCtDQUErQztJQUMzRixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLGVBQXVCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBN0NELG9DQTZDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xuaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSBcIi4vbW9kdWxlXCI7XG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgSW1wb3J0Q2xhdXNlIGV4dGVuZHMgRW50aXR5IHtcblxuICAgIHByaXZhdGUgX2ltcG9ydGluZ0VudGl0eSE6IE1vZHVsZTtcbiAgICBwcml2YXRlIF9pbXBvcnRlZEVudGl0eSE6IE5hbWVkRW50aXR5O1xuICAgIHByaXZhdGUgX21vZHVsZVNwZWNpZmllciE6IHN0cmluZztcblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW1wb3J0Q2xhdXNlXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiaW1wb3J0aW5nRW50aXR5XCIsIHRoaXMuaW1wb3J0aW5nRW50aXR5KTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbXBvcnRlZEVudGl0eVwiLCB0aGlzLmltcG9ydGVkRW50aXR5KTtcbiAgICAgICAgLy8gdW5rbm93biBwcm9wZXJ0eSBiZWxvd1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm1vZHVsZVNwZWNpZmllclwiLCB0aGlzLmdldE1vZHVsZVNwZWNpZmllcigpKTtcbiAgICB9XG5cbiAgICBnZXQgaW1wb3J0aW5nRW50aXR5KCk6IE1vZHVsZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbXBvcnRpbmdFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGltcG9ydGluZ0VudGl0eShpbXBvcnRlcjogTW9kdWxlKSB7XG4gICAgICAgIHRoaXMuX2ltcG9ydGluZ0VudGl0eSA9IGltcG9ydGVyO1xuICAgICAgICBpbXBvcnRlci5hZGRPdXRnb2luZ0ltcG9ydCh0aGlzKTsgLy8gb3Bwb3NpdGVcbiAgICB9XG5cbiAgICBnZXQgaW1wb3J0ZWRFbnRpdHkoKTogTmFtZWRFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW1wb3J0ZWRFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGltcG9ydGVkRW50aXR5KGltcG9ydGVkRW50aXR5OiBOYW1lZEVudGl0eSkge1xuICAgICAgICB0aGlzLl9pbXBvcnRlZEVudGl0eSA9IGltcG9ydGVkRW50aXR5O1xuICAgICAgICBpbXBvcnRlZEVudGl0eS5hZGRJbmNvbWluZ0ltcG9ydCh0aGlzKTsgLy8gaW5jb21pbmdJbXBvcnRzIGluIEZhbWl4IFRJbXBvcnRhYmxlL1RJbXBvcnRcbiAgICB9XG5cbiAgICBnZXQgbW9kdWxlU3BlY2lmaWVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2R1bGVTcGVjaWZpZXI7XG4gICAgfVxuXG4gICAgc2V0IG1vZHVsZVNwZWNpZmllcihtb2R1bGVTcGVjaWZpZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9tb2R1bGVTcGVjaWZpZXIgPSBtb2R1bGVTcGVjaWZpZXI7XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ParameterConcretisation = exports.ParametricArrowFunction = exports.ArrowFunction = exports.ParametricMethod = exports.ParametricFunction = exports.Variable = exports.Type = exports.
|
|
3
|
+
exports.ParameterConcretisation = exports.ParametricArrowFunction = exports.ArrowFunction = exports.ParametricMethod = exports.ParametricFunction = exports.Variable = exports.Type = exports.StructuralEntity = exports.SourcedEntity = exports.SourceLanguage = exports.SourceAnchor = exports.ScriptEntity = exports.ScopingEntity = exports.Reference = exports.PrimitiveType = exports.ParametricInterface = exports.ParametricClass = exports.Parameter = exports.ParameterType = exports.NamedEntity = exports.Module = exports.Method = exports.Invocation = exports.Interface = exports.Inheritance = exports.IndexedFileAnchor = exports.ImportClause = exports.Function = exports.Property = exports.Enum = exports.EnumValue = exports.Entity = exports.Decorator = exports.Concretisation = exports.ContainerEntity = exports.Comment = exports.Class = exports.BehavioralEntity = exports.Alias = exports.Accessor = exports.Access = void 0;
|
|
4
4
|
var access_1 = require("./access");
|
|
5
5
|
Object.defineProperty(exports, "Access", { enumerable: true, get: function () { return access_1.Access; } });
|
|
6
6
|
var accessor_1 = require("./accessor");
|
|
@@ -29,8 +29,6 @@ var property_1 = require("./property");
|
|
|
29
29
|
Object.defineProperty(exports, "Property", { enumerable: true, get: function () { return property_1.Property; } });
|
|
30
30
|
var function_1 = require("./function");
|
|
31
31
|
Object.defineProperty(exports, "Function", { enumerable: true, get: function () { return function_1.Function; } });
|
|
32
|
-
var implicit_variable_1 = require("./implicit_variable");
|
|
33
|
-
Object.defineProperty(exports, "ImplicitVariable", { enumerable: true, get: function () { return implicit_variable_1.ImplicitVariable; } });
|
|
34
32
|
var import_clause_1 = require("./import_clause");
|
|
35
33
|
Object.defineProperty(exports, "ImportClause", { enumerable: true, get: function () { return import_clause_1.ImportClause; } });
|
|
36
34
|
var indexed_file_anchor_1 = require("./indexed_file_anchor");
|
|
@@ -71,8 +69,6 @@ var sourced_entity_1 = require("./sourced_entity");
|
|
|
71
69
|
Object.defineProperty(exports, "SourcedEntity", { enumerable: true, get: function () { return sourced_entity_1.SourcedEntity; } });
|
|
72
70
|
var structural_entity_1 = require("./structural_entity");
|
|
73
71
|
Object.defineProperty(exports, "StructuralEntity", { enumerable: true, get: function () { return structural_entity_1.StructuralEntity; } });
|
|
74
|
-
var text_anchor_1 = require("./text_anchor");
|
|
75
|
-
Object.defineProperty(exports, "TextAnchor", { enumerable: true, get: function () { return text_anchor_1.TextAnchor; } });
|
|
76
72
|
var type_1 = require("./type");
|
|
77
73
|
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return type_1.Type; } });
|
|
78
74
|
var variable_1 = require("./variable");
|
|
@@ -81,10 +77,10 @@ var parametric_function_1 = require("./parametric_function");
|
|
|
81
77
|
Object.defineProperty(exports, "ParametricFunction", { enumerable: true, get: function () { return parametric_function_1.ParametricFunction; } });
|
|
82
78
|
var parametric_method_1 = require("./parametric_method");
|
|
83
79
|
Object.defineProperty(exports, "ParametricMethod", { enumerable: true, get: function () { return parametric_method_1.ParametricMethod; } });
|
|
84
|
-
var
|
|
85
|
-
Object.defineProperty(exports, "ArrowFunction", { enumerable: true, get: function () { return
|
|
80
|
+
var arrow_function_1 = require("./arrow_function");
|
|
81
|
+
Object.defineProperty(exports, "ArrowFunction", { enumerable: true, get: function () { return arrow_function_1.ArrowFunction; } });
|
|
86
82
|
var parametric_arrow_function_1 = require("./parametric_arrow_function");
|
|
87
83
|
Object.defineProperty(exports, "ParametricArrowFunction", { enumerable: true, get: function () { return parametric_arrow_function_1.ParametricArrowFunction; } });
|
|
88
|
-
var
|
|
89
|
-
Object.defineProperty(exports, "ParameterConcretisation", { enumerable: true, get: function () { return
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
var parameter_concretisation_1 = require("./parameter_concretisation");
|
|
85
|
+
Object.defineProperty(exports, "ParameterConcretisation", { enumerable: true, get: function () { return parameter_concretisation_1.ParameterConcretisation; } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUF6QixnR0FBQSxNQUFNLE9BQUE7QUFDZix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFDZCx5REFBdUQ7QUFBOUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFDekIsaUNBQWdDO0FBQXZCLDhGQUFBLEtBQUssT0FBQTtBQUNkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsdURBQXFEO0FBQTVDLG1IQUFBLGVBQWUsT0FBQTtBQUN4QixtREFBa0Q7QUFBekMsZ0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLDJDQUF5QztBQUFoQyx1R0FBQSxTQUFTLE9BQUE7QUFDbEIsK0JBQThCO0FBQXJCLDRGQUFBLElBQUksT0FBQTtBQUNiLHVDQUFzQztBQUE3QixvR0FBQSxRQUFRLE9BQUE7QUFDakIsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUNqQixpREFBK0M7QUFBdEMsNkdBQUEsWUFBWSxPQUFBO0FBQ3JCLDZEQUEwRDtBQUFqRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLHlDQUF3QztBQUEvQixzR0FBQSxTQUFTLE9BQUE7QUFDbEIsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQixtQ0FBa0M7QUFBekIsZ0dBQUEsTUFBTSxPQUFBO0FBQ2YsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLCtDQUE2QztBQUFwQywyR0FBQSxXQUFXLE9BQUE7QUFDcEIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLHVEQUFxRDtBQUE1QyxtSEFBQSxlQUFlLE9BQUE7QUFDeEIsK0RBQTZEO0FBQXBELDJIQUFBLG1CQUFtQixPQUFBO0FBQzVCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQixtREFBaUQ7QUFBeEMsK0dBQUEsYUFBYSxPQUFBO0FBQ3RCLGlEQUErQztBQUF0Qyw2R0FBQSxZQUFZLE9BQUE7QUFDckIsaURBQStDO0FBQXRDLDZHQUFBLFlBQVksT0FBQTtBQUNyQixxREFBbUQ7QUFBMUMsaUhBQUEsY0FBYyxPQUFBO0FBQ3ZCLG1EQUFpRDtBQUF4QywrR0FBQSxhQUFhLE9BQUE7QUFDdEIseURBQXVEO0FBQTlDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3pCLCtCQUE4QjtBQUFyQiw0RkFBQSxJQUFJLE9BQUE7QUFDYix1Q0FBc0M7QUFBN0Isb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLDZEQUEyRDtBQUFsRCx5SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix5REFBdUQ7QUFBOUMscUhBQUEsZ0JBQWdCLE9BQUE7QUFDekIsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUN0Qix5RUFBc0U7QUFBN0Qsb0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsdUVBQXFFO0FBQTVELG1JQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XG5leHBvcnQgeyBBY2Nlc3NvciB9IGZyb20gXCIuL2FjY2Vzc29yXCI7XG5leHBvcnQgeyBBbGlhcyB9IGZyb20gXCIuL2FsaWFzXCI7XG5leHBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcbmV4cG9ydCB7IENsYXNzIH0gZnJvbSBcIi4vY2xhc3NcIjtcbmV4cG9ydCB7IENvbW1lbnQgfSBmcm9tIFwiLi9jb21tZW50XCI7XG5leHBvcnQgeyBDb250YWluZXJFbnRpdHkgfSBmcm9tIFwiLi9jb250YWluZXJfZW50aXR5XCI7XG5leHBvcnQgeyBDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL2NvbmNyZXRpc2F0aW9uXCI7XG5leHBvcnQgeyBEZWNvcmF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JcIjtcbmV4cG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xuZXhwb3J0IHsgRW51bVZhbHVlIH0gZnJvbSBcIi4vZW51bV92YWx1ZVwiO1xuZXhwb3J0IHsgRW51bSB9IGZyb20gXCIuL2VudW1cIjtcbmV4cG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIi4vcHJvcGVydHlcIjtcbmV4cG9ydCB7IEZ1bmN0aW9uIH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmV4cG9ydCB7IEltcG9ydENsYXVzZSB9IGZyb20gXCIuL2ltcG9ydF9jbGF1c2VcIjtcbmV4cG9ydCB7IEluZGV4ZWRGaWxlQW5jaG9yIH0gZnJvbSBcIi4vaW5kZXhlZF9maWxlX2FuY2hvclwiO1xuZXhwb3J0IHsgSW5oZXJpdGFuY2UgfSBmcm9tIFwiLi9pbmhlcml0YW5jZVwiO1xuZXhwb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSBcIi4vaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuZXhwb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5leHBvcnQgeyBNb2R1bGUgfSBmcm9tIFwiLi9tb2R1bGVcIjtcbmV4cG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XG5leHBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcbmV4cG9ydCB7IFBhcmFtZXRlciB9IGZyb20gXCIuL3BhcmFtZXRlclwiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0NsYXNzIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19jbGFzc1wiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0ludGVyZmFjZSB9IGZyb20gXCIuL3BhcmFtZXRyaWNfaW50ZXJmYWNlXCI7XG5leHBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSBcIi4vcHJpbWl0aXZlX3R5cGVcIjtcbmV4cG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuZXhwb3J0IHsgU2NvcGluZ0VudGl0eSB9IGZyb20gXCIuL3Njb3BpbmdfZW50aXR5XCI7XG5leHBvcnQgeyBTY3JpcHRFbnRpdHkgfSBmcm9tIFwiLi9zY3JpcHRfZW50aXR5XCI7XG5leHBvcnQgeyBTb3VyY2VBbmNob3IgfSBmcm9tIFwiLi9zb3VyY2VfYW5jaG9yXCI7XG5leHBvcnQgeyBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL3NvdXJjZV9sYW5ndWFnZVwiO1xuZXhwb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XG5leHBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmV4cG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5leHBvcnQgeyBWYXJpYWJsZSB9IGZyb20gXCIuL3ZhcmlhYmxlXCI7XG5leHBvcnQgeyBQYXJhbWV0cmljRnVuY3Rpb24gfSBmcm9tIFwiLi9wYXJhbWV0cmljX2Z1bmN0aW9uXCI7XG5leHBvcnQgeyBQYXJhbWV0cmljTWV0aG9kIH0gZnJvbSBcIi4vcGFyYW1ldHJpY19tZXRob2RcIjtcbmV4cG9ydCB7IEFycm93RnVuY3Rpb24gfSBmcm9tIFwiLi9hcnJvd19mdW5jdGlvblwiO1xuZXhwb3J0IHsgUGFyYW1ldHJpY0Fycm93RnVuY3Rpb24gfSBmcm9tIFwiLi9wYXJhbWV0cmljX2Fycm93X2Z1bmN0aW9uXCI7XG5leHBvcnQgeyBQYXJhbWV0ZXJDb25jcmV0aXNhdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRlcl9jb25jcmV0aXNhdGlvblwiO1xuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IndexedFileAnchor = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const source_anchor_1 = require("./source_anchor");
|
|
6
|
+
class IndexedFileAnchor extends source_anchor_1.SourceAnchor {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("IndexedFileAnchor", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("startPos", this.startPos);
|
|
15
|
+
exporter.addProperty("endPos", this.endPos);
|
|
16
|
+
exporter.addProperty("fileName", this.fileName);
|
|
17
|
+
}
|
|
18
|
+
get startPos() {
|
|
19
|
+
return this._startPos;
|
|
20
|
+
}
|
|
21
|
+
set startPos(startPos) {
|
|
22
|
+
this._startPos = startPos;
|
|
23
|
+
}
|
|
24
|
+
get endPos() {
|
|
25
|
+
return this._endPos;
|
|
26
|
+
}
|
|
27
|
+
set endPos(endPos) {
|
|
28
|
+
this._endPos = endPos;
|
|
29
|
+
}
|
|
30
|
+
get fileName() {
|
|
31
|
+
return this._fileName;
|
|
32
|
+
}
|
|
33
|
+
set fileName(fileName) {
|
|
34
|
+
this._fileName = fileName;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.IndexedFileAnchor = IndexedFileAnchor;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9maWxlX2FuY2hvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvaW5kZXhlZF9maWxlX2FuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsbURBQStDO0FBRS9DLE1BQWEsaUJBQWtCLFNBQVEsNEJBQVk7SUFNMUMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFQyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztDQUNKO0FBMUNELDhDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFNvdXJjZUFuY2hvciB9IGZyb20gXCIuL3NvdXJjZV9hbmNob3JcIjtcblxuZXhwb3J0IGNsYXNzIEluZGV4ZWRGaWxlQW5jaG9yIGV4dGVuZHMgU291cmNlQW5jaG9yIHtcblxuICBwcml2YXRlIF9zdGFydFBvcyE6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZW5kUG9zITogbnVtYmVyO1xuICBwcml2YXRlIF9maWxlTmFtZSE6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW5kZXhlZEZpbGVBbmNob3JcIiwgdGhpcyk7XG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3RhcnRQb3NcIiwgdGhpcy5zdGFydFBvcyk7XG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJlbmRQb3NcIiwgdGhpcy5lbmRQb3MpO1xuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZmlsZU5hbWVcIiwgdGhpcy5maWxlTmFtZSk7XG4gIH1cblxuICAgIGdldCBzdGFydFBvcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhcnRQb3M7XG4gICAgfVxuXG4gICAgc2V0IHN0YXJ0UG9zKHN0YXJ0UG9zOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fc3RhcnRQb3MgPSBzdGFydFBvcztcbiAgICB9XG5cbiAgICBnZXQgZW5kUG9zKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbmRQb3M7XG4gICAgfVxuXG4gICAgc2V0IGVuZFBvcyhlbmRQb3M6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9lbmRQb3MgPSBlbmRQb3M7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlTmFtZTtcbiAgICB9XG5cbiAgICBzZXQgZmlsZU5hbWUoZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9maWxlTmFtZSA9IGZpbGVOYW1lO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Inheritance = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const entity_1 = require("./entity");
|
|
6
|
+
class Inheritance extends entity_1.Entity {
|
|
7
|
+
getJSON() {
|
|
8
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Inheritance", this);
|
|
9
|
+
this.addPropertiesToExporter(json);
|
|
10
|
+
return json.getJSON();
|
|
11
|
+
}
|
|
12
|
+
addPropertiesToExporter(exporter) {
|
|
13
|
+
super.addPropertiesToExporter(exporter);
|
|
14
|
+
exporter.addProperty("superclass", this.superclass);
|
|
15
|
+
exporter.addProperty("subclass", this.subclass);
|
|
16
|
+
}
|
|
17
|
+
get superclass() {
|
|
18
|
+
return this._superclass;
|
|
19
|
+
}
|
|
20
|
+
set superclass(superclass) {
|
|
21
|
+
this._superclass = superclass;
|
|
22
|
+
superclass.addSubInheritance(this);
|
|
23
|
+
}
|
|
24
|
+
get subclass() {
|
|
25
|
+
return this._subclass;
|
|
26
|
+
}
|
|
27
|
+
set subclass(subclass) {
|
|
28
|
+
this._subclass = subclass;
|
|
29
|
+
subclass.addSuperInheritance(this);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.Inheritance = Inheritance;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5oZXJpdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2luaGVyaXRhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUU5RCxxQ0FBa0M7QUFHbEMsTUFBYSxXQUFZLFNBQVEsZUFBTTtJQUs1QixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBNkI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQTJCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFsQ0Qsa0NBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tIFwiLi9jbGFzc1wiO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tIFwiLi9pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIEluaGVyaXRhbmNlIGV4dGVuZHMgRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3N1cGVyY2xhc3MhOiBDbGFzcyB8IEludGVyZmFjZTtcbiAgICBwcml2YXRlIF9zdWJjbGFzcyE6IENsYXNzIHwgSW50ZXJmYWNlO1xuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJJbmhlcml0YW5jZVwiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInN1cGVyY2xhc3NcIiwgdGhpcy5zdXBlcmNsYXNzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJjbGFzc1wiLCB0aGlzLnN1YmNsYXNzKTtcbiAgICB9XG5cbiAgICBnZXQgc3VwZXJjbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1cGVyY2xhc3M7XG4gICAgfVxuXG4gICAgc2V0IHN1cGVyY2xhc3Moc3VwZXJjbGFzczogQ2xhc3MgfCBJbnRlcmZhY2UpIHtcbiAgICAgICAgdGhpcy5fc3VwZXJjbGFzcyA9IHN1cGVyY2xhc3M7XG4gICAgICAgIHN1cGVyY2xhc3MuYWRkU3ViSW5oZXJpdGFuY2UodGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IHN1YmNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3ViY2xhc3M7XG4gICAgfVxuXG4gICAgc2V0IHN1YmNsYXNzKHN1YmNsYXNzOiBDbGFzcyB8IEludGVyZmFjZSkge1xuICAgICAgICB0aGlzLl9zdWJjbGFzcyA9IHN1YmNsYXNzO1xuICAgICAgICBzdWJjbGFzcy5hZGRTdXBlckluaGVyaXRhbmNlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Interface = void 0;
|
|
4
|
+
const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
|
|
5
|
+
const type_1 = require("./type");
|
|
6
|
+
class Interface extends type_1.Type {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._properties = new Set();
|
|
10
|
+
this._methods = new Set();
|
|
11
|
+
this._superInheritances = new Set();
|
|
12
|
+
this._subInheritances = new Set();
|
|
13
|
+
}
|
|
14
|
+
addProperty(property) {
|
|
15
|
+
if (!this._properties.has(property)) {
|
|
16
|
+
this._properties.add(property);
|
|
17
|
+
property.parentEntity = this;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
addMethod(method) {
|
|
21
|
+
if (!this._methods.has(method)) {
|
|
22
|
+
this._methods.add(method);
|
|
23
|
+
method.parentEntity = this;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
addSuperInheritance(superInheritance) {
|
|
27
|
+
if (!this._superInheritances.has(superInheritance)) {
|
|
28
|
+
this._superInheritances.add(superInheritance);
|
|
29
|
+
superInheritance.subclass = this;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
addSubInheritance(subInheritance) {
|
|
33
|
+
if (!this._subInheritances.has(subInheritance)) {
|
|
34
|
+
this._subInheritances.add(subInheritance);
|
|
35
|
+
subInheritance.superclass = this;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
getJSON() {
|
|
39
|
+
const json = new famix_JSON_exporter_1.FamixJSONExporter("Interface", this);
|
|
40
|
+
this.addPropertiesToExporter(json);
|
|
41
|
+
return json.getJSON();
|
|
42
|
+
}
|
|
43
|
+
addPropertiesToExporter(exporter) {
|
|
44
|
+
super.addPropertiesToExporter(exporter);
|
|
45
|
+
exporter.addProperty("attributes", this.properties);
|
|
46
|
+
exporter.addProperty("methods", this.methods);
|
|
47
|
+
exporter.addProperty("superInheritances", this.superInheritances);
|
|
48
|
+
exporter.addProperty("subInheritances", this.subInheritances);
|
|
49
|
+
}
|
|
50
|
+
get properties() {
|
|
51
|
+
return this._properties;
|
|
52
|
+
}
|
|
53
|
+
get methods() {
|
|
54
|
+
return this._methods;
|
|
55
|
+
}
|
|
56
|
+
get superInheritances() {
|
|
57
|
+
return this._superInheritances;
|
|
58
|
+
}
|
|
59
|
+
get subInheritances() {
|
|
60
|
+
return this._subInheritances;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.Interface = Interface;
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlDQUE4QjtBQUs5QixNQUFhLFNBQVUsU0FBUSxXQUFJO0lBQW5DOztRQUVZLGdCQUFXLEdBQWtCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTdkMsYUFBUSxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU2xDLHVCQUFrQixHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU2pELHFCQUFnQixHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUMzRCxDQUFDO0lBaEVVLFdBQVcsQ0FBQyxRQUFrQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUlNLFNBQVMsQ0FBQyxNQUFjO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBSU0sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUlNLGlCQUFpQixDQUFDLGNBQTJCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxjQUFjLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxRQUFRLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7Q0FDSjtBQXBFRCw4QkFvRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIi4vdHlwZVwiO1xuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gXCIuL3Byb3BlcnR5XCI7XG5pbXBvcnQgeyBJbmhlcml0YW5jZSB9IGZyb20gXCIuL2luaGVyaXRhbmNlXCI7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcmZhY2UgZXh0ZW5kcyBUeXBlIHtcblxuICAgIHByaXZhdGUgX3Byb3BlcnRpZXM6IFNldDxQcm9wZXJ0eT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydHkocHJvcGVydHk6IFByb3BlcnR5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcHJvcGVydGllcy5oYXMocHJvcGVydHkpKSB7XG4gICAgICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzLmFkZChwcm9wZXJ0eSk7XG4gICAgICAgICAgICBwcm9wZXJ0eS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbWV0aG9kczogU2V0PE1ldGhvZD4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkTWV0aG9kKG1ldGhvZDogTWV0aG9kKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbWV0aG9kcy5oYXMobWV0aG9kKSkge1xuICAgICAgICAgICAgdGhpcy5fbWV0aG9kcy5hZGQobWV0aG9kKTtcbiAgICAgICAgICAgIG1ldGhvZC5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3VwZXJJbmhlcml0YW5jZXM6IFNldDxJbmhlcml0YW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkU3VwZXJJbmhlcml0YW5jZShzdXBlckluaGVyaXRhbmNlOiBJbmhlcml0YW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3N1cGVySW5oZXJpdGFuY2VzLmhhcyhzdXBlckluaGVyaXRhbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5fc3VwZXJJbmhlcml0YW5jZXMuYWRkKHN1cGVySW5oZXJpdGFuY2UpO1xuICAgICAgICAgICAgc3VwZXJJbmhlcml0YW5jZS5zdWJjbGFzcyA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zdWJJbmhlcml0YW5jZXM6IFNldDxJbmhlcml0YW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkU3ViSW5oZXJpdGFuY2Uoc3ViSW5oZXJpdGFuY2U6IEluaGVyaXRhbmNlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3ViSW5oZXJpdGFuY2VzLmhhcyhzdWJJbmhlcml0YW5jZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YkluaGVyaXRhbmNlcy5hZGQoc3ViSW5oZXJpdGFuY2UpO1xuICAgICAgICAgICAgc3ViSW5oZXJpdGFuY2Uuc3VwZXJjbGFzcyA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiSW50ZXJmYWNlXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiYXR0cmlidXRlc1wiLCB0aGlzLnByb3BlcnRpZXMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm1ldGhvZHNcIiwgdGhpcy5tZXRob2RzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdXBlckluaGVyaXRhbmNlc1wiLCB0aGlzLnN1cGVySW5oZXJpdGFuY2VzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJJbmhlcml0YW5jZXNcIiwgdGhpcy5zdWJJbmhlcml0YW5jZXMpO1xuICAgIH1cblxuICAgIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydGllcztcbiAgICB9XG5cbiAgICBnZXQgbWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21ldGhvZHM7XG4gICAgfVxuXG4gICAgZ2V0IHN1cGVySW5oZXJpdGFuY2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3VwZXJJbmhlcml0YW5jZXM7XG4gICAgfVxuXG4gICAgZ2V0IHN1YkluaGVyaXRhbmNlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1YkluaGVyaXRhbmNlcztcbiAgICB9XG59XG4iXX0=
|