fix array merging in relaxNg

This commit is contained in:
peter
2011-09-15 16:38:20 +02:00
parent a5f568196e
commit 27fc61de6e
2 changed files with 8 additions and 1 deletions
@@ -74,7 +74,7 @@ public class RelaxedHtmlFromSchemaElementDescriptor extends XmlElementDescriptor
return descriptors;
}
for (XmlAttributeDescriptorsProvider provider: Extensions.getExtensions(XmlAttributeDescriptorsProvider.EP_NAME)) {
descriptors = ArrayUtil.mergeArrays(descriptors, provider.getAttributeDescriptors(context));
descriptors = ArrayUtil.mergeArrays(descriptors, provider.getAttributeDescriptors(context), XmlAttributeDescriptor.ARRAY_FACTORY);
}
return descriptors;
}
@@ -18,6 +18,7 @@ package com.intellij.xml;
import com.intellij.psi.meta.PsiMetaData;
import com.intellij.psi.xml.XmlElement;
import com.intellij.util.ArrayFactory;
import org.jetbrains.annotations.Nullable;
/**
@@ -25,6 +26,12 @@ import org.jetbrains.annotations.Nullable;
*/
public interface XmlAttributeDescriptor extends PsiMetaData {
XmlAttributeDescriptor[] EMPTY = new XmlAttributeDescriptor[0];
ArrayFactory<XmlAttributeDescriptor> ARRAY_FACTORY = new ArrayFactory<XmlAttributeDescriptor>() {
@Override
public XmlAttributeDescriptor[] create(int count) {
return new XmlAttributeDescriptor[count];
}
};
boolean isRequired();
boolean isFixed();