diff --git a/.github/workflows/polyglot_release.yml b/.github/workflows/polyglot_release.yml index 1e1b48fbc..0ebf67251 100644 --- a/.github/workflows/polyglot_release.yml +++ b/.github/workflows/polyglot_release.yml @@ -1,4 +1,3 @@ -# .github/workflows/release.yml name: Release Polyglot Piranha on: release: @@ -27,4 +26,4 @@ jobs: with: RUSTTARGET: ${{ matrix.target }} ARCHIVE_TYPES: ${{ matrix.archive }} - SRC_DIR: generic/piranha + SRC_DIR: polyglot/piranha diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a243837a1..ccad317a9 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -20,13 +20,11 @@ jobs: toolchain: stable override: true components: rustfmt, clippy - - name: Install Tree-Sitter - run: cargo install tree-sitter-cli - name: Build Piranha run: cargo build - working-directory: generic/piranha + working-directory: polyglot/piranha - name: Clippy check run: cargo clippy - working-directory: generic/piranha + working-directory: polyglot/piranha - run: cargo test - working-directory: generic/piranha \ No newline at end of file + working-directory: polyglot/piranha diff --git a/.gitignore b/.gitignore index 203a24cfc..ae96d02c4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,13 +10,10 @@ swift/artifact swift/Piranha.xcodeproj swift/Package.resolved **/*.iml -generic/piranha/target -generic/piranha/Cargo.lock -generic/piranha/.idea -generic/tree-sitter-src/tree-sitter-java -generic/tree-sitter-src/tree-sitter-swift -generic/tree-sitter-src/tree-sitter-kotlin +polyglot/piranha/target +polyglot/piranha/Cargo.lock +polyglot/piranha/.idea .history .vscode **/*.log -generic/piranha/demo/piranha \ No newline at end of file +polyglot/piranha/demo/piranha diff --git a/README.md b/README.md index f1982b242..a2e6bdc4b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Feature flags are commonly used to enable gradual rollout or experiment with new Piranha is a tool to automatically refactor code related to stale flags. At a higher level, the input to the tool is the name of the flag and the expected behavior, after specifying a list of APIs related to flags in a properties file. Piranha will use these inputs to automatically refactor the code according to the expected behavior. -This repository contains four independent versions of Piranha, one for each of the four supported languages: Java, JavaScript, Objective-C and Swift. **It also contains a redesigned variant of Piranha (as of May 2022) that is a common refactoring tool to support multiple languages and feature flag APIs. If interested in this generic variant, goto [PiranhaGeneric](generic/README.md)**. +This repository contains four independent versions of Piranha, one for each of the four supported languages: Java, JavaScript, Objective-C and Swift. **It also contains a redesigned variant of Piranha (as of May 2022) that is a common refactoring tool to support multiple languages and feature flag APIs. If interested in this polyglot variant, goto [Polyglot Piranha](polyglot/README.md)**. To use/build each version, look under the corresponding [lang]/ directory and follow instructions in the corresponding [lang]/README.md file. Make sure to cd into that directory to build any related code following the instructions in the README. diff --git a/generic/README.md b/polyglot/README.md similarity index 81% rename from generic/README.md rename to polyglot/README.md index 6380f3892..32f19c0a1 100644 --- a/generic/README.md +++ b/polyglot/README.md @@ -47,30 +47,30 @@ Languages supported : ## Building Piranha from Source * Install [Rust](https://www.rust-lang.org/tools/install), Git and [tree-sitter CLI](https://github.com/tree-sitter/tree-sitter/blob/master/cli/README.md) * Checkout this repository - `git checkout https://github.com/uber/piranha.git` -* `cd piranha/generic/piranha` +* `cd piranha/polyglot/piranha` * `cargo build --release` * You will see the binary under `target/release` ## Getting started with Piranha -*Please refer to our [demo](/generic/piranha/demo/run_piranha_demo.sh) - to quickly get started with Piranha.* +*Please refer to our [demo](/polyglot/piranha/demo/run_piranha_demo.sh) - to quickly get started with Piranha.* To run the demo : -* `cd generic/piranha` +* `cd polyglot/piranha` * `./demo/run_piranha_demo.sh` -*Please refer to our test cases at [`/generic/piranha/src/test-resources//`](/generic/piranha/src/test-resources/) as a reference for handling complicated scenarios* +*Please refer to our test cases at [`/polyglot/piranha/src/test-resources//`](/polyglot/piranha/src/test-resources/) as a reference for handling complicated scenarios* To get started with Piranha, please follow the below steps: * Check if the current version of Piranha supports the required language. -* If so, then check if the API usage is similar to the ones shown in the demo ([java-demo](/generic/piranha/demo/java/configurations/rules.toml)) or in the test resources ([java-ff_system1](/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml), [java-ff_system2](/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml)). +* If so, then check if the API usage is similar to the ones shown in the demo ([java-demo](/polyglot/piranha/demo/java/configurations/rules.toml)) or in the test resources ([java-ff_system1](/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml), [java-ff_system2](/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml)). * If not, adapt these examples to your requirements. Further, you can study the [tree-sitter query documentation](https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries) to understand how tree-sitter queries work. -* Now adapt the [argument file](/generic/piranha/demo/java/configurations/piranha_arguments.toml) as per your requirements. For instance, you may want to update the value corresponding to the `@stale_flag_name` and `@treated`. If your rules do not contain require other tags feel free to remove them from your arguments file. In most cases [edges file](/demo/java/configurations/edges.toml) is not required, unless your feature flag system API rules are inter-dependent. +* Now adapt the [argument file](/polyglot/piranha/demo/java/configurations/piranha_arguments.toml) as per your requirements. For instance, you may want to update the value corresponding to the `@stale_flag_name` and `@treated`. If your rules do not contain require other tags feel free to remove them from your arguments file. In most cases [edges file](/demo/java/configurations/edges.toml) is not required, unless your feature flag system API rules are inter-dependent. More details for configuring Piranha - [Adding support for a new feature flag system](adding-support-for-a-new-feature-flag-system) and [Adding Support for a new language](adding-support-for-a-new-language). ## Adding support for a new feature flag system -To onboard a new feature flag system users will have to specify the `/rules.toml` and `/edges.toml` files (look [here](/generic/piranha/src/cleanup_rules/java)). The `rules.toml` will contain rules that identify the usage of a feature flag system API. Defining `edges.toml` is required if your feature flag system API rules are inter-dependent. +To onboard a new feature flag system users will have to specify the `/rules.toml` and `/edges.toml` files (look [here](/polyglot/piranha/src/cleanup_rules/java)). The `rules.toml` will contain rules that identify the usage of a feature flag system API. Defining `edges.toml` is required if your feature flag system API rules are inter-dependent. For instance, you want to delete a method declaration with specific annotations and then update its usages with some boolean value. Please refer to the `test-resources/java` for detailed examples. @@ -207,15 +207,15 @@ int foobar(){ We would first define flag API rules as discussed in the section [Adding Support for a new language](adding-support-for-a-new-language). Assuming this rule replaces the occurrence of the flag API corresponding to `SOME_STALE_FLAG` with `true`; we would have to define more cleanup rules as follows: -* `R0`: Deletes the enclosing variable declaration (i.e. `x`) (E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml):`delete_variable_declarations`) -* `R1`: replace the identifier with the RHS of the deleted variable declaration, within the body of the enclosing method where `R0` was applied i.e. replace `x` with `true` within the method body of `foobar`. (E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml):`replace_expression_with_boolean_literal`) -* `R2`: simplify the boolean expressions, for example replace `true || someCondition()` with `true`, that encloses the node where `R1` was applied. (E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml): `true_or_something`) -* `R3`: eliminate the enclosing if statement with a constant condition where `R2` was applied (`if (true) { return 100;}` → `return 100;`). E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml): `simplify_if_statement_true, remove_unnecessary_nested_block` -* `R4`: eliminate unreachable code (`return 0;` in `return 100; return 0;`) in the enclosing block where `R3` was applied. (E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml): `delete_all_statements_after_return`) +* `R0`: Deletes the enclosing variable declaration (i.e. `x`) (E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml):`delete_variable_declarations`) +* `R1`: replace the identifier with the RHS of the deleted variable declaration, within the body of the enclosing method where `R0` was applied i.e. replace `x` with `true` within the method body of `foobar`. (E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml):`replace_expression_with_boolean_literal`) +* `R2`: simplify the boolean expressions, for example replace `true || someCondition()` with `true`, that encloses the node where `R1` was applied. (E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml): `true_or_something`) +* `R3`: eliminate the enclosing if statement with a constant condition where `R2` was applied (`if (true) { return 100;}` → `return 100;`). E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml): `simplify_if_statement_true, remove_unnecessary_nested_block` +* `R4`: eliminate unreachable code (`return 0;` in `return 100; return 0;`) in the enclosing block where `R3` was applied. (E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml): `delete_all_statements_after_return`) The fact that `R2` has to be applied to the enclosing node where `R1` was applied, is expressed by specifying the `edges.toml` file. -To define how these cleanup rules should be chained, one needs to specify edges (e.g. the [java-edges](/generic/piranha/src/cleanup_rules/java/edges.toml) file) between the groups and (or) individual rules. +To define how these cleanup rules should be chained, one needs to specify edges (e.g. the [java-edges](/polyglot/piranha/src/cleanup_rules/java/edges.toml) file) between the groups and (or) individual rules. The edges can be labelled as `Parent`, `Global` or even much finer scopes like `Method` or `Class` (or let's say `functions` in `go-lang`). * A `Parent` edge implies that after Piranha applies the `"from"` rule to update the node `n1` in the AST to node `n2`, Piranha tries to apply `"to"` rules on any ancestor of `"n2"` (e.g. `R1` → `R2`, `R2` → `R3`, `R3` → `R4`) * A `Method` edge implies that after Piranha applies the `"from"` rule to update the node `n1` in the AST to node `n2`, Piranha tries to apply `"to"` rules within the enclosing method's body. (e.g. `R0` → `R1`) @@ -223,14 +223,14 @@ The edges can be labelled as `Parent`, `Global` or even much finer scopes like ` * A `Global` edge implies that after Piranha applies the `"from"` rule to update the node `n1` in the AST to node `n2`, Piranha tries to apply `"to"` rules in the entire code base. (e.g. in-lining a public field). `scope_config.toml` file specifies how to capture these fine-grained scopes like `method`, `function`, `lambda`, `class`. -First decide, what scopes you need to capture, for instance, in Java we capture "Method" and "Class" scopes. Once, you decide the scopes construct scope query generators similar to [java-scope_config](/generic/piranha/src/cleanup_rules/java/scope_config.toml). Each scope query generator has two parts - (i) `matcher` is a tree-sitter query that matches the AST for the scope, and (ii) `generator` is a tree-sitter query with holes that is instantiated with the code snippets corresponding to tags when `matcher` is matched. +First decide, what scopes you need to capture, for instance, in Java we capture "Method" and "Class" scopes. Once, you decide the scopes construct scope query generators similar to [java-scope_config](/polyglot/piranha/src/cleanup_rules/java/scope_config.toml). Each scope query generator has two parts - (i) `matcher` is a tree-sitter query that matches the AST for the scope, and (ii) `generator` is a tree-sitter query with holes that is instantiated with the code snippets corresponding to tags when `matcher` is matched. ## Contributing ### Naming conventions for the rules * We name the rules in the format - _. E.g., `delete_method_declaration` or `replace_expression with_boolean_literal` -* We name the dummy rules in the format - `_cleanup` E.g. `statement_cleanup` or `boolean_literal_cleanup`. Using dummy rules (E.g. [java-rules](/generic/piranha/src/cleanup_rules/java/rules.toml): `boolean_literal_cleanup`) makes it easier and cleaner when specifying the flow between rules. +* We name the dummy rules in the format - `_cleanup` E.g. `statement_cleanup` or `boolean_literal_cleanup`. Using dummy rules (E.g. [java-rules](/polyglot/piranha/src/cleanup_rules/java/rules.toml): `boolean_literal_cleanup`) makes it easier and cleaner when specifying the flow between rules. ### Writing tests Currently we maintain diff --git a/generic/piranha/Cargo.toml b/polyglot/piranha/Cargo.toml similarity index 100% rename from generic/piranha/Cargo.toml rename to polyglot/piranha/Cargo.toml diff --git a/generic/piranha/demo/java/SampleClass.java b/polyglot/piranha/demo/java/SampleClass.java similarity index 100% rename from generic/piranha/demo/java/SampleClass.java rename to polyglot/piranha/demo/java/SampleClass.java diff --git a/generic/piranha/demo/java/TestEnum.java b/polyglot/piranha/demo/java/TestEnum.java similarity index 100% rename from generic/piranha/demo/java/TestEnum.java rename to polyglot/piranha/demo/java/TestEnum.java diff --git a/generic/piranha/demo/java/configurations/piranha_arguments.toml b/polyglot/piranha/demo/java/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/demo/java/configurations/piranha_arguments.toml rename to polyglot/piranha/demo/java/configurations/piranha_arguments.toml diff --git a/generic/piranha/demo/java/configurations/rules.toml b/polyglot/piranha/demo/java/configurations/rules.toml similarity index 100% rename from generic/piranha/demo/java/configurations/rules.toml rename to polyglot/piranha/demo/java/configurations/rules.toml diff --git a/generic/piranha/demo/kt/SampleClass.kt b/polyglot/piranha/demo/kt/SampleClass.kt similarity index 100% rename from generic/piranha/demo/kt/SampleClass.kt rename to polyglot/piranha/demo/kt/SampleClass.kt diff --git a/generic/piranha/demo/kt/TestEnum.kt b/polyglot/piranha/demo/kt/TestEnum.kt similarity index 100% rename from generic/piranha/demo/kt/TestEnum.kt rename to polyglot/piranha/demo/kt/TestEnum.kt diff --git a/generic/piranha/demo/kt/configurations/piranha_arguments.toml b/polyglot/piranha/demo/kt/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/demo/kt/configurations/piranha_arguments.toml rename to polyglot/piranha/demo/kt/configurations/piranha_arguments.toml diff --git a/generic/piranha/demo/kt/configurations/rules.toml b/polyglot/piranha/demo/kt/configurations/rules.toml similarity index 100% rename from generic/piranha/demo/kt/configurations/rules.toml rename to polyglot/piranha/demo/kt/configurations/rules.toml diff --git a/generic/piranha/demo/run_piranha_demo.sh b/polyglot/piranha/demo/run_piranha_demo.sh similarity index 100% rename from generic/piranha/demo/run_piranha_demo.sh rename to polyglot/piranha/demo/run_piranha_demo.sh diff --git a/generic/piranha/demo/swift/Sample.swift b/polyglot/piranha/demo/swift/Sample.swift similarity index 100% rename from generic/piranha/demo/swift/Sample.swift rename to polyglot/piranha/demo/swift/Sample.swift diff --git a/generic/piranha/demo/swift/configurations/piranha_arguments.toml b/polyglot/piranha/demo/swift/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/demo/swift/configurations/piranha_arguments.toml rename to polyglot/piranha/demo/swift/configurations/piranha_arguments.toml diff --git a/generic/piranha/demo/swift/configurations/rules.toml b/polyglot/piranha/demo/swift/configurations/rules.toml similarity index 100% rename from generic/piranha/demo/swift/configurations/rules.toml rename to polyglot/piranha/demo/swift/configurations/rules.toml diff --git a/generic/piranha/rustfmt.toml b/polyglot/piranha/rustfmt.toml similarity index 100% rename from generic/piranha/rustfmt.toml rename to polyglot/piranha/rustfmt.toml diff --git a/generic/piranha/src/cleanup_rules/java/edges.toml b/polyglot/piranha/src/cleanup_rules/java/edges.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/java/edges.toml rename to polyglot/piranha/src/cleanup_rules/java/edges.toml diff --git a/generic/piranha/src/cleanup_rules/java/rules.toml b/polyglot/piranha/src/cleanup_rules/java/rules.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/java/rules.toml rename to polyglot/piranha/src/cleanup_rules/java/rules.toml diff --git a/generic/piranha/src/cleanup_rules/java/scope_config.toml b/polyglot/piranha/src/cleanup_rules/java/scope_config.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/java/scope_config.toml rename to polyglot/piranha/src/cleanup_rules/java/scope_config.toml diff --git a/generic/piranha/src/cleanup_rules/kt/edges.toml b/polyglot/piranha/src/cleanup_rules/kt/edges.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/kt/edges.toml rename to polyglot/piranha/src/cleanup_rules/kt/edges.toml diff --git a/generic/piranha/src/cleanup_rules/kt/rules.toml b/polyglot/piranha/src/cleanup_rules/kt/rules.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/kt/rules.toml rename to polyglot/piranha/src/cleanup_rules/kt/rules.toml diff --git a/generic/piranha/src/cleanup_rules/kt/scope_config.toml b/polyglot/piranha/src/cleanup_rules/kt/scope_config.toml similarity index 100% rename from generic/piranha/src/cleanup_rules/kt/scope_config.toml rename to polyglot/piranha/src/cleanup_rules/kt/scope_config.toml diff --git a/generic/piranha/src/config.rs b/polyglot/piranha/src/config.rs similarity index 100% rename from generic/piranha/src/config.rs rename to polyglot/piranha/src/config.rs diff --git a/generic/piranha/src/main.rs b/polyglot/piranha/src/main.rs similarity index 100% rename from generic/piranha/src/main.rs rename to polyglot/piranha/src/main.rs diff --git a/generic/piranha/src/models/constraint.rs b/polyglot/piranha/src/models/constraint.rs similarity index 100% rename from generic/piranha/src/models/constraint.rs rename to polyglot/piranha/src/models/constraint.rs diff --git a/generic/piranha/src/models/edit.rs b/polyglot/piranha/src/models/edit.rs similarity index 100% rename from generic/piranha/src/models/edit.rs rename to polyglot/piranha/src/models/edit.rs diff --git a/generic/piranha/src/models/mod.rs b/polyglot/piranha/src/models/mod.rs similarity index 100% rename from generic/piranha/src/models/mod.rs rename to polyglot/piranha/src/models/mod.rs diff --git a/generic/piranha/src/models/outgoing_edges.rs b/polyglot/piranha/src/models/outgoing_edges.rs similarity index 100% rename from generic/piranha/src/models/outgoing_edges.rs rename to polyglot/piranha/src/models/outgoing_edges.rs diff --git a/generic/piranha/src/models/piranha_arguments.rs b/polyglot/piranha/src/models/piranha_arguments.rs similarity index 100% rename from generic/piranha/src/models/piranha_arguments.rs rename to polyglot/piranha/src/models/piranha_arguments.rs diff --git a/generic/piranha/src/models/piranha_config.rs b/polyglot/piranha/src/models/piranha_config.rs similarity index 100% rename from generic/piranha/src/models/piranha_config.rs rename to polyglot/piranha/src/models/piranha_config.rs diff --git a/generic/piranha/src/models/rule.rs b/polyglot/piranha/src/models/rule.rs similarity index 100% rename from generic/piranha/src/models/rule.rs rename to polyglot/piranha/src/models/rule.rs diff --git a/generic/piranha/src/models/rule_graph.rs b/polyglot/piranha/src/models/rule_graph.rs similarity index 100% rename from generic/piranha/src/models/rule_graph.rs rename to polyglot/piranha/src/models/rule_graph.rs diff --git a/generic/piranha/src/models/rule_store.rs b/polyglot/piranha/src/models/rule_store.rs similarity index 100% rename from generic/piranha/src/models/rule_store.rs rename to polyglot/piranha/src/models/rule_store.rs diff --git a/generic/piranha/src/models/scopes.rs b/polyglot/piranha/src/models/scopes.rs similarity index 100% rename from generic/piranha/src/models/scopes.rs rename to polyglot/piranha/src/models/scopes.rs diff --git a/generic/piranha/src/models/source_code_unit.rs b/polyglot/piranha/src/models/source_code_unit.rs similarity index 100% rename from generic/piranha/src/models/source_code_unit.rs rename to polyglot/piranha/src/models/source_code_unit.rs diff --git a/generic/piranha/src/models/unit_tests/rule_test.rs b/polyglot/piranha/src/models/unit_tests/rule_test.rs similarity index 100% rename from generic/piranha/src/models/unit_tests/rule_test.rs rename to polyglot/piranha/src/models/unit_tests/rule_test.rs diff --git a/generic/piranha/src/models/unit_tests/scopes_test.rs b/polyglot/piranha/src/models/unit_tests/scopes_test.rs similarity index 100% rename from generic/piranha/src/models/unit_tests/scopes_test.rs rename to polyglot/piranha/src/models/unit_tests/scopes_test.rs diff --git a/generic/piranha/src/models/unit_tests/source_code_unit_test.rs b/polyglot/piranha/src/models/unit_tests/source_code_unit_test.rs similarity index 100% rename from generic/piranha/src/models/unit_tests/source_code_unit_test.rs rename to polyglot/piranha/src/models/unit_tests/source_code_unit_test.rs diff --git a/generic/piranha/src/piranha.rs b/polyglot/piranha/src/piranha.rs similarity index 100% rename from generic/piranha/src/piranha.rs rename to polyglot/piranha/src/piranha.rs diff --git a/generic/piranha/src/tests/mod.rs b/polyglot/piranha/src/tests/mod.rs similarity index 100% rename from generic/piranha/src/tests/mod.rs rename to polyglot/piranha/src/tests/mod.rs diff --git a/generic/piranha/src/tests/test_piranha_java.rs b/polyglot/piranha/src/tests/test_piranha_java.rs similarity index 100% rename from generic/piranha/src/tests/test_piranha_java.rs rename to polyglot/piranha/src/tests/test_piranha_java.rs diff --git a/generic/piranha/src/tests/test_piranha_kt.rs b/polyglot/piranha/src/tests/test_piranha_kt.rs similarity index 100% rename from generic/piranha/src/tests/test_piranha_kt.rs rename to polyglot/piranha/src/tests/test_piranha_kt.rs diff --git a/generic/piranha/src/utilities/mod.rs b/polyglot/piranha/src/utilities/mod.rs similarity index 100% rename from generic/piranha/src/utilities/mod.rs rename to polyglot/piranha/src/utilities/mod.rs diff --git a/generic/piranha/src/utilities/tree_sitter_utilities.rs b/polyglot/piranha/src/utilities/tree_sitter_utilities.rs similarity index 100% rename from generic/piranha/src/utilities/tree_sitter_utilities.rs rename to polyglot/piranha/src/utilities/tree_sitter_utilities.rs diff --git a/generic/piranha/src/utilities/unit_tests/tree_sitter_utilities_test.rs b/polyglot/piranha/src/utilities/unit_tests/tree_sitter_utilities_test.rs similarity index 100% rename from generic/piranha/src/utilities/unit_tests/tree_sitter_utilities_test.rs rename to polyglot/piranha/src/utilities/unit_tests/tree_sitter_utilities_test.rs diff --git a/generic/piranha/src/utilities/unit_tests/utilities_test.rs b/polyglot/piranha/src/utilities/unit_tests/utilities_test.rs similarity index 100% rename from generic/piranha/src/utilities/unit_tests/utilities_test.rs rename to polyglot/piranha/src/utilities/unit_tests/utilities_test.rs diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/configurations/rules.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/expected/TestEnum.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/expected/TestEnum.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/expected/TestEnum.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/expected/TestEnum.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/expected/XPFlagCleanerPositiveCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/expected/XPFlagCleanerPositiveCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/expected/XPFlagCleanerPositiveCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/expected/XPFlagCleanerPositiveCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/input/TestEnum.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/input/TestEnum.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/input/TestEnum.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/input/TestEnum.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/control/input/XPFlagCleanerPositiveCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/control/input/XPFlagCleanerPositiveCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/control/input/XPFlagCleanerPositiveCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/control/input/XPFlagCleanerPositiveCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/configurations/rules.toml b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/configurations/rules.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/configurations/rules.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/expected/TestEnum.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/expected/TestEnum.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/expected/TestEnum.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/expected/TestEnum.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/expected/XPFlagCleanerPositiveCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/expected/XPFlagCleanerPositiveCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/expected/XPFlagCleanerPositiveCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/expected/XPFlagCleanerPositiveCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/input/TestEnum.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/input/TestEnum.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/input/TestEnum.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/input/TestEnum.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_1/treated/input/XPFlagCleanerPositiveCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_1/treated/input/XPFlagCleanerPositiveCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_1/treated/input/XPFlagCleanerPositiveCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_1/treated/input/XPFlagCleanerPositiveCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/edges.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/edges.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/edges.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/edges.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/configurations/rules.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/expected/XPMethodChainCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/XPMethodChainCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/expected/XPMethodChainCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/expected/XPMethodChainCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/control/input/XPMethodChainCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/XPMethodChainCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/control/input/XPMethodChainCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/control/input/XPMethodChainCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/edges.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/edges.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/edges.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/edges.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/rules.toml b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/configurations/rules.toml rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/configurations/rules.toml diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPMethodChainCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPMethodChainCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPMethodChainCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/expected/XPMethodChainCases.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.java diff --git a/generic/piranha/test-resources/java/feature_flag_system_2/treated/input/XPMethodChainCases.java b/polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/XPMethodChainCases.java similarity index 100% rename from generic/piranha/test-resources/java/feature_flag_system_2/treated/input/XPMethodChainCases.java rename to polyglot/piranha/test-resources/java/feature_flag_system_2/treated/input/XPMethodChainCases.java diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/configurations/rules.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/configurations/rules.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/configurations/rules.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/expected/TestEnum.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/expected/TestEnum.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/expected/TestEnum.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/expected/TestEnum.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/expected/XPFlagCleanerCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/expected/XPFlagCleanerCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/expected/XPFlagCleanerCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/expected/XPFlagCleanerCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/input/TestEnum.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/input/TestEnum.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/input/TestEnum.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/input/TestEnum.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/control/input/XPFlagCleanerCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/control/input/XPFlagCleanerCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/control/input/XPFlagCleanerCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/control/input/XPFlagCleanerCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/rules.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/rules.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/configurations/rules.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/expected/TestEnum.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/expected/TestEnum.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/expected/TestEnum.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/expected/TestEnum.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/expected/XPFlagCleanerCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/expected/XPFlagCleanerCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/expected/XPFlagCleanerCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/expected/XPFlagCleanerCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/input/TestEnum.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/input/TestEnum.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/input/TestEnum.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/input/TestEnum.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_1/treated/input/XPFlagCleanerCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/input/XPFlagCleanerCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_1/treated/input/XPFlagCleanerCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_1/treated/input/XPFlagCleanerCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/edges.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/edges.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/edges.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/edges.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/rules.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/configurations/rules.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/configurations/rules.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/ExperimentInterfaceAnnotatedInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPMethodChainCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPMethodChainCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPMethodChainCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/expected/XPMethodChainCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/ExperimentInterfaceAnnotatedInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/OtherXPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/XPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/control/input/XPMethodChainCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/XPMethodChainCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/control/input/XPMethodChainCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/control/input/XPMethodChainCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/edges.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/edges.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/edges.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/edges.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/piranha_arguments.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/piranha_arguments.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/piranha_arguments.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/piranha_arguments.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/rules.toml b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/rules.toml similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/rules.toml rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/configurations/rules.toml diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/ExperimentInterfaceAnnotatedInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPMethodChainCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPMethodChainCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPMethodChainCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/expected/XPMethodChainCases.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/ExperimentInterfaceAnnotatedInterface.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/OtherXPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPFlagCleanerInterfaceMethod.kt diff --git a/generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPMethodChainCases.kt b/polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPMethodChainCases.kt similarity index 100% rename from generic/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPMethodChainCases.kt rename to polyglot/piranha/test-resources/kt/feature_flag_system_2/treated/input/XPMethodChainCases.kt diff --git a/generic/piranha/test-resources/utility_tests/sample.toml b/polyglot/piranha/test-resources/utility_tests/sample.toml similarity index 100% rename from generic/piranha/test-resources/utility_tests/sample.toml rename to polyglot/piranha/test-resources/utility_tests/sample.toml