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