Introduced JetStandardClasses.UNIT_ALIAS constant, got rid of hard-coding it in all code except for tests.
This commit is contained in:
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.resolve.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.ImportPath;
|
||||
import org.jetbrains.jet.lang.types.lang.JetStandardClasses;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -307,7 +308,7 @@ public class JetPsiUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
return "Unit".equals(typeReference.getText());
|
||||
return JetStandardClasses.UNIT_ALIAS.equals(typeReference.getText());
|
||||
}
|
||||
|
||||
public static boolean isSafeCall(@NotNull Call call) {
|
||||
|
||||
+1
-1
@@ -746,7 +746,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
||||
JetType result;
|
||||
if (operationType == JetTokens.PLUSPLUS || operationType == JetTokens.MINUSMINUS) {
|
||||
if (JetTypeChecker.INSTANCE.isSubtypeOf(returnType, JetStandardClasses.getUnitType())) {
|
||||
result = ErrorUtils.createErrorType("Unit");
|
||||
result = ErrorUtils.createErrorType(JetStandardClasses.UNIT_ALIAS);
|
||||
context.trace.report(INC_DEC_SHOULD_NOT_RETURN_UNIT.on(operationSign));
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -258,12 +258,14 @@ public class JetStandardClasses {
|
||||
@NotNull
|
||||
public static final JetScope STANDARD_CLASSES;
|
||||
|
||||
public static final String UNIT_ALIAS = "Unit";
|
||||
|
||||
static {
|
||||
WritableScope writableScope = new WritableScopeImpl(JetScope.EMPTY, STANDARD_CLASSES_NAMESPACE, RedeclarationHandler.DO_NOTHING).setDebugName("JetStandardClasses.STANDARD_CLASSES");
|
||||
writableScope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
||||
|
||||
STANDARD_CLASSES = writableScope;
|
||||
writableScope.addClassifierAlias("Unit", getTuple(0));
|
||||
writableScope.addClassifierAlias(UNIT_ALIAS, getTuple(0));
|
||||
|
||||
Field[] declaredFields = JetStandardClasses.class.getDeclaredFields();
|
||||
for (Field field : declaredFields) {
|
||||
|
||||
@@ -118,7 +118,7 @@ public class DescriptorRenderer implements Renderer<DeclarationDescriptor> {
|
||||
return escape("[NULL]");
|
||||
}
|
||||
else if (JetStandardClasses.isUnit(type)) {
|
||||
return escape("Unit" + (type.isNullable() ? "?" : ""));
|
||||
return escape(JetStandardClasses.UNIT_ALIAS + (type.isNullable() ? "?" : ""));
|
||||
}
|
||||
else if (JetStandardClasses.isTupleType(type)) {
|
||||
return escape(renderTupleType(type, shortNamesOnly));
|
||||
|
||||
@@ -87,7 +87,7 @@ public class StandardLibraryReferenceResolver extends AbstractProjectComponent {
|
||||
assert tuple0 != null;
|
||||
scope = new WritableScopeImpl(scope, jetNamespace, RedeclarationHandler.THROW_EXCEPTION).setDebugName("Builtin classes scope #2");
|
||||
scope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
||||
scope.addClassifierAlias("Unit", tuple0);
|
||||
scope.addClassifierAlias(JetStandardClasses.UNIT_ALIAS, tuple0);
|
||||
jetNamespace.setMemberScope(scope);
|
||||
|
||||
TopDownAnalyzer.processStandardLibraryNamespace(myProject, context, scope, jetNamespace, getJetFiles("jet"));
|
||||
@@ -136,7 +136,8 @@ public class StandardLibraryReferenceResolver extends AbstractProjectComponent {
|
||||
}
|
||||
String renderedOriginal = DescriptorRenderer.TEXT.render(originalDescriptor);
|
||||
for (DeclarationDescriptor member : memberScope.getAllDescriptors()) {
|
||||
if (renderedOriginal.equals(DescriptorRenderer.TEXT.render(member).replace(TUPLE0_FQ_NAME.getFqName(), "Unit"))) {
|
||||
if (renderedOriginal.equals(DescriptorRenderer.TEXT.render(member).replace(TUPLE0_FQ_NAME.getFqName(),
|
||||
JetStandardClasses.UNIT_ALIAS))) {
|
||||
return member;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.jetbrains.jet.j2k.Converter;
|
||||
import org.jetbrains.jet.j2k.J2KConverterFlags;
|
||||
import org.jetbrains.jet.j2k.ast.*;
|
||||
import org.jetbrains.jet.j2k.util.AstUtil;
|
||||
import org.jetbrains.jet.lang.types.lang.JetStandardClasses;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@@ -61,7 +62,7 @@ public class TypeVisitor extends PsiTypeVisitor<Type> implements J2KVisitor {
|
||||
final IdentifierImpl identifier = new IdentifierImpl(name);
|
||||
|
||||
if (name.equals("void")) {
|
||||
myResult = new PrimitiveType(new IdentifierImpl("Unit"));
|
||||
myResult = new PrimitiveType(new IdentifierImpl(JetStandardClasses.UNIT_ALIAS));
|
||||
}
|
||||
else if (Node.PRIMITIVE_TYPES.contains(name)) {
|
||||
myResult = new PrimitiveType(new IdentifierImpl(AstUtil.upperFirstCharacter(name)));
|
||||
|
||||
Reference in New Issue
Block a user