mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[xml dom] refactoring: introduce public DomFileDescription::registerReferenceInjectorTestAccessor method to use in tests (IJPL-205216)
This is needed to avoid IllegalAccessError if tests are loaded by a different classloader and to allow enabling 'Suspicious Package-Private Access' for tests as well. GitOrigin-RevId: 9a61f20ebc4ca2ed7a825ff5fecd74736ca69c57
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fc83a8f2fc
commit
232f33f2ec
@@ -14,9 +14,7 @@ import com.intellij.util.NotNullFunction;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ConcurrentFactoryMap;
|
||||
import com.intellij.util.xml.highlighting.DomElementsAnnotator;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.lang.reflect.Type;
|
||||
@@ -121,6 +119,12 @@ public class DomFileDescription<T> {
|
||||
protected final void registerReferenceInjector(DomReferenceInjector injector) {
|
||||
myInjectors.add(injector);
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
@ApiStatus.Internal
|
||||
public void registerReferenceInjectorTestAccessor(DomReferenceInjector injector) {
|
||||
registerReferenceInjector(injector);
|
||||
}
|
||||
|
||||
public List<DomReferenceInjector> getReferenceInjectors() {
|
||||
return myInjectors;
|
||||
|
||||
@@ -208,7 +208,7 @@ public class DomFileDescriptionTest extends DomHardCoreTestCase {
|
||||
getDomManager().registerFileDescription(description, myDisposable);
|
||||
DomFileElementImpl<FooElement> fileElement = getDomManager().getFileElement(file, FooElement.class);
|
||||
assertNotNull(fileElement);
|
||||
assertEquals("a", fileElement.getFileDescription().myRootTagName);
|
||||
assertEquals("a", fileElement.getFileDescription().getRootTagName());
|
||||
}
|
||||
|
||||
public interface AbstractElement extends GenericDomValue<String> {
|
||||
|
||||
@@ -93,7 +93,7 @@ public class DomReferenceInjectorTest extends DomHardCoreTestCase {
|
||||
}
|
||||
|
||||
private void registerInjectorFor(DomElement element, PsiElement targetElement) {
|
||||
DomUtil.getFileElement(element).getFileDescription().registerReferenceInjector(new MyInjector(targetElement));
|
||||
DomUtil.getFileElement(element).getFileDescription().registerReferenceInjectorTestAccessor(new MyInjector(targetElement));
|
||||
}
|
||||
|
||||
public interface MyElement extends DomElement {
|
||||
|
||||
Reference in New Issue
Block a user