Search in sources :

Example 1 with AntDomCustomElement

use of com.intellij.lang.ant.dom.AntDomCustomElement in project intellij-community by JetBrains.

the class CustomTypesTest method doTest.

protected void doTest() throws Exception {
    String name = getTestName(false);
    String text = loadFile(name + ".ant");
    PsiFile file = myFixture.addFileToProject(name + ".ant", text);
    final AntDomProject antProject = AntSupport.getAntDomProject(file);
    final Ref<Boolean> found = new Ref<>(false);
    antProject.accept(new AntDomRecursiveVisitor() {

        @Override
        public void visitAntDomElement(AntDomElement element) {
            if (!found.get()) {
                super.visitAntDomElement(element);
            }
        }

        @Override
        public void visitAntDomCustomElement(AntDomCustomElement element) {
            final Class clazz = element.getDefinitionClass();
            if (clazz != null && AntCustomTask.class.getName().equals(clazz.getName())) {
                found.set(true);
            } else {
                super.visitAntDomElement(element);
            }
        }
    });
    assertTrue(found.get());
}
Also used : Ref(com.intellij.openapi.util.Ref) AntDomCustomElement(com.intellij.lang.ant.dom.AntDomCustomElement) AntDomElement(com.intellij.lang.ant.dom.AntDomElement) AntCustomTask(com.intellij.lang.ant.typedefs.AntCustomTask) AntDomRecursiveVisitor(com.intellij.lang.ant.dom.AntDomRecursiveVisitor) PsiFile(com.intellij.psi.PsiFile) AntDomProject(com.intellij.lang.ant.dom.AntDomProject)

Aggregations

AntDomCustomElement (com.intellij.lang.ant.dom.AntDomCustomElement)1 AntDomElement (com.intellij.lang.ant.dom.AntDomElement)1 AntDomProject (com.intellij.lang.ant.dom.AntDomProject)1 AntDomRecursiveVisitor (com.intellij.lang.ant.dom.AntDomRecursiveVisitor)1 AntCustomTask (com.intellij.lang.ant.typedefs.AntCustomTask)1 Ref (com.intellij.openapi.util.Ref)1 PsiFile (com.intellij.psi.PsiFile)1