Made parameter of renderType() @NotNull.

This commit is contained in:
Evgeny Gerashchenko
2012-12-26 23:50:13 +04:00
parent 8659d14ba0
commit c0ce15ddfb
5 changed files with 19 additions and 13 deletions
@@ -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) {