mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
cleanup
This commit is contained in:
@@ -356,8 +356,8 @@ public class ClsStubBuilder {
|
||||
@Override
|
||||
protected TypeInfo createReturnType() {
|
||||
modlist[0] = new PsiModifierListStubImpl(this, packMethodFlags(access));
|
||||
String returnType;
|
||||
parsedViaGenericSignature[0] = false;
|
||||
String returnType;
|
||||
if (signature == null) {
|
||||
returnType = parseMethodViaDescription(desc, this, args);
|
||||
}
|
||||
@@ -370,7 +370,7 @@ public class ClsStubBuilder {
|
||||
returnType = parseMethodViaDescription(desc, this, args);
|
||||
}
|
||||
}
|
||||
return (TypeInfo.fromString(returnType));
|
||||
return TypeInfo.fromString(returnType);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+1
-7
@@ -23,12 +23,6 @@ public class PsiModifierListStubImpl extends StubBase<PsiModifierList> implement
|
||||
|
||||
@SuppressWarnings({"HardCodedStringLiteral"})
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.
|
||||
append("PsiModifierListStub[").
|
||||
append("mask=").append(getModifiersMask()).
|
||||
append("]");
|
||||
return builder.toString();
|
||||
|
||||
return "PsiModifierListStub[" + "mask=" + getModifiersMask() + "]";
|
||||
}
|
||||
}
|
||||
@@ -65,7 +65,7 @@ public class JavaResolveCache {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiType getType(@NotNull PsiExpression expr, @NotNull Function<PsiExpression, PsiType> f) {
|
||||
public <T extends PsiExpression> PsiType getType(@NotNull T expr, @NotNull Function<T, PsiType> f) {
|
||||
PsiType type = myCalculatedTypes.get(expr);
|
||||
if (type == null) {
|
||||
type = f.fun(expr);
|
||||
|
||||
+3
-3
@@ -56,9 +56,9 @@ public class PsiBinaryExpressionImpl extends ExpressionPsiElement implements Psi
|
||||
return result;
|
||||
}
|
||||
|
||||
private static final Function<PsiExpression,PsiType> MY_TYPE_EVALUATOR = new Function<PsiExpression, PsiType>() {
|
||||
public PsiType fun(PsiExpression expression) {
|
||||
return doGetType((PsiBinaryExpressionImpl)expression);
|
||||
private static final Function<PsiBinaryExpressionImpl,PsiType> MY_TYPE_EVALUATOR = new Function<PsiBinaryExpressionImpl, PsiType>() {
|
||||
public PsiType fun(PsiBinaryExpressionImpl expression) {
|
||||
return doGetType(expression);
|
||||
}
|
||||
};
|
||||
public PsiType getType() {
|
||||
|
||||
+5
-4
@@ -121,10 +121,10 @@ public class PsiMethodCallExpressionImpl extends ExpressionPsiElement implements
|
||||
|
||||
private static final TypeEvaluator ourTypeEvaluator = new TypeEvaluator();
|
||||
|
||||
private static class TypeEvaluator implements Function<PsiExpression, PsiType> {
|
||||
private static class TypeEvaluator implements Function<PsiMethodCallExpression, PsiType> {
|
||||
@Nullable
|
||||
public PsiType fun(final PsiExpression call) {
|
||||
PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)call).getMethodExpression();
|
||||
public PsiType fun(final PsiMethodCallExpression call) {
|
||||
PsiReferenceExpression methodExpression = call.getMethodExpression();
|
||||
PsiType theOnly = null;
|
||||
final JavaResolveResult[] results = methodExpression.multiResolve(false);
|
||||
for (int i = 0; i < results.length; i++) {
|
||||
@@ -135,7 +135,8 @@ public class PsiMethodCallExpressionImpl extends ExpressionPsiElement implements
|
||||
|
||||
if (i == 0) {
|
||||
theOnly = type;
|
||||
} else if (!theOnly.equals(type)) {
|
||||
}
|
||||
else if (!theOnly.equals(type)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-16
@@ -252,8 +252,7 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
|
||||
final ClassResolverProcessor processor = new ClassResolverProcessor(className, this);
|
||||
PsiScopesUtil.resolveAndWalk(processor, this, null);
|
||||
JavaResolveResult[] result = processor.getResult();
|
||||
return result;
|
||||
return processor.getResult();
|
||||
}
|
||||
|
||||
private JavaResolveResult[] resolveToVariable() {
|
||||
@@ -293,15 +292,14 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
|
||||
private final TypeEvaluator ourTypeEvaluator = new TypeEvaluator();
|
||||
|
||||
private static class TypeEvaluator implements Function<PsiExpression, PsiType> {
|
||||
public PsiType fun(final PsiExpression expr) {
|
||||
final PsiReferenceExpressionImpl refExpr = (PsiReferenceExpressionImpl)expr;
|
||||
JavaResolveResult result = refExpr.advancedResolve(false);
|
||||
private static class TypeEvaluator implements Function<PsiReferenceExpressionImpl, PsiType> {
|
||||
public PsiType fun(final PsiReferenceExpressionImpl expr) {
|
||||
JavaResolveResult result = expr.advancedResolve(false);
|
||||
PsiElement resolve = result.getElement();
|
||||
if (resolve == null) {
|
||||
ASTNode refName = refExpr.findChildByRole(ChildRole.REFERENCE_NAME);
|
||||
ASTNode refName = expr.findChildByRole(ChildRole.REFERENCE_NAME);
|
||||
if (refName != null && refName.getText().equals(LENGTH)) {
|
||||
ASTNode qualifier = refExpr.findChildByRole(ChildRole.QUALIFIER);
|
||||
ASTNode qualifier = expr.findChildByRole(ChildRole.QUALIFIER);
|
||||
if (qualifier != null && ElementType.EXPRESSION_BIT_SET.contains(qualifier.getElementType())) {
|
||||
PsiType type = ((PsiExpression)SourceTreeToPsiMap.treeElementToPsi(qualifier)).getType();
|
||||
if (type instanceof PsiArrayType) {
|
||||
@@ -328,7 +326,7 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
return null;
|
||||
}
|
||||
if (ret == null) return null;
|
||||
final LanguageLevel languageLevel = PsiUtil.getLanguageLevel(refExpr);
|
||||
final LanguageLevel languageLevel = PsiUtil.getLanguageLevel(expr);
|
||||
if (ret instanceof PsiClassType) {
|
||||
ret = ((PsiClassType)ret).setLanguageLevel(languageLevel);
|
||||
}
|
||||
@@ -336,7 +334,7 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
if (languageLevel.compareTo(LanguageLevel.JDK_1_5) >= 0) {
|
||||
if (owner != null && PsiUtil.isRawSubstitutor(owner, result.getSubstitutor())) return TypeConversionUtil.erasure(ret);
|
||||
PsiType substitutedType = result.getSubstitutor().substitute(ret);
|
||||
return PsiImplUtil.normalizeWildcardTypeByPosition(substitutedType, refExpr);
|
||||
return PsiImplUtil.normalizeWildcardTypeByPosition(substitutedType, expr);
|
||||
}
|
||||
|
||||
return TypeConversionUtil.erasure(ret);
|
||||
@@ -366,6 +364,7 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
public Object[] getVariants() {
|
||||
//this reference's variants are rather obtained with processVariants()
|
||||
return ArrayUtil.EMPTY_OBJECT_ARRAY;
|
||||
@@ -418,12 +417,7 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements
|
||||
|
||||
public int getTextOffset() {
|
||||
ASTNode refName = findChildByRole(ChildRole.REFERENCE_NAME);
|
||||
if (refName != null) {
|
||||
return refName.getStartOffset();
|
||||
}
|
||||
else {
|
||||
return super.getTextOffset();
|
||||
}
|
||||
return refName == null ? super.getTextOffset() : refName.getStartOffset();
|
||||
}
|
||||
|
||||
public PsiElement handleElementRename(String newElementName) throws IncorrectOperationException {
|
||||
|
||||
@@ -200,10 +200,7 @@ public class TypeConversionUtil {
|
||||
if (!fromClass.isInterface()) {
|
||||
if (toClass.isInterface()) {
|
||||
return !fromClass.hasModifierProperty(PsiModifier.FINAL) &&
|
||||
checkSuperTypesWithDifferentTypeArguments(toResult, fromClass, manager,
|
||||
fromResult.getSubstitutor(),
|
||||
new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
checkSuperTypesWithDifferentTypeArguments(toResult, fromClass, manager, fromResult.getSubstitutor(), null, languageLevel);
|
||||
}
|
||||
else {
|
||||
if (manager.areElementsEquivalent(fromClass, toClass)) {
|
||||
@@ -211,12 +208,10 @@ public class TypeConversionUtil {
|
||||
}
|
||||
|
||||
if (toClass.isInheritor(fromClass, true)) {
|
||||
return checkSuperTypesWithDifferentTypeArguments(fromResult, toClass, manager, toResult.getSubstitutor(), new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
return checkSuperTypesWithDifferentTypeArguments(fromResult, toClass, manager, toResult.getSubstitutor(), null, languageLevel);
|
||||
}
|
||||
else if (fromClass.isInheritor(toClass, true)) {
|
||||
return checkSuperTypesWithDifferentTypeArguments(toResult, fromClass, manager, fromResult.getSubstitutor(), new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
return checkSuperTypesWithDifferentTypeArguments(toResult, fromClass, manager, fromResult.getSubstitutor(), null, languageLevel);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -225,8 +220,7 @@ public class TypeConversionUtil {
|
||||
else {
|
||||
if (!toClass.isInterface()) {
|
||||
if (!toClass.hasModifierProperty(PsiModifier.FINAL)) {
|
||||
return checkSuperTypesWithDifferentTypeArguments(fromResult, toClass, manager, toResult.getSubstitutor(), new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
return checkSuperTypesWithDifferentTypeArguments(fromResult, toClass, manager, toResult.getSubstitutor(), null, languageLevel);
|
||||
}
|
||||
else {
|
||||
if (!toClass.isInheritor(fromClass, true)) return false;
|
||||
@@ -257,14 +251,20 @@ public class TypeConversionUtil {
|
||||
}
|
||||
else {
|
||||
//In jls3 check for super interface with distinct type arguments
|
||||
PsiClassType.ClassResolveResult baseResult;
|
||||
PsiClass derived;
|
||||
PsiSubstitutor derivedSubstitutor;
|
||||
if (toClass.isInheritor(fromClass, true)) {
|
||||
return checkSuperTypesWithDifferentTypeArguments(fromResult, toClass, manager, toResult.getSubstitutor(), new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
baseResult = fromResult;
|
||||
derived = toClass;
|
||||
derivedSubstitutor = toResult.getSubstitutor();
|
||||
}
|
||||
else {
|
||||
return checkSuperTypesWithDifferentTypeArguments(toResult, fromClass, manager, fromResult.getSubstitutor(), new THashSet<PsiClass>(),
|
||||
languageLevel);
|
||||
baseResult = toResult;
|
||||
derived = fromClass;
|
||||
derivedSubstitutor = fromResult.getSubstitutor();
|
||||
}
|
||||
return checkSuperTypesWithDifferentTypeArguments(baseResult, derived, manager, derivedSubstitutor, null, languageLevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -285,9 +285,9 @@ public class TypeConversionUtil {
|
||||
PsiClass derived,
|
||||
PsiManager manager,
|
||||
PsiSubstitutor derivedSubstitutor,
|
||||
final Set<PsiClass> visited,
|
||||
Set<PsiClass> visited,
|
||||
final LanguageLevel languageLevel) {
|
||||
if (!visited.add(derived)) return true;
|
||||
if (visited != null && visited.contains(derived)) return true;
|
||||
|
||||
if (languageLevel.compareTo(LanguageLevel.JDK_1_5) < 0) return true;
|
||||
PsiClass base = baseResult.getElement();
|
||||
@@ -302,6 +302,8 @@ public class TypeConversionUtil {
|
||||
if (!areSameArgumentTypes(derived, baseSubstitutor, derivedSubstitutor)) return false;
|
||||
}
|
||||
|
||||
if (visited == null) visited = new THashSet<PsiClass>();
|
||||
visited.add(derived);
|
||||
for (PsiClass aSuper : supers) {
|
||||
PsiSubstitutor s = getSuperClassSubstitutor(aSuper, derived, derivedSubstitutor);
|
||||
if (!checkSuperTypesWithDifferentTypeArguments(baseResult, aSuper, manager, s, visited, languageLevel)) return false;
|
||||
|
||||
Reference in New Issue
Block a user