美文网首页
Spoon-操作Java源码的利器

Spoon-操作Java源码的利器

作者: 蓝不多山 | 来源:发表于2017-11-29 22:21 被阅读0次

    Spoon能解析Java源码形成AST,并且简化成便于开发人员理解的概念模型,比如类型、方法、接口、注解等常用概念。

    Spoon的使用套路是根据源码构建模型,然后使用模型上的查找方法找到自己需要的元素,创建回调的处理器对找到的元素进行处理。

        SpoonAPI spoon = new Launcher();
        spoon.addInputResource("src/test/java/");
        spoon.buildModel();
    
        for (CtMethod<?> meth : spoon.getModel().getRootPackage().getElements(new TypeFilter<CtMethod>(CtMethod.class) {
                @Override
                public boolean matches(CtMethod element) {
                        return super.matches(element) && element.getAnnotation(Test.class) != null;
                }
        })) {
                assertTrue("naming contract violated for "+meth.getParent(CtClass.class).getSimpleName(), meth.getParent(CtClass.class).getSimpleName().startsWith("Test") || meth.getParent(CtClass.class).getSimpleName().endsWith("Test"));
        }
    

    上面的例子就是验证测试类都以Test开始或结束。

    相关文章

      网友评论

          本文标题:Spoon-操作Java源码的利器

          本文链接:https://www.haomeiwen.com/subject/mkfmbxtx.html