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();
|
||||
|
||||
@NotNull
|
||||
String renderType(@Nullable JetType type);
|
||||
String renderType(@NotNull JetType type);
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.google.common.collect.Sets;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||
@@ -180,15 +179,12 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
/* TYPES RENDERING */
|
||||
@NotNull
|
||||
@Override
|
||||
public String renderType(@Nullable JetType type) {
|
||||
public String renderType(@NotNull JetType type) {
|
||||
return escape(renderTypeWithoutEscape(type));
|
||||
}
|
||||
|
||||
private String renderTypeWithoutEscape(@Nullable JetType type) {
|
||||
if (type == null) {
|
||||
return "[NULL]";
|
||||
}
|
||||
else if (type == CallResolverUtil.DONT_CARE || type == CallResolverUtil.CANT_INFER) {
|
||||
private String renderTypeWithoutEscape(@NotNull JetType type) {
|
||||
if (type == CallResolverUtil.DONT_CARE || type == CallResolverUtil.CANT_INFER) {
|
||||
return "???";
|
||||
}
|
||||
else if (type == CallResolverUtil.PLACEHOLDER_FUNCTION_TYPE) {
|
||||
@@ -432,7 +428,8 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
|
||||
renderName(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);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,6 @@ import java.util.Map;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
||||
public static final String ILLEGAL_SUBSTITUTION = "[NULL]";
|
||||
private JetScope scope;
|
||||
private InjectorForTests injector;
|
||||
|
||||
@@ -106,7 +105,13 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
||||
|
||||
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) {
|
||||
@@ -218,7 +223,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
||||
|
||||
public void testInOutProjection() throws Exception {
|
||||
doTest(
|
||||
ILLEGAL_SUBSTITUTION,
|
||||
null,
|
||||
"C<in T>",
|
||||
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.diagnostics.Diagnostic;
|
||||
import org.jetbrains.jet.lang.diagnostics.rendering.*;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
|
||||
import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
||||
@@ -86,7 +87,9 @@ public class IdeErrorMessages {
|
||||
@NotNull
|
||||
@Override
|
||||
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);
|
||||
|
||||
|
||||
@@ -215,6 +215,7 @@ public class JetStructureViewElement implements StructureViewTreeElement {
|
||||
textBuilder.append("(").append(parametersString).append(")");
|
||||
|
||||
JetType returnType = functionDescriptor.getReturnType();
|
||||
assert returnType != null;
|
||||
textBuilder.append(":").append(DescriptorRenderer.TEXT.renderType(returnType));
|
||||
}
|
||||
else if (descriptor instanceof VariableDescriptor) {
|
||||
|
||||
Reference in New Issue
Block a user