首页 > 解决方案 > 如何为狙击模式打印实现 OutputType 过滤器

问题描述

根据 JDTBasedSpoonCompiler 的代码片段,编译单元不考虑输出类型过滤器。

@Override
public void generateProcessedSourceFiles(OutputType outputType, Filter<CtType<?>> typeFilter) {
    getEnvironment().getSpoonProgress().start(SpoonProgress.Process.PRINT);
    switch (outputType) {
    case CLASSES:
        generateProcessedSourceFilesUsingTypes(typeFilter);
        break;
    case COMPILATION_UNITS:
        generateProcessedSourceFilesUsingCUs();
        break;
    case NO_OUTPUT:
    }
    getEnvironment().getSpoonProgress().end(SpoonProgress.Process.PRINT);
}

对于狙击模式打印,输出类型在内部配置为编译单元。我正在使用带有 Maven Launcher 的 Maven 项目,并且只对将修改后的编译单元输出到输出文件夹感兴趣。目前,所有输入文件也都填充在输出文件夹中,这是不正确的。

有什么方法可以实现过滤器?

标签: inria-spoon

解决方案


推荐阅读