com.intellij.psi.xml.XmlTag#getProject ( )源码实例Demo

下面列出了com.intellij.psi.xml.XmlTag#getProject ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mule-intellij-plugins   文件: MuleConfigUtils.java
public static List<XmlTag> findFlowRefsForFlow(@NotNull XmlTag flow) {
    List<XmlTag> flowRefs = new ArrayList<>();

    final Project project = flow.getProject();
    final String flowName = flow.getAttributeValue(MuleConfigConstants.NAME_ATTRIBUTE);

    Collection<VirtualFile> vFiles = FileTypeIndex.getFiles(StdFileTypes.XML, ProjectScope.getContentScope(project));
    for (VirtualFile virtualFile : vFiles) {
        PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile);
        if (psiFile != null) {
            XmlFile xmlFile = (XmlFile) psiFile;
            XmlTag mule = xmlFile.getRootTag();

            FlowRefsFinder finder = new FlowRefsFinder(flowName);
            mule.accept(finder);
            flowRefs.addAll(finder.getFlowRefs());
        }
    }
    return flowRefs;
}
 
@Override
    public XmlAttributeDescriptor[] getAttributeDescriptors(XmlTag xmlTag) {
        if (xmlTag instanceof HtmlTag /*&& RTFileUtil.hasRTExt(xmlTag.getContainingFile())*/) {
            final Project project = xmlTag.getProject();
            if (RTActionUtil.isRTEnabled(project)) {
                final Map<String, XmlAttributeDescriptor> result = new LinkedHashMap<String, XmlAttributeDescriptor>();
                for (String attr : RTAttributes.ALL_ATTRIBUTES) {
                    result.put(attr, new RTXmlAttributeDescriptor(attr));
                }
//                result.put("rt-repeat", new RTXmlAttributeDescriptor("rt-repeat")); // x in [javascript]
//                result.put("rt-if", new RTXmlAttributeDescriptor("rt-if")); //[javascript]
//                result.put("rt-scope", new RTXmlAttributeDescriptor("rt-scope")); //a as b;c as d
//                result.put("rt-class", new RTXmlAttributeDescriptor("rt-class")); // [javascript]
//                result.put("rt-props", new RTXmlAttributeDescriptor("rt-props")); // [javascript]
                return result.values().toArray(new XmlAttributeDescriptor[result.size()]);

    //            return new XmlAttributeDescriptor[]{
    //                    new AnyXmlAttributeDescriptor("rt-if"),
    //                    new AnyXmlAttributeDescriptor("rt-repeat"),
    //                    new AnyXmlAttributeDescriptor("rt-scope"),
    //                    new AnyXmlAttributeDescriptor("rt-props"),
    //                    new AnyXmlAttributeDescriptor("rt-class"),
    //                    new AnyXmlAttributeDescriptor("rt-require")
    //            };
            }
        }
        return XmlAttributeDescriptor.EMPTY;
    }
 
@Override
    public XmlAttributeDescriptor[] getAttributeDescriptors(XmlTag xmlTag) {
        if (xmlTag instanceof HtmlTag /*&& RTFileUtil.hasRTExt(xmlTag.getContainingFile())*/) {
            final Project project = xmlTag.getProject();
            if (RTActionUtil.isRTEnabled(project)) {
                final Map<String, XmlAttributeDescriptor> result = new LinkedHashMap<String, XmlAttributeDescriptor>();
                for (String attr : RTAttributes.ALL_ATTRIBUTES) {
                    result.put(attr, new RTXmlAttributeDescriptor(attr));
                }
//                result.put("rt-repeat", new RTXmlAttributeDescriptor("rt-repeat")); // x in [javascript]
//                result.put("rt-if", new RTXmlAttributeDescriptor("rt-if")); //[javascript]
//                result.put("rt-scope", new RTXmlAttributeDescriptor("rt-scope")); //a as b;c as d
//                result.put("rt-class", new RTXmlAttributeDescriptor("rt-class")); // [javascript]
//                result.put("rt-props", new RTXmlAttributeDescriptor("rt-props")); // [javascript]
                return result.values().toArray(new XmlAttributeDescriptor[result.size()]);

    //            return new XmlAttributeDescriptor[]{
    //                    new AnyXmlAttributeDescriptor("rt-if"),
    //                    new AnyXmlAttributeDescriptor("rt-repeat"),
    //                    new AnyXmlAttributeDescriptor("rt-scope"),
    //                    new AnyXmlAttributeDescriptor("rt-props"),
    //                    new AnyXmlAttributeDescriptor("rt-class"),
    //                    new AnyXmlAttributeDescriptor("rt-require")
    //            };
            }
        }
        return XmlAttributeDescriptor.EMPTY;
    }
 
private ContainerCollectionResolver.LazyServiceCollector getLazyServiceCollector(XmlTag xmlTag) {
    if(this.lazyServiceCollector != null) {
        return this.lazyServiceCollector;
    }

    return this.lazyServiceCollector = new ContainerCollectionResolver.LazyServiceCollector(xmlTag.getProject());
}