mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
javac ast indices: get rid of Name#toUtf() usages
This commit is contained in:
+5
-5
@@ -18,7 +18,7 @@ package com.intellij.compiler.backwardRefs;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
import com.intellij.psi.impl.source.PsiFileWithStubSupport;
|
||||
import org.jetbrains.jps.backwardRefs.ByteArrayEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.NameEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.LightRef;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -39,8 +39,8 @@ enum CompilerHierarchySearchType {
|
||||
}
|
||||
|
||||
@Override
|
||||
Object[] convertToIds(Collection<LightRef> lightRef, ByteArrayEnumerator byteArrayEnumerator) {
|
||||
return lightRef.stream().map(r -> byteArrayEnumerator.getName(((LightRef.LightClassHierarchyElementDef)r).getName())).toArray(String[]::new);
|
||||
Object[] convertToIds(Collection<LightRef> lightRef, NameEnumerator nameEnumerator) {
|
||||
return lightRef.stream().map(r -> nameEnumerator.getName(((LightRef.LightClassHierarchyElementDef)r).getName())).toArray(String[]::new);
|
||||
}
|
||||
},
|
||||
FUNCTIONAL_EXPRESSION {
|
||||
@@ -58,7 +58,7 @@ enum CompilerHierarchySearchType {
|
||||
}
|
||||
|
||||
@Override
|
||||
Object[] convertToIds(Collection<LightRef> lightRef, ByteArrayEnumerator byteArrayEnumerator) {
|
||||
Object[] convertToIds(Collection<LightRef> lightRef, NameEnumerator nameEnumerator) {
|
||||
return lightRef.stream().map(r -> ((LightRef.LightFunExprDef) r).getId()).toArray(Integer[]::new);
|
||||
}
|
||||
};
|
||||
@@ -70,5 +70,5 @@ enum CompilerHierarchySearchType {
|
||||
|
||||
abstract Class<? extends LightRef> getRequiredClass(LanguageLightRefAdapter adapter);
|
||||
|
||||
abstract Object[] convertToIds(Collection<LightRef> lightRef, ByteArrayEnumerator byteArrayEnumerator);
|
||||
abstract Object[] convertToIds(Collection<LightRef> lightRef, NameEnumerator nameEnumerator);
|
||||
}
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@ import gnu.trove.THashSet;
|
||||
import gnu.trove.TIntHashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.backwardRefs.ByteArrayEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.NameEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.CompilerBackwardReferenceIndex;
|
||||
import org.jetbrains.jps.backwardRefs.LightRef;
|
||||
import org.jetbrains.jps.backwardRefs.index.CompilerIndices;
|
||||
@@ -96,7 +96,7 @@ class CompilerReferenceReader {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
ByteArrayEnumerator getNameEnumerator() {
|
||||
NameEnumerator getNameEnumerator() {
|
||||
return myIndex.getByteSeqEum();
|
||||
}
|
||||
|
||||
|
||||
+7
-12
@@ -28,10 +28,9 @@ import com.intellij.psi.util.ClassUtil;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.sun.tools.javac.util.Convert;
|
||||
import gnu.trove.TIntHashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.backwardRefs.ByteArrayEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.NameEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.LightRef;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -46,7 +45,7 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public LightRef asLightUsage(@NotNull PsiElement element, @NotNull ByteArrayEnumerator names) {
|
||||
public LightRef asLightUsage(@NotNull PsiElement element, @NotNull NameEnumerator names) {
|
||||
if (mayBeVisibleOutsideOwnerFile(element)) {
|
||||
if (element instanceof PsiField) {
|
||||
final PsiField field = (PsiField)element;
|
||||
@@ -55,7 +54,7 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
final String jvmOwnerName = ClassUtil.getJVMClassName(aClass);
|
||||
final String name = field.getName();
|
||||
if (name == null || jvmOwnerName == null) return null;
|
||||
return new LightRef.JavaLightFieldRef(id(jvmOwnerName, names), id(name, names));
|
||||
return new LightRef.JavaLightFieldRef(names.enumerate(jvmOwnerName), names.enumerate(name));
|
||||
}
|
||||
else if (element instanceof PsiMethod) {
|
||||
final PsiClass aClass = ((PsiMethod)element).getContainingClass();
|
||||
@@ -65,12 +64,12 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
final PsiMethod method = (PsiMethod)element;
|
||||
final String name = method.isConstructor() ? "<init>" : method.getName();
|
||||
final int parametersCount = method.getParameterList().getParametersCount();
|
||||
return new LightRef.JavaLightMethodRef(id(jvmOwnerName, names), id(name, names), parametersCount);
|
||||
return new LightRef.JavaLightMethodRef(names.enumerate(jvmOwnerName), names.enumerate(name), parametersCount);
|
||||
}
|
||||
else if (element instanceof PsiClass) {
|
||||
final String jvmClassName = ClassUtil.getJVMClassName((PsiClass)element);
|
||||
if (jvmClassName != null) {
|
||||
return new LightRef.JavaLightClassRef(id(jvmClassName, names));
|
||||
return new LightRef.JavaLightClassRef(names.enumerate(jvmClassName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,7 +80,7 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
@Override
|
||||
public List<LightRef> getHierarchyRestrictedToLibraryScope(@NotNull LightRef baseRef,
|
||||
@NotNull PsiElement basePsi,
|
||||
@NotNull ByteArrayEnumerator names, @NotNull GlobalSearchScope libraryScope) {
|
||||
@NotNull NameEnumerator names, @NotNull GlobalSearchScope libraryScope) {
|
||||
final PsiClass baseClass = ObjectUtils.notNull(basePsi instanceof PsiClass ? (PsiClass)basePsi : ReadAction.compute(() -> (PsiMember)basePsi).getContainingClass());
|
||||
|
||||
final List<LightRef> overridden = new ArrayList<>();
|
||||
@@ -89,7 +88,7 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
if (c.hasModifierProperty(PsiModifier.PRIVATE)) return true;
|
||||
String qName = ReadAction.compute(() -> c.getQualifiedName());
|
||||
if (qName == null) return true;
|
||||
overridden.add(baseRef.override(id(qName, names)));
|
||||
overridden.add(baseRef.override(names.enumerate(qName)));
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -139,8 +138,4 @@ public class JavaLightUsageAdapter implements LanguageLightRefAdapter {
|
||||
if (((PsiModifierListOwner)element).hasModifierProperty(PsiModifier.PRIVATE)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private static int id(String name, ByteArrayEnumerator names) {
|
||||
return names.enumerate(Convert.string2utf(name));
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -22,7 +22,7 @@ import com.intellij.psi.impl.source.PsiFileWithStubSupport;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.backwardRefs.ByteArrayEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.NameEnumerator;
|
||||
import org.jetbrains.jps.backwardRefs.LightRef;
|
||||
|
||||
import java.util.List;
|
||||
@@ -43,7 +43,7 @@ public interface LanguageLightRefAdapter {
|
||||
* @return
|
||||
*/
|
||||
@Nullable
|
||||
LightRef asLightUsage(@NotNull PsiElement element, @NotNull ByteArrayEnumerator names);
|
||||
LightRef asLightUsage(@NotNull PsiElement element, @NotNull NameEnumerator names);
|
||||
|
||||
/**
|
||||
* @return "hierarchy" of given element inside the libraries scope.
|
||||
@@ -51,7 +51,7 @@ public interface LanguageLightRefAdapter {
|
||||
@NotNull
|
||||
List<LightRef> getHierarchyRestrictedToLibraryScope(@NotNull LightRef baseRef,
|
||||
@NotNull PsiElement basePsi,
|
||||
@NotNull ByteArrayEnumerator names,
|
||||
@NotNull NameEnumerator names,
|
||||
@NotNull GlobalSearchScope libraryScope);
|
||||
|
||||
/**
|
||||
|
||||
@@ -1166,11 +1166,6 @@ public class BuildManager implements Disposable {
|
||||
cmdLine.addParameters(args);
|
||||
}
|
||||
|
||||
//TODO[Dmitry Batkovich] should be replaced with the proper solution
|
||||
if (sdkVersion != null && sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_9)) {
|
||||
cmdLine.addParameters("--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED");
|
||||
}
|
||||
|
||||
@SuppressWarnings("UnnecessaryFullyQualifiedName")
|
||||
final Class<?> launcherClass = org.jetbrains.jps.cmdline.Launcher.class;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user