Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Made by @alkalinan
Move this issue to check on v5 for future integration
Exporting file structure like source anchor
This change allows the java files to retain the folder structure that they have according to the model source anchor. Previously, when exporting a class
A
with with its source anchor set hasC:/myproject/src/packageA/A.java
(assuming the exporting root path wasC:/output/
) the output file path wasC:/output/packageA/A.java
, loosing thesrc
folder in the process. And for java project with mulitple sub project, all sub project files were exported in the same project folder, loosing the initial hierachical file structure.My change set the export path of any file to mimic the initial path found in the source anchor. Therefore, Java class, enum and interface use a
generateExportFileFor:
method that return the output file ensuring it exists.Potential bug : no source anchor of the FamixEntity.
new experiemental Feature : submodel exporter
The submodel exporter allows you to only retains selected methods when visiting the model and mocking all the other methods. When exported, the only selected methods will retains their body, while others methods are transformed into mock method (only returning null or nothing if void). This enables us the generate sub part of the application without changing the rest. The feature is found in the subclass
Famix2JavaFiltered
and does not impact the behavior of the initial Famix2Java exporter.minoir fixes
isVoid
method extension for FamixJavaMethod (unfound in Famix API).