Made parameter of renderType() @NotNull.
This commit is contained in:
@@ -45,7 +45,7 @@ public interface DescriptorRenderer extends Renderer<DeclarationDescriptor> {
|
|||||||
DescriptorRenderer HTML = new DescriptorRendererBuilder().setTextFormat(TextFormat.HTML).build();
|
DescriptorRenderer HTML = new DescriptorRendererBuilder().setTextFormat(TextFormat.HTML).build();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
String renderType(@Nullable JetType type);
|
String renderType(@NotNull JetType type);
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import com.google.common.collect.Sets;
|
|||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.psi.tree.IElementType;
|
import com.intellij.psi.tree.IElementType;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
@@ -180,15 +179,12 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
/* TYPES RENDERING */
|
/* TYPES RENDERING */
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String renderType(@Nullable JetType type) {
|
public String renderType(@NotNull JetType type) {
|
||||||
return escape(renderTypeWithoutEscape(type));
|
return escape(renderTypeWithoutEscape(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
private String renderTypeWithoutEscape(@Nullable JetType type) {
|
private String renderTypeWithoutEscape(@NotNull JetType type) {
|
||||||
if (type == null) {
|
if (type == CallResolverUtil.DONT_CARE || type == CallResolverUtil.CANT_INFER) {
|
||||||
return "[NULL]";
|
|
||||||
}
|
|
||||||
else if (type == CallResolverUtil.DONT_CARE || type == CallResolverUtil.CANT_INFER) {
|
|
||||||
return "???";
|
return "???";
|
||||||
}
|
}
|
||||||
else if (type == CallResolverUtil.PLACEHOLDER_FUNCTION_TYPE) {
|
else if (type == CallResolverUtil.PLACEHOLDER_FUNCTION_TYPE) {
|
||||||
@@ -432,7 +428,8 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
|||||||
|
|
||||||
renderName(function, builder);
|
renderName(function, builder);
|
||||||
renderValueParameters(function, builder);
|
renderValueParameters(function, builder);
|
||||||
builder.append(" : ").append(escape(renderType(function.getReturnType())));
|
JetType returnType = function.getReturnType();
|
||||||
|
builder.append(" : ").append(returnType == null ? "[NULL]" : escape(renderType(returnType)));
|
||||||
renderWhereSuffix(function.getTypeParameters(), builder);
|
renderWhereSuffix(function.getTypeParameters(), builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ import java.util.Map;
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
||||||
public static final String ILLEGAL_SUBSTITUTION = "[NULL]";
|
|
||||||
private JetScope scope;
|
private JetScope scope;
|
||||||
private InjectorForTests injector;
|
private InjectorForTests injector;
|
||||||
|
|
||||||
@@ -106,7 +105,13 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
|||||||
|
|
||||||
JetType result = substitutor.substitute(initialType, Variance.INVARIANT);
|
JetType result = substitutor.substitute(initialType, Variance.INVARIANT);
|
||||||
|
|
||||||
assertEquals(expectedTypeStr, DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(result));
|
if (expectedTypeStr == null) {
|
||||||
|
assertNull(result);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
assertNotNull(result);
|
||||||
|
assertEquals(expectedTypeStr, DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(result));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<TypeConstructor, TypeProjection> stringsToSubstitutionMap(Pair<String, String>[] substitutionStrs) {
|
private Map<TypeConstructor, TypeProjection> stringsToSubstitutionMap(Pair<String, String>[] substitutionStrs) {
|
||||||
@@ -218,7 +223,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
|||||||
|
|
||||||
public void testInOutProjection() throws Exception {
|
public void testInOutProjection() throws Exception {
|
||||||
doTest(
|
doTest(
|
||||||
ILLEGAL_SUBSTITUTION,
|
null,
|
||||||
"C<in T>",
|
"C<in T>",
|
||||||
map("T", "out String")
|
map("T", "out String")
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor;
|
import org.jetbrains.jet.lang.descriptors.CallableMemberDescriptor;
|
||||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||||
import org.jetbrains.jet.lang.diagnostics.rendering.*;
|
import org.jetbrains.jet.lang.diagnostics.rendering.*;
|
||||||
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||||
|
|
||||||
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
||||||
@@ -86,7 +87,9 @@ public class IdeErrorMessages {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String render(@NotNull CallableMemberDescriptor object) {
|
public String render(@NotNull CallableMemberDescriptor object) {
|
||||||
return DescriptorRenderer.HTML.renderType(object.getReturnType());
|
JetType returnType = object.getReturnType();
|
||||||
|
assert returnType != null;
|
||||||
|
return DescriptorRenderer.HTML.renderType(returnType);
|
||||||
}
|
}
|
||||||
}, DescriptorRenderer.HTML);
|
}, DescriptorRenderer.HTML);
|
||||||
|
|
||||||
|
|||||||
@@ -215,6 +215,7 @@ public class JetStructureViewElement implements StructureViewTreeElement {
|
|||||||
textBuilder.append("(").append(parametersString).append(")");
|
textBuilder.append("(").append(parametersString).append(")");
|
||||||
|
|
||||||
JetType returnType = functionDescriptor.getReturnType();
|
JetType returnType = functionDescriptor.getReturnType();
|
||||||
|
assert returnType != null;
|
||||||
textBuilder.append(":").append(DescriptorRenderer.TEXT.renderType(returnType));
|
textBuilder.append(":").append(DescriptorRenderer.TEXT.renderType(returnType));
|
||||||
}
|
}
|
||||||
else if (descriptor instanceof VariableDescriptor) {
|
else if (descriptor instanceof VariableDescriptor) {
|
||||||
|
|||||||
Reference in New Issue
Block a user