Move method createArrayType to JavaType and drop JavaElementFactory
This commit is contained in:
committed by
Alexander Udalov
parent
735df2e340
commit
2e4028ba3a
-1
@@ -1 +0,0 @@
|
|||||||
org.jetbrains.jet.lang.resolve.java.structure.impl.JavaElementFactoryImpl
|
|
||||||
+1
-1
@@ -216,7 +216,7 @@ class PropagationHeuristics {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static JavaType varargToArray(@NotNull JavaType type, boolean isVararg) {
|
private static JavaType varargToArray(@NotNull JavaType type, boolean isVararg) {
|
||||||
return isVararg ? JavaElementFactory.getInstance().createArrayType(((JavaArrayType) type).getComponentType()) : type;
|
return isVararg ? ((JavaArrayType) type).getComponentType().createArrayType() : type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
-30
@@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2013 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.jet.lang.resolve.java.structure.impl;
|
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaArrayType;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaElementFactory;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaType;
|
|
||||||
|
|
||||||
public class JavaElementFactoryImpl extends JavaElementFactory {
|
|
||||||
@NotNull
|
|
||||||
@Override
|
|
||||||
public JavaArrayType createArrayType(@NotNull JavaType elementType) {
|
|
||||||
return new JavaArrayTypeImpl(((JavaTypeImpl) elementType).getPsi().createArrayType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+7
@@ -19,6 +19,7 @@ package org.jetbrains.jet.lang.resolve.java.structure.impl;
|
|||||||
import com.intellij.psi.*;
|
import com.intellij.psi.*;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.resolve.java.structure.JavaArrayType;
|
||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaType;
|
import org.jetbrains.jet.lang.resolve.java.structure.JavaType;
|
||||||
|
|
||||||
public abstract class JavaTypeImpl<Psi extends PsiType> implements JavaType {
|
public abstract class JavaTypeImpl<Psi extends PsiType> implements JavaType {
|
||||||
@@ -68,6 +69,12 @@ public abstract class JavaTypeImpl<Psi extends PsiType> implements JavaType {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public JavaArrayType createArrayType() {
|
||||||
|
return new JavaArrayTypeImpl(getPsi().createArrayType());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return getPsi().hashCode();
|
return getPsi().hashCode();
|
||||||
|
|||||||
+1
-1
@@ -183,7 +183,7 @@ public final class DescriptorResolverUtils {
|
|||||||
}
|
}
|
||||||
else if (type instanceof JavaArrayType) {
|
else if (type instanceof JavaArrayType) {
|
||||||
JavaType erasure = erasure(((JavaArrayType) type).getComponentType(), substitutor);
|
JavaType erasure = erasure(((JavaArrayType) type).getComponentType(), substitutor);
|
||||||
return erasure == null ? null : JavaElementFactory.getInstance().createArrayType(erasure);
|
return erasure == null ? null : erasure.createArrayType();
|
||||||
}
|
}
|
||||||
else if (type instanceof JavaWildcardType) {
|
else if (type instanceof JavaWildcardType) {
|
||||||
JavaWildcardType wildcardType = (JavaWildcardType) type;
|
JavaWildcardType wildcardType = (JavaWildcardType) type;
|
||||||
|
|||||||
-40
@@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2013 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.jet.lang.resolve.java.structure;
|
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.ServiceLoader;
|
|
||||||
|
|
||||||
public abstract class JavaElementFactory {
|
|
||||||
private static JavaElementFactory instance;
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static JavaElementFactory getInstance() {
|
|
||||||
if (instance == null) {
|
|
||||||
Iterator<JavaElementFactory> iterator =
|
|
||||||
ServiceLoader.load(JavaElementFactory.class, JavaElementFactory.class.getClassLoader()).iterator();
|
|
||||||
assert iterator.hasNext() : "No service found: " + JavaElementFactory.class.getName();
|
|
||||||
instance = iterator.next();
|
|
||||||
}
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public abstract JavaArrayType createArrayType(@NotNull JavaType elementType);
|
|
||||||
}
|
|
||||||
+4
@@ -16,5 +16,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.lang.resolve.java.structure;
|
package org.jetbrains.jet.lang.resolve.java.structure;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public interface JavaType {
|
public interface JavaType {
|
||||||
|
@NotNull
|
||||||
|
JavaArrayType createArrayType();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user