From 74fe24ef8000c3cb93cbf9ad0cf56001560bfe3b Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Thu, 1 Dec 2011 12:58:20 +0200 Subject: [PATCH 1/6] refactoring of property handling and general handling of (this,receiver) --- .../jetbrains/jet/codegen/CallableMethod.java | 9 + .../jetbrains/jet/codegen/ClosureCodegen.java | 13 +- .../jet/codegen/ExpressionCodegen.java | 670 ++++++++---------- .../org/jetbrains/jet/codegen/StackValue.java | 142 ++-- .../codegen/intrinsics/IntrinsicMethod.java | 3 +- .../jet/compiler/CompileEnvironment.java | 8 +- .../jet/lang/psi/JetPrefixExpression.java | 2 +- .../jet/codegen/ExtensionFunctionsTest.java | 1 + .../jetbrains/jet/codegen/ObjectGenTest.java | 1 + .../jet/codegen/PropertyGenTest.java | 1 + 10 files changed, 427 insertions(+), 423 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/CallableMethod.java b/compiler/backend/src/org/jetbrains/jet/codegen/CallableMethod.java index 385e78498bb..74a523bbe39 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/CallableMethod.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/CallableMethod.java @@ -5,6 +5,7 @@ import org.jetbrains.jet.lang.descriptors.CallableDescriptor; import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; +import org.jetbrains.jet.lang.types.JetType; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; import org.objectweb.asm.commons.InstructionAdapter; @@ -53,6 +54,14 @@ public class CallableMethod implements Callable { this.receiverFunction = receiverClass; } + public JetType getThisType() { + return thisClass.getDefaultType(); + } + + public JetType getReceiverClass() { + return receiverFunction.getReceiverParameter().getType(); + } + public void setNeedsThis(@Nullable ClassDescriptor receiverClass) { this.thisClass = receiverClass; } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java index 9fdb7b1f309..75241d6dc74 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClosureCodegen.java @@ -5,8 +5,11 @@ package org.jetbrains.jet.codegen; import com.intellij.openapi.util.Pair; +import com.intellij.psi.PsiElement; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; +import org.jetbrains.jet.lang.psi.JetDeclarationWithBody; +import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.psi.JetFunctionLiteral; import org.jetbrains.jet.lang.psi.JetFunctionLiteralExpression; import org.jetbrains.jet.lang.resolve.BindingContext; @@ -123,7 +126,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen { return answer; } - private void generateConstInstance(JetFunctionLiteralExpression fun) { + private void generateConstInstance(PsiElement fun) { String classDescr = "L" + name + ";"; cv.newField(fun, ACC_PRIVATE | ACC_STATIC, "$instance", classDescr, null, null); @@ -149,7 +152,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen { } } - private boolean generateBody(FunctionDescriptor funDescriptor, ClassBuilder cv, JetFunctionLiteral body) { + private boolean generateBody(FunctionDescriptor funDescriptor, ClassBuilder cv, JetDeclarationWithBody body) { int arity = funDescriptor.getValueParameters().size(); ClassDescriptorImpl function = new ClassDescriptorImpl( @@ -167,7 +170,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen { return closureContext.outerWasUsed; } - private void generateBridge(String className, FunctionDescriptor funDescriptor, JetFunctionLiteralExpression fun, ClassBuilder cv) { + private void generateBridge(String className, FunctionDescriptor funDescriptor, JetExpression fun, ClassBuilder cv) { final Method bridge = erasedInvokeSignature(funDescriptor); final Method delegate = invokeSignature(funDescriptor); @@ -207,7 +210,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen { } } - private Method generateConstructor(String funClass, JetFunctionLiteralExpression fun) { + private Method generateConstructor(String funClass, PsiElement fun) { int argCount = captureThis ? 1 : 0; argCount += (captureReceiver != null ? 1 : 0); @@ -294,7 +297,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen { signatureWriter.visitTypeArgument(variance); final JetTypeMapper typeMapper = state.getTypeMapper(); - final Type rawRetType = typeMapper.boxType(typeMapper.mapType(type)); + final Type rawRetType = JetTypeMapper.boxType(typeMapper.mapType(type)); signatureWriter.visitClassType(rawRetType.getInternalName()); signatureWriter.visitEnd(); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 9edbcab7a40..050bd7da483 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -4,6 +4,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethod; import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods; @@ -14,6 +15,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.calls.*; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.java.JavaClassDescriptor; +import org.jetbrains.jet.lang.resolve.java.JavaNamespaceDescriptor; import org.jetbrains.jet.lang.resolve.scopes.receivers.ClassReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ExpressionReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ExtensionReceiver; @@ -29,6 +31,8 @@ import org.objectweb.asm.commons.Method; import java.util.*; +import static org.jetbrains.jet.codegen.JetTypeMapper.*; + /** * @author max * @author yole @@ -83,7 +87,7 @@ public class ExpressionCodegen extends JetVisitor { assert provided instanceof ClassDescriptor; if(!CodegenUtil.isInterface(provided) && CodegenUtil.isInterface(required)) { - v.checkcast(typeMapper.mapType(required.getDefaultType())); + v.checkcast(asmType(required.getDefaultType())); } return inner; @@ -135,14 +139,18 @@ public class ExpressionCodegen extends JetVisitor { @Override public StackValue visitSuperExpression(JetSuperExpression expression, StackValue data) { -// final DeclarationDescriptor descriptor = bindingContext.get(BindingContext.REFERENCE_TARGET, expression.getInstanceReference()); -// if (descriptor instanceof ClassDescriptor) { -// return generateThisOrOuter((ClassDescriptor) descriptor); -// } -// else { -// return local0(); -// } - return StackValue.none(); + final DeclarationDescriptor descriptor = bindingContext.get(BindingContext.REFERENCE_TARGET, expression.getInstanceReference()); + if (descriptor instanceof ClassDescriptor) { + return generateThisOrOuter((ClassDescriptor) descriptor); + } + else { + JetType type = context.getThisDescriptor().getDefaultType(); + return StackValue.local(0, asmType(type)); + } + } + + private Type asmType(JetType type) { + return typeMapper.mapType(type); } @Override @@ -266,7 +274,7 @@ public class ExpressionCodegen extends JetVisitor { public StackValue visitForExpression(JetForExpression expression, StackValue receiver) { final JetExpression loopRange = expression.getLoopRange(); final JetType expressionType = bindingContext.get(BindingContext.EXPRESSION_TYPE, loopRange); - Type loopRangeType = typeMapper.mapType(expressionType); + Type loopRangeType = asmType(expressionType); if (loopRangeType.getSort() == Type.ARRAY) { new ForInArrayLoopGenerator(expression, loopRangeType).invoke(); return StackValue.none(); @@ -303,10 +311,10 @@ public class ExpressionCodegen extends JetVisitor { final VariableDescriptor parameterDescriptor = bindingContext.get(BindingContext.VALUE_PARAMETER, loopParameter); JetType iteratorType = iteratorDescriptor.getReturnType(); - Type asmIterType = JetTypeMapper.boxType(typeMapper.mapType(iteratorType)); + Type asmIterType = boxType(asmType(iteratorType)); JetType paramType = parameterDescriptor.getOutType(); - Type asmParamType = typeMapper.mapType(paramType); + Type asmParamType = asmType(paramType); int iteratorVar = myFrameMap.enterTemp(); gen(expression.getLoopRange(), loopRangeType); @@ -315,7 +323,7 @@ public class ExpressionCodegen extends JetVisitor { Label end = new Label(); if(iteratorType.isNullable()) { - v.load(iteratorVar, JetTypeMapper.TYPE_OBJECT); + v.load(iteratorVar, TYPE_OBJECT); v.ifnull(end); } @@ -382,7 +390,7 @@ public class ExpressionCodegen extends JetVisitor { public void invoke() { JetType paramType = parameterDescriptor.getOutType(); - Type asmParamType = typeMapper.mapType(paramType); + Type asmParamType = asmType(paramType); myFrameMap.enter(parameterDescriptor, asmParamType.getSize()); generatePrologue(); @@ -442,11 +450,11 @@ public class ExpressionCodegen extends JetVisitor { else { myArrayVar = myFrameMap.enterTemp(); value.put(loopRangeType, v); - v.store(myArrayVar, JetTypeMapper.TYPE_OBJECT); + v.store(myArrayVar, TYPE_OBJECT); } if(expressionType.isNullable()) { - v.load(myArrayVar, JetTypeMapper.TYPE_OBJECT); + v.load(myArrayVar, TYPE_OBJECT); v.ifnull(end); } @@ -455,14 +463,14 @@ public class ExpressionCodegen extends JetVisitor { } protected void generateCondition(Type asmParamType, Label end) { - Type arrayElParamType = state.getStandardLibrary().getArray().equals(expressionType.getConstructor().getDeclarationDescriptor()) ? JetTypeMapper.boxType(asmParamType): asmParamType; + Type arrayElParamType = state.getStandardLibrary().getArray().equals(expressionType.getConstructor().getDeclarationDescriptor()) ? boxType(asmParamType): asmParamType; v.load(myIndexVar, Type.INT_TYPE); - v.load(myArrayVar, JetTypeMapper.TYPE_OBJECT); + v.load(myArrayVar, TYPE_OBJECT); v.arraylength(); v.ificmpge(end); - v.load(myArrayVar, JetTypeMapper.TYPE_OBJECT); + v.load(myArrayVar, TYPE_OBJECT); v.load(myIndexVar, Type.INT_TYPE); v.aload(arrayElParamType); StackValue.onStack(arrayElParamType).put(asmParamType, v); @@ -594,7 +602,7 @@ public class ExpressionCodegen extends JetVisitor { ? ((JetEscapeStringTemplateEntry) entry).getUnescapedValue() : entry.getText(); v.aconst(text); - invokeAppendMethod(JetTypeMapper.JL_STRING_TYPE); + invokeAppendMethod(JL_STRING_TYPE); } } v.invokevirtual("java/lang/StringBuilder", "toString", "()Ljava/lang/String;"); @@ -631,7 +639,7 @@ public class ExpressionCodegen extends JetVisitor { int k = 0; if (closure.isCaptureThis()) { k++; - v.load(0, JetTypeMapper.TYPE_OBJECT); + v.load(0, TYPE_OBJECT); } if (closure.isCaptureReceiver() != null) { @@ -660,7 +668,7 @@ public class ExpressionCodegen extends JetVisitor { final List consArgTypes = new LinkedList(Arrays.asList(closure.getConstructor().getArgumentTypes())); if (consArgTypes.size() > 0) { - v.load(0, JetTypeMapper.TYPE_OBJECT); + v.load(0, TYPE_OBJECT); } if(closureCodegen.captureReceiver != null) { @@ -695,7 +703,7 @@ public class ExpressionCodegen extends JetVisitor { assert variableDescriptor != null; final Type sharedVarType = typeMapper.getSharedVarType(variableDescriptor); - final Type type = sharedVarType != null ? sharedVarType : typeMapper.mapType(variableDescriptor.getOutType()); + final Type type = sharedVarType != null ? sharedVarType : asmType(variableDescriptor.getOutType()); myFrameMap.enter(variableDescriptor, type.getSize()); } } @@ -726,10 +734,10 @@ public class ExpressionCodegen extends JetVisitor { int index = myFrameMap.leave(variableDescriptor); final Type sharedVarType = typeMapper.getSharedVarType(variableDescriptor); - final Type type = sharedVarType != null ? sharedVarType : typeMapper.mapType(variableDescriptor.getOutType()); + final Type type = sharedVarType != null ? sharedVarType : asmType(variableDescriptor.getOutType()); if(sharedVarType != null) { v.aconst(null); - v.store(index, JetTypeMapper.TYPE_OBJECT); + v.store(index, TYPE_OBJECT); } v.visitLocalVariable(var.getName(), type.getDescriptor(), null, blockStart, blockEnd, index); @@ -757,6 +765,7 @@ public class ExpressionCodegen extends JetVisitor { private void doFinallyOnReturnOrThrow() { if(stackOfFinallyBlocks.size() > 0) { JetTryExpression jetTryExpression = stackOfFinallyBlocks.remove(stackOfFinallyBlocks.size()-1); + //noinspection ConstantConditions gen(jetTryExpression.getFinallyBlock().getFinalExpression(), Type.VOID_TYPE); doFinallyOnReturnOrThrow(); stackOfFinallyBlocks.add(jetTryExpression); @@ -806,10 +815,10 @@ public class ExpressionCodegen extends JetVisitor { if(resolvedCall == null) { descriptor = bindingContext.get(BindingContext.REFERENCE_TARGET, expression); } - else + else { + receiver = StackValue.receiver(resolvedCall, receiver, this, null); descriptor = resolvedCall.getResultingDescriptor(); - - if (descriptor instanceof NamespaceDescriptor) return StackValue.none(); // No code to generate + } if (descriptor instanceof VariableAsFunctionDescriptor) { descriptor = ((VariableAsFunctionDescriptor) descriptor).getVariableDescriptor(); @@ -818,207 +827,131 @@ public class ExpressionCodegen extends JetVisitor { final IntrinsicMethod intrinsic = intrinsics.getIntrinsic(descriptor); if (intrinsic != null) { final Type expectedType = expressionType(expression); - if(receiver == StackValue.none()) { - if (resolvedCall.getThisObject().exists()) { - if(resolvedCall.getReceiverArgument().exists()) { - generateFromResolvedCall(resolvedCall.getThisObject()); - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - receiver = StackValue.onStack(typeMapper.mapType(resolvedCall.getReceiverArgument().getType())); - } - else { - generateFromResolvedCall(resolvedCall.getThisObject()); - receiver = StackValue.onStack(typeMapper.mapType(resolvedCall.getThisObject().getType())); - } - } - else { - if (resolvedCall.getReceiverArgument().exists()) { - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - receiver = StackValue.onStack(typeMapper.mapType(resolvedCall.getReceiverArgument().getType())); - } - } - } return intrinsic.generate(this, v, expectedType, expression, Collections.emptyList(), receiver); } assert descriptor != null; final DeclarationDescriptor container = descriptor.getContainingDeclaration(); - PsiElement declaration = bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, descriptor); - if (declaration instanceof PsiField) { - final PropertyDescriptor propertyDescriptor = (PropertyDescriptor) descriptor; - PsiField psiField = (PsiField) declaration; - final String owner = typeMapper.getOwner(propertyDescriptor, OwnerKind.IMPLEMENTATION); - final Type fieldType = typeMapper.mapType(propertyDescriptor.getReturnType()); - final boolean isStatic = psiField.hasModifierProperty(PsiModifier.STATIC); - if (!isStatic) { - receiver.put(JetTypeMapper.TYPE_OBJECT, v); - } - return StackValue.field(fieldType, owner, psiField.getName(), isStatic); - } - else { - int index = lookupLocal(descriptor); - if (index >= 0) { - Type sharedVarType = typeMapper.getSharedVarType(descriptor); - final JetType outType = ((VariableDescriptor) descriptor).getOutType(); - if(sharedVarType != null) { - return StackValue.shared(index, typeMapper.mapType(outType)); - } - else { - return StackValue.local(index, typeMapper.mapType(outType)); - } - } - else if (descriptor instanceof PropertyDescriptor) { - PropertyDescriptor propertyDescriptor = (PropertyDescriptor) descriptor; - - //TODO: hack, will not need if resolve goes to right descriptor itself - if (declaration instanceof JetParameter) { - if (PsiTreeUtil.getParentOfType(expression, JetDelegationSpecifier.class) != null) { - JetClass aClass = PsiTreeUtil.getParentOfType(expression, JetClass.class); - ConstructorDescriptor constructorDescriptor = bindingContext.get(BindingContext.CONSTRUCTOR, aClass); - assert constructorDescriptor != null; - List parameters = constructorDescriptor.getValueParameters(); - for (ValueParameterDescriptor parameter : parameters) { - if (parameter.getName().equals(descriptor.getName())) { - final JetType outType = ((VariableDescriptor) descriptor).getOutType(); - return StackValue.local(lookupLocal(parameter), typeMapper.mapType(outType)); - } - } - } - } - - if (declaration instanceof JetObjectDeclarationName) { - JetObjectDeclaration objectDeclaration = PsiTreeUtil.getParentOfType(declaration, JetObjectDeclaration.class); - ClassDescriptor classDescriptor = bindingContext.get(BindingContext.CLASS, objectDeclaration); - return StackValue.field(typeMapper.mapType(classDescriptor.getDefaultType(), OwnerKind.IMPLEMENTATION), - typeMapper.mapType(classDescriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), - "$instance", - true); - } - else { - boolean isStatic = container instanceof NamespaceDescriptorImpl; - final boolean directToField = expression.getReferencedNameElementType() == JetTokens.FIELD_IDENTIFIER && contextKind() != OwnerKind.TRAIT_IMPL ; - JetExpression r = getReceiverForSelector(expression); - final boolean isSuper = r instanceof JetSuperExpression; - if(propertyDescriptor.getVisibility() == Visibility.PRIVATE && context.getClassOrNamespaceDescriptor() != propertyDescriptor.getContainingDeclaration()) { - DeclarationDescriptor enclosed = propertyDescriptor.getContainingDeclaration(); - if(enclosed != null && enclosed != context.getThisDescriptor()) { - CodegenContext c = context; - while(c.getContextDescriptor() != enclosed) { - c = c.getParentContext(); - } - propertyDescriptor = (PropertyDescriptor) c.getAccessor(propertyDescriptor); - } - } - final StackValue iValue = intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression)r : null); - if(!directToField && resolvedCall != null && !isSuper) { - if (resolvedCall.getThisObject().exists()) { - if(resolvedCall.getReceiverArgument().exists()) { - generateFromResolvedCall(resolvedCall.getThisObject()); - if(receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - } - else { - receiver.put(typeMapper.mapType(resolvedCall.getReceiverArgument().getType()), v); - } - } - else { - if (receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getThisObject()); - } - else { - ClassDescriptor containingDeclaration = (ClassDescriptor) resolvedCall.getResultingDescriptor().getContainingDeclaration(); - if(CodegenUtil.isInterface(containingDeclaration)) - receiver.put(JetTypeMapper.TYPE_OBJECT, v); - else - receiver.put(typeMapper.mapType(containingDeclaration.getDefaultType()), v); - } - } - } - else { - if (resolvedCall.getReceiverArgument().exists()) { - if (receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - } - else { - receiver.put(typeMapper.mapType(resolvedCall.getReceiverArgument().getType()), v); - } - } - } - pushTypeArguments(resolvedCall); - } - else { - if (!isStatic) { - if (receiver == StackValue.none()) { - if(resolvedCall == null) - receiver = generateThisOrOuter((ClassDescriptor) propertyDescriptor.getContainingDeclaration()); - else { - if(resolvedCall.getThisObject() instanceof ExtensionReceiver) - receiver = generateReceiver(((ExtensionReceiver)resolvedCall.getThisObject()).getDeclarationDescriptor()); - else - receiver = generateThisOrOuter((ClassDescriptor) propertyDescriptor.getContainingDeclaration()); - } - } - JetType receiverType = bindingContext.get(BindingContext.EXPRESSION_TYPE, r); - receiver.put(receiverType != null && !isSuper? typeMapper.mapType(receiverType) : JetTypeMapper.TYPE_OBJECT, v); - if(receiverType != null) { - ClassDescriptor propReceiverDescriptor = (ClassDescriptor) propertyDescriptor.getContainingDeclaration(); - if(!CodegenUtil.isInterface(propReceiverDescriptor) && CodegenUtil.isInterface(receiverType.getConstructor().getDeclarationDescriptor())) { - // I hope it happens only in case of required super class for traits - assert propReceiverDescriptor != null; - v.checkcast(typeMapper.mapType(propReceiverDescriptor.getDefaultType())); - } - } - } - } - return iValue; - } - } - else if (descriptor instanceof ClassDescriptor) { - if(declaration instanceof JetClass) { - final JetClassObject classObject = ((JetClass) declaration).getClassObject(); - if (classObject == null) { - throw new UnsupportedOperationException("trying to reference a class which doesn't have a class object"); - } - final ClassDescriptor descriptor1 = bindingContext.get(BindingContext.CLASS, classObject.getObjectDeclaration()); - final String type = typeMapper.mapType(descriptor1.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); - return StackValue.field(Type.getObjectType(type), - typeMapper.mapType(((ClassDescriptor) descriptor).getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), - "$classobj", - true); - } - else { - // todo ? - return StackValue.none(); - } - } - else if (descriptor instanceof TypeParameterDescriptor) { - TypeParameterDescriptor typeParameterDescriptor = (TypeParameterDescriptor) descriptor; - loadTypeParameterTypeInfo(typeParameterDescriptor); - v.invokevirtual("jet/typeinfo/TypeInfo", "getClassObject", "()Ljava/lang/Object;"); - v.checkcast(typeMapper.mapType(typeParameterDescriptor.getClassObjectType())); - - return StackValue.onStack(JetTypeMapper.TYPE_OBJECT); + int index = lookupLocal(descriptor); + if (index >= 0) { + Type sharedVarType = typeMapper.getSharedVarType(descriptor); + final JetType outType = ((VariableDescriptor) descriptor).getOutType(); + if(sharedVarType != null) { + return StackValue.shared(index, asmType(outType)); } else { - // receiver - StackValue value = context.lookupInContext(descriptor, v, StackValue.local(0, JetTypeMapper.TYPE_OBJECT)); - if (value == null) { - throw new UnsupportedOperationException("don't know how to generate reference " + descriptor); - } - - if(value instanceof StackValue.Composed) { - StackValue.Composed composed = (StackValue.Composed) value; - composed.prefix.put(JetTypeMapper.TYPE_OBJECT, v); - value = composed.suffix; - } - if(value instanceof StackValue.FieldForSharedVar) { - StackValue.FieldForSharedVar fieldForSharedVar = (StackValue.FieldForSharedVar) value; - Type sharedType = StackValue.sharedTypeForType(value.type); - v.visitFieldInsn(Opcodes.GETFIELD, fieldForSharedVar.owner, fieldForSharedVar.name, sharedType.getDescriptor()); - } - return value; + return StackValue.local(index, asmType(outType)); } } + else if (descriptor instanceof PropertyDescriptor) { + PropertyDescriptor propertyDescriptor = (PropertyDescriptor) descriptor; + + PsiElement declaration = bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, descriptor); + if (declaration instanceof JetObjectDeclarationName) { + // todo: we have property here but not in containing class/namespace + JetObjectDeclaration objectDeclaration = PsiTreeUtil.getParentOfType(declaration, JetObjectDeclaration.class); + ClassDescriptor classDescriptor = bindingContext.get(BindingContext.CLASS, objectDeclaration); + assert classDescriptor != null; + return StackValue.field(typeMapper.mapType(classDescriptor.getDefaultType(), OwnerKind.IMPLEMENTATION), + typeMapper.mapType(classDescriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), + "$instance", + true); + } + else { + boolean isStatic = container instanceof NamespaceDescriptor; + final boolean directToField = expression.getReferencedNameElementType() == JetTokens.FIELD_IDENTIFIER && contextKind() != OwnerKind.TRAIT_IMPL ; + JetExpression r = getReceiverForSelector(expression); + final boolean isSuper = r instanceof JetSuperExpression; + if(propertyDescriptor.getVisibility() == Visibility.PRIVATE && context.getClassOrNamespaceDescriptor() != propertyDescriptor.getContainingDeclaration()) { + DeclarationDescriptor enclosed = propertyDescriptor.getContainingDeclaration(); + if(enclosed != null && enclosed != context.getThisDescriptor()) { + CodegenContext c = context; + while(c.getContextDescriptor() != enclosed) { + c = c.getParentContext(); + } + propertyDescriptor = (PropertyDescriptor) c.getAccessor(propertyDescriptor); + } + } + final StackValue.Property iValue = intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression)r : null); + if(!directToField && resolvedCall != null && !isSuper) { + receiver.put(propertyDescriptor.getReceiverParameter().exists() || isStatic? receiver.type : Type.getObjectType(iValue.owner), v); + pushTypeArguments(resolvedCall); + } + else { + if (!isStatic) { + if (receiver == StackValue.none()) { + if(resolvedCall == null) + receiver = generateThisOrOuter((ClassDescriptor) propertyDescriptor.getContainingDeclaration()); + else { + if(resolvedCall.getThisObject() instanceof ExtensionReceiver) + receiver = generateReceiver(((ExtensionReceiver)resolvedCall.getThisObject()).getDeclarationDescriptor()); + else + receiver = generateThisOrOuter((ClassDescriptor) propertyDescriptor.getContainingDeclaration()); + } + } + JetType receiverType = bindingContext.get(BindingContext.EXPRESSION_TYPE, r); + receiver.put(receiverType != null && !isSuper? asmType(receiverType) : TYPE_OBJECT, v); + if(receiverType != null) { + ClassDescriptor propReceiverDescriptor = (ClassDescriptor) propertyDescriptor.getContainingDeclaration(); + if(!CodegenUtil.isInterface(propReceiverDescriptor) && CodegenUtil.isInterface(receiverType.getConstructor().getDeclarationDescriptor())) { + // I hope it happens only in case of required super class for traits + assert propReceiverDescriptor != null; + v.checkcast(asmType(propReceiverDescriptor.getDefaultType())); + } + } + } + } + return iValue; + } + } + else if (descriptor instanceof ClassDescriptor) { + PsiElement declaration = bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, descriptor); + if(declaration instanceof JetClass) { + final JetClassObject classObject = ((JetClass) declaration).getClassObject(); + if (classObject == null) { + throw new UnsupportedOperationException("trying to reference a class which doesn't have a class object"); + } + final ClassDescriptor descriptor1 = bindingContext.get(BindingContext.CLASS, classObject.getObjectDeclaration()); + assert descriptor1 != null; + final String type = typeMapper.mapType(descriptor1.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); + return StackValue.field(Type.getObjectType(type), + typeMapper.mapType(((ClassDescriptor) descriptor).getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), + "$classobj", + true); + } + else { + // todo ? + return StackValue.none(); + } + } + else if (descriptor instanceof TypeParameterDescriptor) { + TypeParameterDescriptor typeParameterDescriptor = (TypeParameterDescriptor) descriptor; + loadTypeParameterTypeInfo(typeParameterDescriptor); + v.invokevirtual("jet/typeinfo/TypeInfo", "getClassObject", "()Ljava/lang/Object;"); + v.checkcast(asmType(typeParameterDescriptor.getClassObjectType())); + + return StackValue.onStack(TYPE_OBJECT); + } + else { + // receiver + StackValue value = context.lookupInContext(descriptor, v, StackValue.local(0, TYPE_OBJECT)); + if (value == null) { + throw new UnsupportedOperationException("don't know how to generate reference " + descriptor); + } + + if(value instanceof StackValue.Composed) { + StackValue.Composed composed = (StackValue.Composed) value; + composed.prefix.put(TYPE_OBJECT, v); + value = composed.suffix; + } + if(value instanceof StackValue.FieldForSharedVar) { + StackValue.FieldForSharedVar fieldForSharedVar = (StackValue.FieldForSharedVar) value; + Type sharedType = StackValue.sharedTypeForType(value.type); + v.visitFieldInsn(Opcodes.GETFIELD, fieldForSharedVar.owner, fieldForSharedVar.name, sharedType.getDescriptor()); + } + return value; + } } public int lookupLocal(DeclarationDescriptor descriptor) { @@ -1033,7 +966,7 @@ public class ExpressionCodegen extends JetVisitor { IntrinsicMethod intrinsic = intrinsics.getIntrinsic(functionDescriptor); if(intrinsic != null) { - intrinsic.generate(this, v, type, null, null, StackValue.onStack(JetTypeMapper.TYPE_OBJECT)); + intrinsic.generate(this, v, type, null, null, StackValue.onStack(TYPE_OBJECT)); return; } @@ -1059,17 +992,17 @@ public class ExpressionCodegen extends JetVisitor { } v.visitMethodInsn(isStatic ? Opcodes.INVOKESTATIC : isInterface ? Opcodes.INVOKEINTERFACE : Opcodes.INVOKEVIRTUAL, owner, functionDescriptor.getName(), typeMapper.mapSignature(functionDescriptor.getName(),functionDescriptor).getDescriptor()); - StackValue.onStack(typeMapper.mapType(functionDescriptor.getReturnType())).coerce(type, v); + StackValue.onStack(asmType(functionDescriptor.getReturnType())).coerce(type, v); } - public StackValue intermediateValueForProperty(PropertyDescriptor propertyDescriptor, final boolean forceField, @Nullable JetSuperExpression superExpression) { + public StackValue.Property intermediateValueForProperty(PropertyDescriptor propertyDescriptor, final boolean forceField, @Nullable JetSuperExpression superExpression) { boolean isSuper = superExpression != null; DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration(); assert containingDeclaration != null; containingDeclaration = containingDeclaration.getOriginal(); - boolean isStatic = containingDeclaration instanceof NamespaceDescriptorImpl; + boolean isStatic = containingDeclaration instanceof NamespaceDescriptor; propertyDescriptor = propertyDescriptor.getOriginal(); boolean isInsideClass = ((containingDeclaration == context.getThisDescriptor()) || (context.getParentContext() instanceof CodegenContext.NamespaceContext) && context.getParentContext().getContextDescriptor() == containingDeclaration) @@ -1100,14 +1033,21 @@ public class ExpressionCodegen extends JetVisitor { } } } - getter = typeMapper.mapGetterSignature(propertyDescriptor, OwnerKind.IMPLEMENTATION); + if(!(containingDeclaration instanceof JavaNamespaceDescriptor) && !(containingDeclaration instanceof JavaClassDescriptor)) + getter = typeMapper.mapGetterSignature(propertyDescriptor, OwnerKind.IMPLEMENTATION); + else + getter = null; } //noinspection ConstantConditions if (isInsideClass && (propertyDescriptor.getSetter() == null || propertyDescriptor.getSetter().isDefault())) { setter = null; } else { - setter = typeMapper.mapSetterSignature(propertyDescriptor, OwnerKind.IMPLEMENTATION); + if(!(containingDeclaration instanceof JavaNamespaceDescriptor) && !(containingDeclaration instanceof JavaClassDescriptor)) + setter = typeMapper.mapSetterSignature(propertyDescriptor, OwnerKind.IMPLEMENTATION); + else + setter = null; + } } @@ -1119,21 +1059,24 @@ public class ExpressionCodegen extends JetVisitor { } else { owner = typeMapper.getOwner(propertyDescriptor, OwnerKind.IMPLEMENTATION); - if(containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor) containingDeclaration).getKind() == ClassKind.OBJECT) - isInterface = false; - else { - JetClass jetClass = (JetClass) bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, containingDeclaration); - isInterface = jetClass == null || jetClass.isTrait(); - } + isInterface = CodegenUtil.isInterface(containingDeclaration); } - return StackValue.property(propertyDescriptor.getName(), owner, typeMapper.mapType(propertyDescriptor.getOutType()), isStatic, isInterface, isSuper, getter, setter); + return StackValue.property(propertyDescriptor.getName(), owner, asmType(propertyDescriptor.getOutType()), isStatic, isInterface, isSuper, getter, setter); } @Override public StackValue visitCallExpression(JetCallExpression expression, StackValue receiver) { final JetExpression callee = expression.getCalleeExpression(); - DeclarationDescriptor funDescriptor = resolveCalleeDescriptor(expression); + assert callee != null; + + ResolvedCall resolvedCall = bindingContext.get(BindingContext.RESOLVED_CALL, callee); + if(resolvedCall == null) { + throw new CompilationException("Cannot resolve: " + callee.getText()); + } + receiver = StackValue.receiver(resolvedCall, receiver, this, null); + + DeclarationDescriptor funDescriptor = resolvedCall.getResultingDescriptor(); if (funDescriptor instanceof ConstructorDescriptor) { return generateConstructorCall(expression, (JetSimpleNameExpression) callee, receiver); @@ -1152,7 +1095,6 @@ public class ExpressionCodegen extends JetVisitor { if (expression.getParent() instanceof JetQualifiedExpression) { final JetExpression receiverExpression = ((JetQualifiedExpression) expression.getParent()).getReceiverExpression(); if (receiverExpression instanceof JetSuperExpression) { - assert receiver == StackValue.none(); superCall = true; receiver = StackValue.thisOrOuter(this, context.getThisDescriptor()); JetSuperExpression superExpression = (JetSuperExpression) receiverExpression; @@ -1223,17 +1165,6 @@ public class ExpressionCodegen extends JetVisitor { return callableMethod; } - private DeclarationDescriptor resolveCalleeDescriptor(JetCallExpression call) { - JetExpression callee = call.getCalleeExpression(); - ResolvedCall resolvedCall = bindingContext.get(BindingContext.RESOLVED_CALL, callee); - if(resolvedCall == null) { - assert callee != null; - throw new CompilationException("Cannot resolve: " + callee.getText()); - } - - return resolvedCall.getResultingDescriptor(); - } - public void invokeMethodWithArguments(CallableMethod callableMethod, JetCallElement expression, StackValue receiver) { final Type calleeType = callableMethod.getGenerateCalleeType(); if (calleeType != null && expression instanceof JetCallExpression) { @@ -1244,7 +1175,13 @@ public class ExpressionCodegen extends JetVisitor { ResolvedCall resolvedCall = bindingContext.get(BindingContext.RESOLVED_CALL, expression.getCalleeExpression()); assert resolvedCall != null; - genThisAndReceiverFromResolvedCall(callableMethod, receiver, resolvedCall); + if(!(resolvedCall.getResultingDescriptor() instanceof ConstructorDescriptor)) { // otherwise already + receiver = StackValue.receiver(resolvedCall, receiver, this, callableMethod); + receiver.put(receiver.type, v); + if(calleeType != null) { + StackValue.onStack(receiver.type).put(boxType(receiver.type), v); + } + } pushTypeArguments(resolvedCall); int mask = pushMethodArguments(expression, callableMethod.getValueParameterTypes()); @@ -1254,49 +1191,39 @@ public class ExpressionCodegen extends JetVisitor { callableMethod.invokeWithDefault(v, mask); } - private void genThisAndReceiverFromResolvedCall(CallableMethod callableMethod, StackValue receiver, ResolvedCall resolvedCall) { - if (callableMethod.isNeedsThis()) { - if(callableMethod.isNeedsReceiver()) { - generateFromResolvedCall(resolvedCall.getThisObject()); - if(receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - } - else { - receiver.put(typeMapper.mapType(resolvedCall.getReceiverArgument().getType()), v); - } - } - else { - if (receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getThisObject()); - } - else { - receiver.put(JetTypeMapper.TYPE_OBJECT, v); - } - } - } - else { - if (callableMethod.isNeedsReceiver()) { - if (receiver == StackValue.none()) { - generateFromResolvedCall(resolvedCall.getReceiverArgument()); - } - else - receiver.put(callableMethod.getSignature().getArgumentTypes()[0], v); - } - } + private void genThisAndReceiverFromResolvedCall(StackValue receiver, ResolvedCall resolvedCall, CallableMethod callableMethod) { + receiver = StackValue.receiver(resolvedCall, receiver, this, callableMethod); + receiver.put(receiver.type, v); } - protected void generateFromResolvedCall(ReceiverDescriptor descriptor) { + protected void generateFromResolvedCall(ReceiverDescriptor descriptor, Type type) { if(descriptor instanceof ClassReceiver) { + Type exprType = asmType(descriptor.getType()); ClassReceiver classReceiver = (ClassReceiver) descriptor; - generateThisOrOuter((ClassDescriptor) classReceiver.getDeclarationDescriptor()).put(typeMapper.mapType(descriptor.getType()), v); + generateThisOrOuter((ClassDescriptor) classReceiver.getDeclarationDescriptor()).put(exprType, v); + if(type != null) + StackValue.onStack(exprType).put(type, v); } else if(descriptor instanceof ExtensionReceiver) { + Type exprType = asmType(descriptor.getType()); ExtensionReceiver extensionReceiver = (ExtensionReceiver) descriptor; - generateReceiver(extensionReceiver.getDeclarationDescriptor()).put(typeMapper.mapType(descriptor.getType()), v); + generateReceiver(extensionReceiver.getDeclarationDescriptor()).put(exprType, v); + if(type != null) + StackValue.onStack(exprType).put(type, v); } else if(descriptor instanceof ExpressionReceiver) { ExpressionReceiver expressionReceiver = (ExpressionReceiver) descriptor; - genToJVMStack(expressionReceiver.getExpression()); + JetExpression expr = expressionReceiver.getExpression(); + Type exprType = expressionType(expr); + gen(expr, exprType); + if(type != null) + StackValue.onStack(exprType).put(type, v); + } + else if(descriptor instanceof AutoCastReceiver) { + AutoCastReceiver autoCastReceiver = (AutoCastReceiver) descriptor; + Type intermediateType = asmType(autoCastReceiver.getType()); + generateFromResolvedCall(autoCastReceiver.getOriginal(), intermediateType); + StackValue.onStack(intermediateType).put(type, v); } else { throw new UnsupportedOperationException(); @@ -1319,21 +1246,21 @@ public class ExpressionCodegen extends JetVisitor { return castToRequiredTypeOfInterfaceIfNeeded(result, provided, null); } - StackValue result = context.lookupInContext(provided, v, StackValue.local(0, JetTypeMapper.TYPE_OBJECT)); + StackValue result = context.lookupInContext(provided, v, StackValue.local(0, TYPE_OBJECT)); return castToRequiredTypeOfInterfaceIfNeeded(result, provided, null); } public StackValue generateThisOrOuter(ClassDescriptor calleeContainingClass) { CodegenContext cur = context; - StackValue result = StackValue.local(0, JetTypeMapper.TYPE_OBJECT); + StackValue result = StackValue.local(0, TYPE_OBJECT); while (cur != null) { if(cur instanceof CodegenContext.MethodContext && !(cur instanceof CodegenContext.ConstructorContext)) cur = cur.getParentContext(); if (CodegenUtil.isSubclass(cur.getThisDescriptor(), calleeContainingClass)) { - Type type = typeMapper.mapType(calleeContainingClass.getDefaultType()); - result.put(JetTypeMapper.TYPE_OBJECT, v); + Type type = asmType(calleeContainingClass.getDefaultType()); + result.put(TYPE_OBJECT, v); return castToRequiredTypeOfInterfaceIfNeeded(StackValue.onStack(type), cur.getThisDescriptor(), calleeContainingClass); } @@ -1357,8 +1284,9 @@ public class ExpressionCodegen extends JetVisitor { return false; } - private int pushMethodArguments(ResolvedCall resolvedCall, List valueParameterTypes) { - Map valueArguments = resolvedCall.getValueArguments(); + private int pushMethodArguments(@NotNull ResolvedCall resolvedCall, List valueParameterTypes) { + @SuppressWarnings("unchecked") + Map valueArguments = resolvedCall.getValueArguments(); CallableDescriptor fd = resolvedCall.getResultingDescriptor(); int index = 0; @@ -1388,9 +1316,9 @@ public class ExpressionCodegen extends JetVisitor { VarargValueArgument valueArgument = (VarargValueArgument) resolvedValueArgument; JetType outType = valueParameterDescriptor.getOutType(); - Type type = typeMapper.mapType(outType); + Type type = asmType(outType); assert type.getSort() == Type.ARRAY; - Type elementType = JetTypeMapper.correctElementType(type); + Type elementType = correctElementType(type); int size = valueArgument.getArgumentExpressions().size(); v.iconst(valueArgument.getArgumentExpressions().size()); @@ -1427,7 +1355,7 @@ public class ExpressionCodegen extends JetVisitor { public Type expressionType(JetExpression expr) { JetType type = bindingContext.get(BindingContext.EXPRESSION_TYPE, expr); - return type == null ? Type.VOID_TYPE : typeMapper.mapType(type); + return type == null ? Type.VOID_TYPE : asmType(type); } public int indexOfLocal(JetReferenceExpression lhs) { @@ -1435,40 +1363,24 @@ public class ExpressionCodegen extends JetVisitor { return lookupLocal(declarationDescriptor); } - - @Override public StackValue visitDotQualifiedExpression(JetDotQualifiedExpression expression, StackValue receiver) { - StackValue receiverValue = resolvesToClassOrPackage(expression.getReceiverExpression()) - ? StackValue.none() - : genQualified(receiver, expression.getReceiverExpression()); - return genQualified(receiverValue, expression.getSelectorExpression()); - } - - private boolean resolvesToClassOrPackage(JetExpression receiver) { - if (receiver instanceof JetReferenceExpression) { - DeclarationDescriptor declaration = bindingContext.get(BindingContext.REFERENCE_TARGET, (JetReferenceExpression) receiver); - PsiElement declarationElement = bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, declaration); - if (declarationElement instanceof PsiClass) { - return true; - } - } - return false; + return genQualified(StackValue.none(), expression.getSelectorExpression()); } @Override public StackValue visitSafeQualifiedExpression(JetSafeQualifiedExpression expression, StackValue receiver) { JetExpression expr = expression.getReceiverExpression(); JetType receiverJetType = bindingContext.get(BindingContext.EXPRESSION_TYPE, expression.getReceiverExpression()); - Type receiverType = typeMapper.mapType(receiverJetType); + Type receiverType = asmType(receiverJetType); gen(expr, receiverType); if(receiverType.getSort() != Type.OBJECT && receiverType.getSort() != Type.ARRAY) { StackValue propValue = genQualified(StackValue.onStack(receiverType), expression.getSelectorExpression()); Type type = propValue.type; propValue.put(type, v); - if(JetTypeMapper.isPrimitive(type) && !type.equals(Type.VOID_TYPE)) { + if(isPrimitive(type) && !type.equals(Type.VOID_TYPE)) { StackValue.valueOf(v, type); - type = JetTypeMapper.boxType(type); + type = boxType(type); } return StackValue.onStack(type); @@ -1481,9 +1393,9 @@ public class ExpressionCodegen extends JetVisitor { StackValue propValue = genQualified(StackValue.onStack(receiverType), expression.getSelectorExpression()); Type type = propValue.type; propValue.put(type, v); - if(JetTypeMapper.isPrimitive(type) && !type.equals(Type.VOID_TYPE)) { + if(isPrimitive(type) && !type.equals(Type.VOID_TYPE)) { StackValue.valueOf(v, type); - type = JetTypeMapper.boxType(type); + type = boxType(type); } v.goTo(end); @@ -1556,9 +1468,9 @@ public class ExpressionCodegen extends JetVisitor { } else { ResolvedCall resolvedCall = bindingContext.get(BindingContext.RESOLVED_CALL, expression.getOperationReference()); - + assert resolvedCall != null; CallableMethod callableMethod = (CallableMethod) callable; - genThisAndReceiverFromResolvedCall(callableMethod, StackValue.none(), resolvedCall); + genThisAndReceiverFromResolvedCall(StackValue.none(), resolvedCall, callableMethod); pushTypeArguments(resolvedCall); pushMethodArguments(resolvedCall, callableMethod.getValueParameterTypes()); callableMethod.invoke(v); @@ -1578,7 +1490,7 @@ public class ExpressionCodegen extends JetVisitor { else { FunctionDescriptor op = (FunctionDescriptor) bindingContext.get(BindingContext.REFERENCE_TARGET, expression.getOperationReference()); assert op != null; - leftValue.put(typeMapper.mapType(op.getValueParameters().get(0).getOutType()), v); + leftValue.put(asmType(op.getValueParameters().get(0).getOutType()), v); genToJVMStack(expression.getRight()); v.swap(); invokeFunctionNoParams(op, Type.BOOLEAN_TYPE, v); @@ -1654,31 +1566,31 @@ public class ExpressionCodegen extends JetVisitor { private StackValue generateEquals(JetExpression left, JetExpression right, IElementType opToken) { JetType leftJetType = bindingContext.get(BindingContext.EXPRESSION_TYPE, left); - Type leftType = typeMapper.mapType(leftJetType); + Type leftType = asmType(leftJetType); JetType rightJetType = bindingContext.get(BindingContext.EXPRESSION_TYPE, right); - Type rightType = typeMapper.mapType(rightJetType); - if(leftType == JetTypeMapper.TYPE_NOTHING) { + Type rightType = asmType(rightJetType); + if(leftType == TYPE_NOTHING) { return genCmpWithNull(right, rightType, opToken); } - if(rightType == JetTypeMapper.TYPE_NOTHING) { + if(rightType == TYPE_NOTHING) { return genCmpWithNull(left, leftType, opToken); } - if(JetTypeMapper.isPrimitive(leftType) != JetTypeMapper.isPrimitive(rightType)) { + if(isPrimitive(leftType) != isPrimitive(rightType)) { gen(left, leftType); StackValue.valueOf(v, leftType); - leftType = JetTypeMapper.boxType(leftType); + leftType = boxType(leftType); gen(right, rightType); StackValue.valueOf(v, rightType); - rightType = JetTypeMapper.boxType(rightType); + rightType = boxType(rightType); } else { gen(left, leftType); gen(right, rightType); } - if(JetTypeMapper.isPrimitive(leftType)) // both are primitive + if(isPrimitive(leftType)) // both are primitive return generateEqualsForExpressionsOnStack(opToken, leftType, rightType, false, false); assert leftJetType != null; @@ -1688,7 +1600,7 @@ public class ExpressionCodegen extends JetVisitor { private StackValue genCmpWithNull(JetExpression exp, Type expType, IElementType opToken) { v.iconst(1); - gen(exp, JetTypeMapper.boxType(expType)); + gen(exp, boxType(expType)); Label ok = new Label(); if(JetTokens.EQEQ == opToken || JetTokens.EQEQEQ == opToken) { v.ifnull(ok); @@ -1810,7 +1722,7 @@ public class ExpressionCodegen extends JetVisitor { } private static boolean isNumberPrimitive(Type type) { - return JetTypeMapper.isIntPrimitive(type) || type == Type.FLOAT_TYPE || type == Type.DOUBLE_TYPE || type == Type.LONG_TYPE; + return isIntPrimitive(type) || type == Type.FLOAT_TYPE || type == Type.DOUBLE_TYPE || type == Type.LONG_TYPE; } private StackValue generateCompareOp(JetExpression left, JetExpression right, IElementType opToken, Type operandType) { @@ -1886,7 +1798,7 @@ public class ExpressionCodegen extends JetVisitor { } public void generateStringBuilderConstructor() { - Type type = JetTypeMapper.JL_STRING_BUILDER; + Type type = JL_STRING_BUILDER; v.anew(type); v.dup(); Method method = new Method("", Type.VOID_TYPE, new Type[0]); @@ -1904,12 +1816,12 @@ public class ExpressionCodegen extends JetVisitor { } Type exprType = expressionType(expr); gen(expr, exprType); - invokeAppendMethod(exprType.getSort() == Type.ARRAY ? JetTypeMapper.TYPE_OBJECT : exprType); + invokeAppendMethod(exprType.getSort() == Type.ARRAY ? TYPE_OBJECT : exprType); } public void invokeAppendMethod(Type exprType) { - Method appendDescriptor = new Method("append", JetTypeMapper.JL_STRING_BUILDER, - new Type[] { exprType.getSort() == Type.OBJECT ? JetTypeMapper.TYPE_OBJECT : exprType}); + Method appendDescriptor = new Method("append", JL_STRING_BUILDER, + new Type[] { exprType.getSort() == Type.OBJECT ? TYPE_OBJECT : exprType}); v.invokevirtual("java/lang/StringBuilder", "append", appendDescriptor.getDescriptor()); } @@ -1941,7 +1853,7 @@ public class ExpressionCodegen extends JetVisitor { JetExpression operand = expression.getBaseExpression(); if (operand instanceof JetReferenceExpression) { final int index = indexOfLocal((JetReferenceExpression) operand); - if (index >= 0 && JetTypeMapper.isIntPrimitive(asmType)) { + if (index >= 0 && isIntPrimitive(asmType)) { int increment = op.getName().equals("inc") ? 1 : -1; return StackValue.postIncrement(index, increment); } @@ -1958,7 +1870,7 @@ public class ExpressionCodegen extends JetVisitor { int increment = op.getName().equals("inc") ? 1 : -1; if (operand instanceof JetReferenceExpression) { final int index = indexOfLocal((JetReferenceExpression) operand); - if (index >= 0 && JetTypeMapper.isIntPrimitive(asmType)) { + if (index >= 0 && isIntPrimitive(asmType)) { v.iinc(index, increment); return; } @@ -1994,12 +1906,12 @@ public class ExpressionCodegen extends JetVisitor { final Type sharedVarType = typeMapper.getSharedVarType(variableDescriptor); assert variableDescriptor != null; - Type varType = typeMapper.mapType(variableDescriptor.getOutType()); + Type varType = asmType(variableDescriptor.getOutType()); if(sharedVarType != null) { v.anew(sharedVarType); v.dup(); v.invokespecial(sharedVarType.getInternalName(), "", "()V"); - v.store(index, JetTypeMapper.TYPE_OBJECT); + v.store(index, TYPE_OBJECT); } JetExpression initializer = property.getInitializer(); @@ -2009,9 +1921,9 @@ public class ExpressionCodegen extends JetVisitor { v.store(index, varType); } else { - v.load(index, JetTypeMapper.TYPE_OBJECT); + v.load(index, TYPE_OBJECT); gen(initializer, varType); - v.putfield(sharedVarType.getInternalName(), "ref", sharedVarType == JetTypeMapper.TYPE_SHARED_VAR ? "Ljava/lang/Object;" : varType.getDescriptor()); + v.putfield(sharedVarType.getInternalName(), "ref", sharedVarType == TYPE_SHARED_VAR ? "Ljava/lang/Object;" : varType.getDescriptor()); } } return StackValue.none(); @@ -2091,9 +2003,16 @@ public class ExpressionCodegen extends JetVisitor { } private Type generateJavaConstructorCall(JetCallExpression expression) { - FunctionDescriptor descriptor = (FunctionDescriptor) resolveCalleeDescriptor(expression); + JetExpression callee = expression.getCalleeExpression(); + ResolvedCall resolvedCall = bindingContext.get(BindingContext.RESOLVED_CALL, callee); + if(resolvedCall == null) { + assert callee != null; + throw new CompilationException("Cannot resolve: " + callee.getText()); + } + + FunctionDescriptor descriptor = (FunctionDescriptor) resolvedCall.getResultingDescriptor(); ClassDescriptor javaClass = (ClassDescriptor) descriptor.getContainingDeclaration(); - Type type = typeMapper.mapType(javaClass.getDefaultType()); + Type type = asmType(javaClass.getDefaultType()); v.anew(type); v.dup(); final CallableMethod callableMethod = typeMapper.mapToCallableMethod(descriptor, false, OwnerKind.IMPLEMENTATION); @@ -2125,13 +2044,13 @@ public class ExpressionCodegen extends JetVisitor { } else { gen(args.get(0).getArgumentExpression(), Type.INT_TYPE); - v.newarray(JetTypeMapper.boxType(typeMapper.mapType(arrayType.getArguments().get(0).getType()))); + v.newarray(boxType(asmType(arrayType.getArguments().get(0).getType()))); } } else { Type type = typeMapper.mapType(arrayType, OwnerKind.IMPLEMENTATION); gen(args.get(0).getArgumentExpression(), Type.INT_TYPE); - v.newarray(JetTypeMapper.correctElementType(type)); + v.newarray(correctElementType(type)); } if(args.size() == 2) { @@ -2145,7 +2064,7 @@ public class ExpressionCodegen extends JetVisitor { v.iconst(0); v.store(indexIndex, Type.INT_TYPE); - gen(args.get(1).getArgumentExpression(), JetTypeMapper.TYPE_FUNCTION1); + gen(args.get(1).getArgumentExpression(), TYPE_FUNCTION1); Label begin = new Label(); Label end = new Label(); @@ -2161,7 +2080,7 @@ public class ExpressionCodegen extends JetVisitor { v.load(indexIndex, Type.INT_TYPE); v.iinc(indexIndex, 1); v.swap(); - v.astore(JetTypeMapper.TYPE_OBJECT); + v.astore(TYPE_OBJECT); v.goTo(begin); v.visitLabel(end); @@ -2175,7 +2094,7 @@ public class ExpressionCodegen extends JetVisitor { public StackValue visitArrayAccessExpression(JetArrayAccessExpression expression, StackValue receiver) { final JetExpression array = expression.getArrayExpression(); JetType type = bindingContext.get(BindingContext.EXPRESSION_TYPE, array); - final Type arrayType = type == null ? Type.VOID_TYPE : typeMapper.mapType(type); + final Type arrayType = type == null ? Type.VOID_TYPE : asmType(type); final List indices = expression.getIndexExpressions(); FunctionDescriptor operationDescriptor = (FunctionDescriptor) bindingContext.get(BindingContext.REFERENCE_TARGET, expression); assert operationDescriptor != null; @@ -2187,11 +2106,11 @@ public class ExpressionCodegen extends JetVisitor { assert type != null; if(state.getStandardLibrary().getArray().equals(type.getConstructor().getDeclarationDescriptor())) { JetType elementType = type.getArguments().get(0).getType(); - Type notBoxed = typeMapper.mapType(elementType); + Type notBoxed = asmType(elementType); return StackValue.arrayElement(notBoxed, true); } else { - return StackValue.arrayElement(JetTypeMapper.correctElementType(arrayType), false); + return StackValue.arrayElement(correctElementType(arrayType), false); } } else { @@ -2211,9 +2130,11 @@ public class ExpressionCodegen extends JetVisitor { if(isGetter) { Callable callable = resolveToCallable(getterDescriptor, false); if(callable instanceof CallableMethod) - genThisAndReceiverFromResolvedCall((CallableMethod) callable, receiver, resolvedGetCall); - else - gen(array, typeMapper.mapType(((ClassDescriptor)getterDescriptor.getContainingDeclaration()).getDefaultType())); + genThisAndReceiverFromResolvedCall(receiver, resolvedGetCall, (CallableMethod) callable); + else { + assert getterDescriptor != null; + gen(array, asmType(((ClassDescriptor)getterDescriptor.getContainingDeclaration()).getDefaultType())); + } assert getterDescriptor != null; if(getterDescriptor.getReceiverParameter().exists()) { @@ -2228,13 +2149,14 @@ public class ExpressionCodegen extends JetVisitor { asmType = accessor.getSignature().getReturnType(); } else { + assert resolvedSetCall != null; Callable callable = resolveToCallable(resolvedSetCall.getResultingDescriptor(), false); - if(callable instanceof CallableMethod) - genThisAndReceiverFromResolvedCall((CallableMethod) callable, receiver, resolvedSetCall); + if(callable instanceof CallableMethod) { + genThisAndReceiverFromResolvedCall(receiver, resolvedSetCall, (CallableMethod) callable); + } else gen(array, arrayType); - assert setterDescriptor != null; if(setterDescriptor.getReceiverParameter().exists()) { index++; } @@ -2257,7 +2179,7 @@ public class ExpressionCodegen extends JetVisitor { @Override public StackValue visitThrowExpression(JetThrowExpression expression, StackValue receiver) { - gen(expression.getThrownExpression(), JetTypeMapper.TYPE_OBJECT); + gen(expression.getThrownExpression(), TYPE_OBJECT); doFinallyOnReturnOrThrow(); v.athrow(); return StackValue.none(); @@ -2291,7 +2213,7 @@ If finally block is present, its last expression is the value of try expression. } JetType jetType = bindingContext.get(BindingContext.EXPRESSION_TYPE, expression); - Type expectedAsmType = typeMapper.mapType(jetType); + Type expectedAsmType = asmType(jetType); Label tryStart = new Label(); v.mark(tryStart); @@ -2313,7 +2235,7 @@ If finally block is present, its last expression is the value of try expression. VariableDescriptor descriptor = bindingContext.get(BindingContext.VALUE_PARAMETER, clause.getCatchParameter()); assert descriptor != null; - Type descriptorType = typeMapper.mapType(descriptor.getOutType()); + Type descriptorType = asmType(descriptor.getOutType()); myFrameMap.enter(descriptor, 1); int index = lookupLocal(descriptor); v.store(index, descriptorType); @@ -2363,8 +2285,8 @@ If finally block is present, its last expression is the value of try expression. assert jetType != null; DeclarationDescriptor descriptor = jetType.getConstructor().getDeclarationDescriptor(); if (descriptor instanceof ClassDescriptor || descriptor instanceof TypeParameterDescriptor) { - Type type = JetTypeMapper.boxType(typeMapper.mapType(jetType)); - generateInstanceOf(StackValue.expression(JetTypeMapper.TYPE_OBJECT, expression.getLeft(), this), jetType, true); + Type type = boxType(asmType(jetType)); + generateInstanceOf(StackValue.expression(TYPE_OBJECT, expression.getLeft(), this), jetType, true); Label isInstance = new Label(); v.ifne(isInstance); v.pop(); @@ -2386,7 +2308,7 @@ If finally block is present, its last expression is the value of try expression. @Override public StackValue visitIsExpression(final JetIsExpression expression, StackValue receiver) { - final StackValue match = StackValue.expression(JetTypeMapper.TYPE_OBJECT, expression.getLeftHandSide(), this); + final StackValue match = StackValue.expression(TYPE_OBJECT, expression.getLeftHandSide(), this); return generatePatternMatch(expression.getPattern(), expression.isNegated(), match, null); } @@ -2409,7 +2331,7 @@ If finally block is present, its last expression is the value of try expression. expressionToMatch.dupReceiver(v); expressionToMatch.put(subjectType, v); JetExpression condExpression = ((JetExpressionPattern) pattern).getExpression(); - Type condType = isNumberPrimitive(subjectType) ? expressionType(condExpression) : JetTypeMapper.TYPE_OBJECT; + Type condType = isNumberPrimitive(subjectType) ? expressionType(condExpression) : TYPE_OBJECT; gen(condExpression, condType); return generateEqualsForExpressionsOnStack(JetTokens.EQEQ, subjectType, condType, false, false); } @@ -2420,7 +2342,7 @@ If finally block is present, its last expression is the value of try expression. final JetProperty var = ((JetBindingPattern) pattern).getVariableDeclaration(); final VariableDescriptor variableDescriptor = bindingContext.get(BindingContext.VARIABLE, var); assert variableDescriptor != null; - final Type varType = typeMapper.mapType(variableDescriptor.getOutType()); + final Type varType = asmType(variableDescriptor.getOutType()); myFrameMap.enter(variableDescriptor, varType.getSize()); expressionToMatch.dupReceiver(v); expressionToMatch.put(varType, v); @@ -2440,7 +2362,7 @@ If finally block is present, its last expression is the value of try expression. Label lblFail = new Label(); Label lblDone = new Label(); expressionToMatch.dupReceiver(v); - expressionToMatch.put(JetTypeMapper.TYPE_OBJECT, v); + expressionToMatch.put(TYPE_OBJECT, v); v.dup(); final String tupleClassName = "jet/Tuple" + entries.size(); Type tupleType = Type.getObjectType(tupleClassName); @@ -2454,7 +2376,7 @@ If finally block is present, its last expression is the value of try expression. v.mark(lblCheck); for (int i = 0; i < entries.size(); i++) { - final StackValue tupleField = StackValue.field(JetTypeMapper.TYPE_OBJECT, tupleClassName, "_" + (i + 1), false); + final StackValue tupleField = StackValue.field(TYPE_OBJECT, tupleClassName, "_" + (i + 1), false); final StackValue stackValue = generatePatternMatch(entries.get(i).getPattern(), false, tupleField, nextEntry); stackValue.condJump(lblPopAndFail, true, v); } @@ -2483,6 +2405,7 @@ If finally block is present, its last expression is the value of try expression. if(declarationDescriptor instanceof TypeParameterDescriptor) return true; + assert declarationDescriptor != null; ClassDescriptor classDescriptor = (ClassDescriptor) declarationDescriptor.getOriginal(); if(classDescriptor.equals(state.getStandardLibrary().getArray())) { return hasTypeInfoForInstanceOf(type.getArguments().get(0).getType()); @@ -2498,13 +2421,12 @@ If finally block is present, its last expression is the value of try expression. } private void generateInstanceOf(StackValue expressionToGen, JetType jetType, boolean leaveExpressionOnStack) { - DeclarationDescriptor descriptor = jetType.getConstructor().getDeclarationDescriptor(); if (!hasTypeInfoForInstanceOf(jetType)) { - expressionToGen.put(JetTypeMapper.TYPE_OBJECT, v); + expressionToGen.put(TYPE_OBJECT, v); if (leaveExpressionOnStack) { v.dup(); } - Type type = JetTypeMapper.boxType(typeMapper.mapType(jetType)); + Type type = boxType(asmType(jetType)); if(jetType.isNullable()) { Label nope = new Label(); Label end = new Label(); @@ -2524,7 +2446,7 @@ If finally block is present, its last expression is the value of try expression. } else { generateTypeInfo(jetType); - expressionToGen.put(JetTypeMapper.TYPE_OBJECT, v); + expressionToGen.put(TYPE_OBJECT, v); if (leaveExpressionOnStack) { v.dupX1(); } @@ -2558,14 +2480,14 @@ If finally block is present, its last expression is the value of try expression. return; } - final Type jvmType = typeMapper.mapType(jetType); + final Type jvmType = asmType(jetType); v.aconst(jvmType); v.iconst(jetType.isNullable()?1:0); List arguments = jetType.getArguments(); if (arguments.size() > 0) { v.iconst(arguments.size()); - v.newarray(JetTypeMapper.TYPE_TYPEINFOPROJECTION); + v.newarray(TYPE_TYPEINFOPROJECTION); for (int i = 0, argumentsSize = arguments.size(); i < argumentsSize; i++) { TypeProjection argument = arguments.get(i); @@ -2573,7 +2495,7 @@ If finally block is present, its last expression is the value of try expression. v.iconst(i); generateTypeInfo(argument.getType()); genTypeInfoToProjection(v, argument.getProjectionKind()); - v.astore(JetTypeMapper.TYPE_OBJECT); + v.astore(TYPE_OBJECT); } v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z[Ljet/typeinfo/TypeInfoProjection;)Ljet/typeinfo/TypeInfo;"); } @@ -2584,7 +2506,7 @@ If finally block is present, its last expression is the value of try expression. public static void genTypeInfoToProjection(InstructionAdapter v, Variance variance) { if(variance == Variance.INVARIANT) - v.checkcast(JetTypeMapper.TYPE_TYPEINFOPROJECTION); + v.checkcast(TYPE_TYPEINFOPROJECTION); else if(variance == Variance.IN_VARIANCE) v.invokestatic("jet/typeinfo/TypeInfo", "inProjection", "(Ljet/typeinfo/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;"); else if(variance == Variance.OUT_VARIANCE) @@ -2596,7 +2518,7 @@ If finally block is present, its last expression is the value of try expression. private void loadTypeParameterTypeInfo(TypeParameterDescriptor typeParameterDescriptor) { final StackValue value = typeParameterExpressions.get(typeParameterDescriptor); if (value != null) { - value.put(JetTypeMapper.TYPE_TYPEINFO, v); + value.put(TYPE_TYPEINFO, v); return; } DeclarationDescriptor containingDeclaration = typeParameterDescriptor.getContainingDeclaration(); @@ -2604,12 +2526,12 @@ If finally block is present, its last expression is the value of try expression. ClassDescriptor descriptor = context.getThisDescriptor(); assert containingDeclaration != null; JetType defaultType = ((ClassDescriptor)containingDeclaration).getDefaultType(); - Type ownerType = typeMapper.mapType(defaultType); - ownerType = JetTypeMapper.boxType(ownerType); + Type ownerType = asmType(defaultType); + ownerType = boxType(ownerType); if (containingDeclaration == context.getThisDescriptor()) { if(!CodegenUtil.isInterface(descriptor)) { if (CodegenUtil.hasTypeInfoField(defaultType)) { - v.load(0, JetTypeMapper.TYPE_OBJECT); + v.load(0, TYPE_OBJECT); v.getfield(ownerType.getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;"); } else { @@ -2617,12 +2539,12 @@ If finally block is present, its last expression is the value of try expression. } } else { - v.load(0, JetTypeMapper.TYPE_OBJECT); + v.load(0, TYPE_OBJECT); v.invokeinterface("jet/JetObject", "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); } } else { - v.load(0, JetTypeMapper.TYPE_OBJECT); + v.load(0, TYPE_OBJECT); v.invokeinterface("jet/JetObject", "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); while(descriptor != containingDeclaration) { descriptor = CodegenUtil.getOuterClassDescriptor(descriptor); @@ -2696,7 +2618,7 @@ If finally block is present, its last expression is the value of try expression. else { FunctionDescriptor op = (FunctionDescriptor) bindingContext.get(BindingContext.REFERENCE_TARGET, conditionInRange.getOperationReference()); genToJVMStack(rangeExpression); - new StackValue.Local(subjectLocal, subjectType).put(JetTypeMapper.TYPE_OBJECT, v); + new StackValue.Local(subjectLocal, subjectType).put(TYPE_OBJECT, v); invokeFunctionNoParams(op, Type.BOOLEAN_TYPE, v); } return StackValue.onStack(Type.BOOLEAN_TYPE); @@ -2751,7 +2673,7 @@ If finally block is present, its last expression is the value of try expression. v.dup(); generateTypeInfo(new ProjectionErasingJetType(bindingContext.get(BindingContext.EXPRESSION_TYPE, expression))); for (JetExpression entry : entries) { - gen(entry, JetTypeMapper.TYPE_OBJECT); + gen(entry, TYPE_OBJECT); } v.invokespecial(className, "", signature.toString()); return StackValue.onStack(tupleType); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java index c969955151f..d8591fe5e4a 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java @@ -1,11 +1,9 @@ package org.jetbrains.jet.codegen; import com.intellij.psi.tree.IElementType; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethod; -import org.jetbrains.jet.lang.descriptors.ClassDescriptor; -import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; -import org.jetbrains.jet.lang.descriptors.TypeParameterDescriptor; -import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; +import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; @@ -101,11 +99,7 @@ public abstract class StackValue { return new Field(type, owner, name, isStatic); } - public static StackValue instanceField(Type type, String owner, String name) { - return new InstanceField(type, owner, name); - } - - public static StackValue property(String name, String owner, Type type, boolean isStatic, boolean isInterface, boolean isSuper, Method getter, Method setter) { + public static Property property(String name, String owner, Type type, boolean isStatic, boolean isInterface, boolean isSuper, Method getter, Method setter) { return new Property(name, owner, getter, setter, isStatic, isInterface, isSuper, type); } @@ -264,6 +258,12 @@ public abstract class StackValue { return new PreIncrement(index, increment); } + public static StackValue receiver(ResolvedCall resolvedCall, StackValue receiver, ExpressionCodegen codegen, @Nullable CallableMethod callableMethod) { + if(resolvedCall.getThisObject().exists() || resolvedCall.getReceiverArgument().exists()) + return new CallReceiver(resolvedCall, receiver, codegen, callableMethod); + return receiver; + } + private static class None extends StackValue { public static None INSTANCE = new None(); private None() { @@ -614,7 +614,7 @@ public abstract class StackValue { if(resolvedSetCall.getThisObject().exists()) { if(resolvedSetCall.getReceiverArgument().exists()) { - codegen.generateFromResolvedCall(resolvedSetCall.getThisObject()); + codegen.generateFromResolvedCall(resolvedSetCall.getThisObject(), JetTypeMapper.TYPE_OBJECT); } v.load(realReceiverIndex - realReceiverType.getSize(), realReceiverType); } @@ -730,39 +730,11 @@ public abstract class StackValue { } } - static class InstanceField extends StackValue { - final String owner; - final String name; - - public InstanceField(Type type, String owner, String name) { - super(type); - this.owner = owner; - this.name = name; - } - - @Override - public void put(Type type, InstructionAdapter v) { - v.load(0, JetTypeMapper.TYPE_OBJECT); - v.getfield(owner, name, this.type.getDescriptor()); - coerce(type, v); - } - - @Override - public void dupReceiver(InstructionAdapter v) { - } - - @Override - public void store(InstructionAdapter v) { - v.load(0, JetTypeMapper.TYPE_OBJECT); - v.putfield(owner, name, this.type.getDescriptor()); - } - } - - private static class Property extends StackValue { + static class Property extends StackValue { private final String name; private final Method getter; private final Method setter; - private final String owner; + public final String owner; private final boolean isStatic; private final boolean isInterface; private boolean isSuper; @@ -1011,4 +983,94 @@ public abstract class StackValue { } } } + + public static class CallReceiver extends StackValue { + private ResolvedCall resolvedCall; + StackValue receiver; + private ExpressionCodegen codegen; + private CallableMethod callableMethod; + + public CallReceiver(ResolvedCall resolvedCall, StackValue receiver, ExpressionCodegen codegen, CallableMethod callableMethod) { + super(calcType(resolvedCall, codegen, callableMethod)); + this.resolvedCall = resolvedCall; + this.receiver = receiver; + this.codegen = codegen; + this.callableMethod = callableMethod; + } + + private static Type calcType(ResolvedCall resolvedCall, ExpressionCodegen codegen, CallableMethod callableMethod) { + ReceiverDescriptor thisObject = resolvedCall.getThisObject(); + ReceiverDescriptor receiverArgument = resolvedCall.getReceiverArgument(); + + CallableDescriptor descriptor = resolvedCall.getResultingDescriptor(); + + if (thisObject.exists()) { + if(callableMethod != null) { + if(receiverArgument.exists()) { + return codegen.typeMapper.mapType(callableMethod.getReceiverClass()); + } + else { + return codegen.typeMapper.mapType(callableMethod.getThisType()); + } + } + else { + if(receiverArgument.exists()) { + return codegen.typeMapper.mapType(descriptor.getReceiverParameter().getType()); + } + else { + return codegen.typeMapper.mapType(descriptor.getExpectedThisObject().getType()); + } + } + } + else { + if (receiverArgument.exists()) { + if(callableMethod != null) + return codegen.typeMapper.mapType(callableMethod.getReceiverClass()); + else + return codegen.typeMapper.mapType(descriptor.getReceiverParameter().getType()); + } + else { + return Type.VOID_TYPE; + } + } + } + + @Override + public void put(Type type, InstructionAdapter v) { + CallableDescriptor descriptor = resolvedCall.getResultingDescriptor(); + + ReceiverDescriptor thisObject = resolvedCall.getThisObject(); + ReceiverDescriptor receiverArgument = resolvedCall.getReceiverArgument(); + if (thisObject.exists()) { + if(receiverArgument.exists()) { + codegen.generateFromResolvedCall(thisObject, codegen.typeMapper.mapType(descriptor.getExpectedThisObject().getType())); + genReceiver(v, receiverArgument, type, descriptor.getReceiverParameter()); + } + else { + genReceiver(v, thisObject, type, null); + } + } + else { + if (receiverArgument.exists()) { + genReceiver(v, receiverArgument, type, descriptor.getReceiverParameter()); + } + } + } + + private void genReceiver(InstructionAdapter v, ReceiverDescriptor receiverArgument, Type type, ReceiverDescriptor receiverParameter) { + if(receiver == StackValue.none()) { + if(receiverParameter != null) { + Type receiverType = codegen.typeMapper.mapType(receiverParameter.getType()); + codegen.generateFromResolvedCall(receiverArgument, receiverType); + StackValue.onStack(receiverType).put(type, v); + } + else { + codegen.generateFromResolvedCall(receiverArgument, type); + } + } + else { + receiver.put(type, v); + } + } + } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java index de9e5a4f847..f2587f2a1ba 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java @@ -1,6 +1,7 @@ package org.jetbrains.jet.codegen.intrinsics; import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.Callable; import org.jetbrains.jet.codegen.ExpressionCodegen; import org.jetbrains.jet.codegen.StackValue; @@ -14,5 +15,5 @@ import java.util.List; * @author yole */ public interface IntrinsicMethod extends Callable { - StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List arguments, StackValue receiver); + StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, @Nullable PsiElement element, @Nullable List arguments, StackValue receiver); } diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 669bda88f70..cf23d5c948b 100644 --- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -113,7 +113,11 @@ public class CompileEnvironment { } if ((rtJar == null || !rtJar.exists()) && failOnError) { - throw new CompileEnvironmentException("No rt.jar found under JAVA_HOME=" + javaHome); + rtJar = findActiveRtJar(failOnError); + + if ((rtJar == null || !rtJar.exists())) { + throw new CompileEnvironmentException("No rt.jar found under JAVA_HOME=" + javaHome); + } } return rtJar; } @@ -144,7 +148,7 @@ public class CompileEnvironment { throw new CompileEnvironmentException("Could not find rt.jar in system class loader: " + StringUtil.join(loader.getURLs(), new Function() { @Override public String fun(URL url) { - return url.toString(); + return url.toString() + "\n"; } }, ", ")); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java index 105bde689f8..451c00663b4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetPrefixExpression.java @@ -26,7 +26,7 @@ public class JetPrefixExpression extends JetUnaryExpression { @Nullable @IfNotParsed public JetExpression getBaseExpression() { PsiElement expression = getOperationSign().getNextSibling(); - while (expression != null && false == expression instanceof JetExpression) { + while (expression != null && !(expression instanceof JetExpression)) { expression = expression.getNextSibling(); } return (JetExpression) expression; diff --git a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java index d0a9fa5f5c9..fc63c1de423 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java @@ -21,6 +21,7 @@ public class ExtensionFunctionsTest extends CodegenTestCase { public void testWhenFail() throws Exception { loadFile(); +// System.out.println(generateToText()); Method foo = generateFunction("foo"); assertThrows(foo, Exception.class, null, new StringBuilder()); } diff --git a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java index d8eb251833e..a698aab25e2 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java @@ -7,6 +7,7 @@ package org.jetbrains.jet.codegen; public class ObjectGenTest extends CodegenTestCase { public void testSimpleObject() throws Exception { blackBoxFile("objects/simpleObject.jet"); +// System.out.println(generateToText()); } public void testObjectLiteral() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java index 943064ca3bb..fc22ac350eb 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java @@ -134,6 +134,7 @@ public class PropertyGenTest extends CodegenTestCase { public void testKt257 () throws Exception { blackBoxFile("regressions/kt257.jet"); +// System.out.println(generateToText()); } public void testKt613 () throws Exception { From 8cee193f475c61d8d02de66168e3bd4fc2e39d0f Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 1 Dec 2011 14:38:10 +0300 Subject: [PATCH 2/6] Multifile tests supported Example of a multifile test: you create a single file under the "quick" directory and put text of all your test files into it, prepending each file with a comment as follows: // FILE: foo class foo // FILE: bar class bar --- .../org/jetbrains/jet/JetLiteFixture.java | 7 +- .../jet/checkers/CheckerTestUtilTest.java | 1 - .../jet/checkers/JetDiagnosticsTest.java | 175 ++++++++++++++++++ .../jet/checkers/QuickJetPsiCheckerTest.java | 110 ----------- 4 files changed, 181 insertions(+), 112 deletions(-) create mode 100644 compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java delete mode 100644 compiler/tests/org/jetbrains/jet/checkers/QuickJetPsiCheckerTest.java diff --git a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java index 3ed62e38ddb..987ee56ad2c 100644 --- a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java +++ b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java @@ -116,11 +116,16 @@ public abstract class JetLiteFixture extends UsefulTestCase { } protected void createAndCheckPsiFile(String name, String text) { - myFile = createPsiFile(name, text); + myFile = createCheckAndReturnPsiFile(name, text); + } + + protected JetFile createCheckAndReturnPsiFile(String name, String text) { + JetFile myFile = createPsiFile(name, text); ensureParsed(myFile); assertEquals("light virtual file text mismatch", text, ((LightVirtualFile) myFile.getVirtualFile()).getContent().toString()); assertEquals("virtual file text mismatch", text, LoadTextUtil.loadText(myFile.getVirtualFile())); assertEquals("doc text mismatch", text, myFile.getViewProvider().getDocument().getText()); assertEquals("psi text mismatch", text, myFile.getText()); + return myFile; } } diff --git a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java index c7ca9b028ae..1571a7b57d2 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java @@ -1,7 +1,6 @@ package org.jetbrains.jet.checkers; import com.google.common.collect.Lists; -import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiFile; import org.jetbrains.jet.JetLiteFixture; import org.jetbrains.jet.lang.diagnostics.Diagnostic; diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java new file mode 100644 index 00000000000..d15bb1d2cc3 --- /dev/null +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java @@ -0,0 +1,175 @@ +package org.jetbrains.jet.checkers; + +import com.google.common.base.Predicates; +import com.google.common.collect.Lists; +import com.intellij.openapi.util.TextRange; +import com.intellij.psi.PsiFile; +import junit.framework.Test; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.JetLiteFixture; +import org.jetbrains.jet.JetTestCaseBuilder; +import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; +import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils; +import org.jetbrains.jet.lang.psi.JetDeclaration; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.AnalyzingUtils; +import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.lang.resolve.ImportingStrategy; +import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports; + +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author abreslav + */ +public class JetDiagnosticsTest extends JetLiteFixture { + private String name; + public static final Pattern FILE_PATTERN = Pattern.compile("//\\s*FILE:\\s*(.*)$", Pattern.MULTILINE); + + public JetDiagnosticsTest(@NonNls String dataPath, String name) { + super(dataPath); + this.name = name; + } + + @Override + public String getName() { + return "test" + name; + } + + + private class TestFile { + private final List diagnosedRanges = Lists.newArrayList(); + private final String expectedText; + private final String clearText; + private final JetFile jetFile; + + public TestFile(String fileName, String textWithMarkers) { + expectedText = textWithMarkers; + clearText = CheckerTestUtil.parseDiagnosedRanges(expectedText, diagnosedRanges); + jetFile = createCheckAndReturnPsiFile(fileName, clearText); + } + + public void getActualText(BindingContext bindingContext, StringBuilder actualText) { + CheckerTestUtil.diagnosticsDiff(diagnosedRanges, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, jetFile), new CheckerTestUtil.DiagnosticDiffCallbacks() { + @Override + public void missingDiagnostic(String type, int expectedStart, int expectedEnd) { + String message = "Missing " + type + DiagnosticUtils.atLocation(jetFile, new TextRange(expectedStart, expectedEnd)); + System.err.println(message); + } + + @Override + public void unexpectedDiagnostic(String type, int actualStart, int actualEnd) { + String message = "Unexpected " + type + DiagnosticUtils.atLocation(jetFile, new TextRange(actualStart, actualEnd)); + System.err.println(message); + } + }); + + actualText.append(CheckerTestUtil.addDiagnosticMarkersToText(jetFile, bindingContext, AnalyzingUtils.getSyntaxErrorRanges(jetFile))); + } + + } + + @Override + public void runTest() throws Exception { + String testFileName = name + ".jet"; + + String expectedText = loadFile(testFileName); + + List testFileFiles = createTestFiles(testFileName, expectedText); + + boolean importJdk = expectedText.contains("+JDK"); + ImportingStrategy importingStrategy = importJdk ? JavaDefaultImports.JAVA_DEFAULT_IMPORTS : ImportingStrategy.NONE; + + List namespaces = Lists.newArrayList(); + for (TestFile testFileFile : testFileFiles) { + namespaces.add(testFileFile.jetFile.getRootNamespace()); + } + + BindingContext bindingContext = AnalyzingUtils.getInstance(importingStrategy).analyzeNamespaces(getProject(), namespaces, Predicates.alwaysTrue(), JetControlFlowDataTraceFactory.EMPTY); + + StringBuilder actualText = new StringBuilder(); + for (TestFile testFileFile : testFileFiles) { + testFileFile.getActualText(bindingContext, actualText); + } + + assertEquals(expectedText, actualText.toString()); + } + + private List createTestFiles(String testFileName, String expectedText) { + List testFileFiles = Lists.newArrayList(); + Matcher matcher = FILE_PATTERN.matcher(expectedText); + if (!matcher.find()) { + // One file + testFileFiles.add(new TestFile(testFileName, expectedText)); + } + else { + int processedChars = 0; + // Many files + while (true) { + String fileName = matcher.group(1); + int start = matcher.start(); + assertTrue("Characters skipped from " + processedChars + " to " + matcher.start(), start == processedChars); + + boolean nextFileExists = matcher.find(); + int end; + if (nextFileExists) { + end = matcher.start(); + } + else { + end = expectedText.length(); + } + String fileText = expectedText.substring(start, end); + processedChars = end; + + testFileFiles.add(new TestFile(fileName, fileText)); + + if (!nextFileExists) break; + } + assertTrue("Characters skipped from " + processedChars + " to " + (expectedText.length() - 1), processedChars == expectedText.length()); + } + return testFileFiles; + } + + // private void convert(File src, File dest) throws IOException { +// File[] files = src.listFiles(); +// for (File file : files) { +// try { +// if (file.isDirectory()) { +// File destDir = new File(dest, file.getName()); +// destDir.mkdir(); +// convert(file, destDir); +// continue; +// } +// if (!file.getName().endsWith(".jet")) continue; +// String text = doLoadFile(file.getParentFile().getAbsolutePath(), file.getName()); +// Pattern pattern = Pattern.compile(""); +// String clearText = pattern.matcher(text).replaceAll(""); +// createAndCheckPsiFile(name, clearText); +// +// BindingContext bindingContext = AnalyzingUtils.getInstance(ImportingStrategy.NONE).analyzeFileWithCache((JetFile) myFile); +// String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(myFile, bindingContext).toString(); +// +// File destFile = new File(dest, file.getName()); +// FileWriter fileWriter = new FileWriter(destFile); +// fileWriter.write(expectedText); +// fileWriter.close(); +// } +// catch (RuntimeException e) { +// e.printStackTrace(); +// } +// } +// } + + public static Test suite() { + return JetTestCaseBuilder.suiteForDirectory(JetTestCaseBuilder.getTestDataPathBase(), "/checkerWithErrorTypes/quick", true, new JetTestCaseBuilder.NamedTestFactory() { + @NotNull + @Override + public Test createTest(@NotNull String dataPath, @NotNull String name) { + return new JetDiagnosticsTest(dataPath, name); + } + }); + } +} diff --git a/compiler/tests/org/jetbrains/jet/checkers/QuickJetPsiCheckerTest.java b/compiler/tests/org/jetbrains/jet/checkers/QuickJetPsiCheckerTest.java deleted file mode 100644 index fc1609e2865..00000000000 --- a/compiler/tests/org/jetbrains/jet/checkers/QuickJetPsiCheckerTest.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.jetbrains.jet.checkers; - -import com.google.common.collect.Lists; -import com.intellij.openapi.util.TextRange; -import junit.framework.Test; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.JetLiteFixture; -import org.jetbrains.jet.JetTestCaseBuilder; -import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils; -import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.AnalyzingUtils; -import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.ImportingStrategy; -import org.jetbrains.jet.lang.resolve.java.AnalyzerFacade; -import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports; - -import java.util.List; - -/** - * @author abreslav - */ -public class QuickJetPsiCheckerTest extends JetLiteFixture { - private String name; - - public QuickJetPsiCheckerTest(@NonNls String dataPath, String name) { - super(dataPath); - this.name = name; - } - - @Override - public String getName() { - return "test" + name; - } - - @Override - public void runTest() throws Exception { - String expectedText = loadFile(name + ".jet"); - List diagnosedRanges = Lists.newArrayList(); - String clearText = CheckerTestUtil.parseDiagnosedRanges(expectedText, diagnosedRanges); - - createAndCheckPsiFile(name, clearText); - JetFile jetFile = (JetFile) myFile; - - boolean importJdk = expectedText.contains("+JDK"); - ImportingStrategy importingStrategy = importJdk ? JavaDefaultImports.JAVA_DEFAULT_IMPORTS : ImportingStrategy.NONE; - - BindingContext bindingContext = AnalyzerFacade.analyzeFileWithCache(AnalyzingUtils.getInstance(importingStrategy), jetFile, AnalyzerFacade.SINGLE_DECLARATION_PROVIDER); - - CheckerTestUtil.diagnosticsDiff(diagnosedRanges, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, jetFile), new CheckerTestUtil.DiagnosticDiffCallbacks() { - @Override - public void missingDiagnostic(String type, int expectedStart, int expectedEnd) { - String message = "Missing " + type + DiagnosticUtils.atLocation(myFile, new TextRange(expectedStart, expectedEnd)); - System.err.println(message); - } - - @Override - public void unexpectedDiagnostic(String type, int actualStart, int actualEnd) { - String message = "Unexpected " + type + DiagnosticUtils.atLocation(myFile, new TextRange(actualStart, actualEnd)); - System.err.println(message); - } - }); - - String actualText = CheckerTestUtil.addDiagnosticMarkersToText(jetFile, bindingContext, AnalyzingUtils.getSyntaxErrorRanges(jetFile)).toString(); - - assertEquals(expectedText, actualText); - -// convert(new File(myFullDataPath + "/../../checker/"), new File(myFullDataPath)); - } - - // private void convert(File src, File dest) throws IOException { -// File[] files = src.listFiles(); -// for (File file : files) { -// try { -// if (file.isDirectory()) { -// File destDir = new File(dest, file.getName()); -// destDir.mkdir(); -// convert(file, destDir); -// continue; -// } -// if (!file.getName().endsWith(".jet")) continue; -// String text = doLoadFile(file.getParentFile().getAbsolutePath(), file.getName()); -// Pattern pattern = Pattern.compile(""); -// String clearText = pattern.matcher(text).replaceAll(""); -// createAndCheckPsiFile(name, clearText); -// -// BindingContext bindingContext = AnalyzingUtils.getInstance(ImportingStrategy.NONE).analyzeFileWithCache((JetFile) myFile); -// String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(myFile, bindingContext).toString(); -// -// File destFile = new File(dest, file.getName()); -// FileWriter fileWriter = new FileWriter(destFile); -// fileWriter.write(expectedText); -// fileWriter.close(); -// } -// catch (RuntimeException e) { -// e.printStackTrace(); -// } -// } -// } - - public static Test suite() { - return JetTestCaseBuilder.suiteForDirectory(JetTestCaseBuilder.getTestDataPathBase(), "/checkerWithErrorTypes/quick", true, new JetTestCaseBuilder.NamedTestFactory() { - @NotNull - @Override - public Test createTest(@NotNull String dataPath, @NotNull String name) { - return new QuickJetPsiCheckerTest(dataPath, name); - } - }); - } -} From 8e8d74e199983bd4a2f25762cfa9226abc644a6e Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 1 Dec 2011 14:39:14 +0300 Subject: [PATCH 3/6] Test directory renamed to 'diagnostics' which reflects its contents --- .../checkerTestUtil/test.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Abstract.jet | 0 .../quick/AnonymousInitializerVarAndConstructor.jet | 0 .../quick/AnonymousInitializers.jet | 0 .../quick/AutoCreatedIt.jet | 0 .../quick/AutocastAmbiguitites.jet | 0 .../quick/AutocastsForStableIdentifiers.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Basic.jet | 0 .../quick/BinaryCallsOnNullableValues.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Bounds.jet | 0 .../quick/BreakContinue.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Builders.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Casts.jet | 0 .../quick/ClassObjectCannotAccessClassFields.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/ClassObjects.jet | 0 .../quick/ConflictingOverloads.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Constants.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Constructors.jet | 0 .../quick/CovariantOverrideType.jet | 0 .../quick/CyclicHierarchy.jet | 0 .../quick/DefaultValuesTypechecking.jet | 0 .../quick/DeferredTypes.jet | 0 .../quick/DelegationAndOverriding.jet | 0 .../quick/DelegationNotTotrait.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Dollar.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Enums.jet | 0 .../quick/ExtensionFunctions.jet | 0 .../quick/ExtensionsCalledOnSuper.jet | 0 .../quick/ForRangeConventions.jet | 0 .../quick/FunctionCalleeExpressions.jet | 0 .../quick/FunctionReturnTypes.jet | 0 .../quick/GenericArgumentConsistency.jet | 0 .../quick/GenericFunctionIsLessSpecific.jet | 0 .../quick/IllegalModifiers.jet | 0 .../quick/ImportResolutionOrder.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/IncDec.jet | 0 .../quick/IncorrectCharacterLiterals.jet | 0 .../quick/InferNullabilityInThenBlock.jet | 0 .../quick/InnerClassClassObject.jet | 0 .../quick/IsExpressions.jet | 0 .../quick/LValueAssignment.jet | 0 .../quick/MultipleBounds.jet | 0 .../quick/NamedArgumentsAndDefaultValues.jet | 0 .../quick/NamespaceAsExpression.jet | 0 .../quick/NamespaceInExpressionPosition.jet | 0 .../quick/NamespaceQualified.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Nullability.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Objects.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Override.jet | 0 .../quick/OverridingVarByVal.jet | 0 .../quick/PrimaryConstructors.jet | 0 .../quick/ProjectionOnFunctionArgumentErrror.jet | 0 .../quick/ProjectionsInSupertypes.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Properties.jet | 0 .../quick/QualifiedExpressions.jet | 0 .../quick/QualifiedThis.jet | 0 .../quick/RecursiveTypeInference.jet | 0 .../quick/Redeclarations.jet | 0 .../quick/ResolveOfJavaGenerics.jet | 0 .../quick/ResolveToJava.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Return.jet | 0 .../quick/SafeCallNonNullReceiver.jet | 0 .../quick/SafeCallNonNullReceiverReturnNull.jet | 0 .../quick/StringTemplates.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Super.jet | 0 .../quick/SupertypeListChecks.jet | 0 .../quick/SyntaxErrorInTestHighlighting.jet | 0 .../quick/SyntaxErrorInTestHighlightingEof.jet | 0 .../quick/TraitSupertypeList.jet | 0 .../quick/TypeInference.jet | 0 .../quick/UninitializedOrReassignedVariables.jet | 0 .../quick/UnitByDefaultForFunctionTypes.jet | 0 .../quick/UnreachableCode.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Unresolved.jet | 0 .../quick/UnusedVariables.jet | 0 .../quick/ValAndFunOverrideCompatibilityClash.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/VarargTypes.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Varargs.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/Variance.jet | 0 .../{checkerWithErrorTypes => diagnostics}/quick/When.jet | 0 .../quick/backingField/CustomGetSet.jet | 0 .../quick/backingField/CustomGetVal.jet | 0 .../quick/backingField/CustomGetValGlobal.jet | 0 .../quick/backingField/CustomGetVar.jet | 0 .../quick/backingField/CustomSet.jet | 0 .../quick/backingField/CyclicReferenceInitializer.jet | 0 .../quick/backingField/ReadForwardInAnonymous.jet | 0 .../quick/backingField/ReadForwardInPropertyInitializer.jet | 0 .../quick/backingField/ReadInAnonymous.jet | 0 .../quick/backingField/ReadInAnotherPropertyIntializer.jet | 0 .../quick/backingField/ReadInFunction.jet | 0 .../backingField/ReadNonexistentAbstractPropertyInAnonymous.jet | 0 .../backingField/ReadNonexistentAbstractPropertyInFunction.jet | 0 .../quick/backingField/ReadNonexistentCustomGetInAnonymous.jet | 0 .../backingField/ReadNonexistentCustomGetInAnotherInitializer.jet | 0 .../quick/backingField/ReadNonexistentDeclaredInHigher.jet | 0 .../quick/backingField/ReadNonexistentPropertyInAnonymous.jet | 0 .../quick/backingField/WriteNonexistentDeclaredInHigher.jet | 0 .../quick/cast/AsErasedError.jet | 0 .../quick/cast/AsErasedFine.jet | 0 .../quick/cast/AsErasedStar.jet | 0 .../quick/cast/AsErasedWarning.jet | 0 .../quick/cast/IsErasedAllow.jet | 0 .../quick/cast/IsErasedAllowParameterSubtype.jet | 0 .../quick/cast/IsErasedDisallowFromAny.jet | 0 .../quick/cast/IsErasedStar.jet | 0 .../quick/cast/IsReified.jet | 0 .../quick/cast/IsTraits.jet | 0 .../quick/cast/WhenErasedDisallowFromAny.jet | 0 .../quick/control/ForWithoutBraces.jet | 0 .../quick/infos/Autocasts.jet | 0 .../quick/infos/PropertiesWithBackingFields.jet | 0 .../quick/nullabilityAndAutoCasts/InfixCallNullability.jet | 0 .../nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet | 0 .../PreferExtensionsOnNullableReceiver.jet | 0 .../quick/nullabilityAndAutoCasts/ReceiverNullability.jet | 0 .../quick/nullabilityAndAutoCasts/kt362.jet | 0 .../quick/regressions/AmbiguityOnLazyTypeComputation.jet | 0 .../quick/regressions/AssignmentsUnderOperators.jet | 0 .../quick/regressions/CoercionToUnit.jet | 0 .../quick/regressions/DoubleDefine.jet | 0 .../quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet | 0 .../quick/regressions/Jet11.jet | 0 .../quick/regressions/Jet121.jet | 0 .../quick/regressions/Jet124.jet | 0 .../quick/regressions/Jet169.jet | 0 .../quick/regressions/Jet17.jet | 0 .../quick/regressions/Jet183-1.jet | 0 .../quick/regressions/Jet183.jet | 0 .../quick/regressions/Jet53.jet | 0 .../quick/regressions/Jet67.jet | 0 .../quick/regressions/Jet68.jet | 0 .../quick/regressions/Jet69.jet | 0 .../quick/regressions/Jet72.jet | 0 .../quick/regressions/Jet81.jet | 0 .../quick/regressions/OrphanStarProjection.jet | 0 .../quick/regressions/OutProjections.jet | 0 .../quick/regressions/OverrideResolution.jet | 0 .../quick/regressions/ScopeForSecondaryConstructors.jet | 0 .../quick/regressions/SpecififcityByReceiver.jet | 0 .../quick/regressions/ThisConstructorInGenericClass.jet | 0 .../quick/regressions/UnavaliableQualifiedThis.jet | 0 .../quick/regressions/WrongTraceInCallResolver.jet | 0 .../quick/regressions/control-flow-analysis/kt510.jet | 0 .../quick/regressions/control-flow-analysis/kt607.jet | 0 .../quick/regressions/control-flow-analysis/kt609.jet | 0 .../quick/regressions/control-flow-analysis/kt610.jet | 0 .../quick/regressions/kt127.jet | 0 .../quick/regressions/kt128.jet | 0 .../quick/regressions/kt174.jet | 0 .../quick/regressions/kt201.jet | 0 .../quick/regressions/kt235.jet | 0 .../quick/regressions/kt251.jet | 0 .../quick/regressions/kt258.jet | 0 .../quick/regressions/kt26-1.jet | 0 .../quick/regressions/kt26.jet | 0 .../quick/regressions/kt282.jet | 0 .../quick/regressions/kt287.jet | 0 .../quick/regressions/kt302.jet | 0 .../quick/regressions/kt303.jet | 0 .../quick/regressions/kt306.jet | 0 .../quick/regressions/kt307.jet | 0 .../quick/regressions/kt312.jet | 0 .../quick/regressions/kt313.jet | 0 .../quick/regressions/kt316.jet | 0 .../quick/regressions/kt328.jet | 0 .../quick/regressions/kt328Complex.jet | 0 .../quick/regressions/kt328DuplicatedByKt329.jet | 0 .../quick/regressions/kt335.336.jet | 0 .../quick/regressions/kt337.jet | 0 .../quick/regressions/kt352.jet | 0 .../quick/regressions/kt353.jet | 0 .../quick/regressions/kt385.109.441.jet | 0 .../quick/regressions/kt394.jet | 0 .../quick/regressions/kt398.jet | 0 .../quick/regressions/kt399.jet | 0 .../quick/regressions/kt402.jet | 0 .../quick/regressions/kt41.jet | 0 .../quick/regressions/kt411.jet | 0 .../quick/regressions/kt421Scopes.jet | 0 .../quick/regressions/kt439.jet | 0 .../quick/regressions/kt442.jet | 0 .../quick/regressions/kt443.jet | 0 .../quick/regressions/kt455.jet | 0 .../quick/regressions/kt456.jet | 0 .../quick/regressions/kt459.jet | 0 .../quick/regressions/kt469.jet | 0 .../quick/regressions/kt524.jet | 0 .../quick/regressions/kt526UnresolvedReferenceInnerStatic.jet | 0 .../quick/regressions/kt549.jet | 0 .../quick/regressions/kt571.jet | 0 .../quick/regressions/kt575.jet | 0 .../quick/regressions/kt58.jet | 0 .../quick/regressions/kt580.jet | 0 .../quick/regressions/kt588.jet | 0 .../quick/regressions/kt597.jet | 0 .../quick/regressions/kt600.jet | 0 .../quick/regressions/kt604.jet | 0 .../quick/regressions/kt618.jet | 0 .../quick/regressions/kt629.jet | 0 .../quick/regressions/kt630.jet | 0 .../quick/regressions/kt688.jet | 0 .../quick/regressions/kt691.jet | 0 .../quick/shadowing/ShadowParameterInFunctionBody.jet | 0 .../quick/shadowing/ShadowParameterInNestedBlockInFor.jet | 0 .../quick/shadowing/ShadowPropertyInClosure.jet | 0 .../quick/shadowing/ShadowPropertyInFor.jet | 0 .../quick/shadowing/ShadowPropertyInFunction.jet | 0 .../quick/shadowing/ShadowVariableInFor.jet | 0 .../quick/shadowing/ShadowVariableInNestedBlock.jet | 0 .../quick/shadowing/ShadowVariableInNestedClosure.jet | 0 .../quick/shadowing/ShadowVariableInNestedClosureParam.jet | 0 212 files changed, 0 insertions(+), 0 deletions(-) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/checkerTestUtil/test.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Abstract.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/AnonymousInitializerVarAndConstructor.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/AnonymousInitializers.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/AutoCreatedIt.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/AutocastAmbiguitites.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/AutocastsForStableIdentifiers.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Basic.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/BinaryCallsOnNullableValues.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Bounds.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/BreakContinue.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Builders.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Casts.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ClassObjectCannotAccessClassFields.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ClassObjects.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ConflictingOverloads.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Constants.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Constructors.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/CovariantOverrideType.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/CyclicHierarchy.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/DefaultValuesTypechecking.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/DeferredTypes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/DelegationAndOverriding.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/DelegationNotTotrait.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Dollar.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Enums.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ExtensionFunctions.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ExtensionsCalledOnSuper.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ForRangeConventions.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/FunctionCalleeExpressions.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/FunctionReturnTypes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/GenericArgumentConsistency.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/GenericFunctionIsLessSpecific.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/IllegalModifiers.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ImportResolutionOrder.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/IncDec.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/IncorrectCharacterLiterals.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/InferNullabilityInThenBlock.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/InnerClassClassObject.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/IsExpressions.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/LValueAssignment.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/MultipleBounds.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/NamedArgumentsAndDefaultValues.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/NamespaceAsExpression.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/NamespaceInExpressionPosition.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/NamespaceQualified.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Nullability.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Objects.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Override.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/OverridingVarByVal.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/PrimaryConstructors.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ProjectionOnFunctionArgumentErrror.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ProjectionsInSupertypes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Properties.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/QualifiedExpressions.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/QualifiedThis.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/RecursiveTypeInference.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Redeclarations.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ResolveOfJavaGenerics.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ResolveToJava.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Return.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/SafeCallNonNullReceiver.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/SafeCallNonNullReceiverReturnNull.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/StringTemplates.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Super.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/SupertypeListChecks.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/SyntaxErrorInTestHighlighting.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/SyntaxErrorInTestHighlightingEof.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/TraitSupertypeList.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/TypeInference.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/UninitializedOrReassignedVariables.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/UnitByDefaultForFunctionTypes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/UnreachableCode.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Unresolved.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/UnusedVariables.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/ValAndFunOverrideCompatibilityClash.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/VarargTypes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Varargs.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/Variance.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/When.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CustomGetSet.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CustomGetVal.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CustomGetValGlobal.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CustomGetVar.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CustomSet.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/CyclicReferenceInitializer.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadForwardInAnonymous.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadForwardInPropertyInitializer.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadInAnonymous.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadInAnotherPropertyIntializer.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadInFunction.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentDeclaredInHigher.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/ReadNonexistentPropertyInAnonymous.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/backingField/WriteNonexistentDeclaredInHigher.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/AsErasedError.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/AsErasedFine.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/AsErasedStar.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/AsErasedWarning.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsErasedAllow.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsErasedAllowParameterSubtype.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsErasedDisallowFromAny.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsErasedStar.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsReified.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/IsTraits.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/cast/WhenErasedDisallowFromAny.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/control/ForWithoutBraces.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/infos/Autocasts.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/infos/PropertiesWithBackingFields.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/nullabilityAndAutoCasts/InfixCallNullability.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/nullabilityAndAutoCasts/ReceiverNullability.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/nullabilityAndAutoCasts/kt362.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/AmbiguityOnLazyTypeComputation.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/AssignmentsUnderOperators.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/CoercionToUnit.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/DoubleDefine.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet11.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet121.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet124.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet169.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet17.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet183-1.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet183.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet53.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet67.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet68.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet69.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet72.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/Jet81.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/OrphanStarProjection.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/OutProjections.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/OverrideResolution.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/ScopeForSecondaryConstructors.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/SpecififcityByReceiver.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/ThisConstructorInGenericClass.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/UnavaliableQualifiedThis.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/WrongTraceInCallResolver.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/control-flow-analysis/kt510.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/control-flow-analysis/kt607.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/control-flow-analysis/kt609.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/control-flow-analysis/kt610.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt127.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt128.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt174.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt201.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt235.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt251.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt258.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt26-1.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt26.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt282.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt287.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt302.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt303.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt306.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt307.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt312.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt313.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt316.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt328.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt328Complex.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt328DuplicatedByKt329.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt335.336.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt337.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt352.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt353.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt385.109.441.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt394.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt398.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt399.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt402.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt41.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt411.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt421Scopes.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt439.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt442.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt443.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt455.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt456.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt459.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt469.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt524.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt549.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt571.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt575.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt58.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt580.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt588.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt597.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt600.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt604.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt618.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt629.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt630.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt688.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/regressions/kt691.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowParameterInFunctionBody.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowParameterInNestedBlockInFor.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowPropertyInClosure.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowPropertyInFor.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowPropertyInFunction.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowVariableInFor.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowVariableInNestedBlock.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowVariableInNestedClosure.jet (100%) rename compiler/testData/{checkerWithErrorTypes => diagnostics}/quick/shadowing/ShadowVariableInNestedClosureParam.jet (100%) diff --git a/compiler/testData/checkerWithErrorTypes/checkerTestUtil/test.jet b/compiler/testData/diagnostics/checkerTestUtil/test.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/checkerTestUtil/test.jet rename to compiler/testData/diagnostics/checkerTestUtil/test.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Abstract.jet b/compiler/testData/diagnostics/quick/Abstract.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Abstract.jet rename to compiler/testData/diagnostics/quick/Abstract.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/AnonymousInitializerVarAndConstructor.jet b/compiler/testData/diagnostics/quick/AnonymousInitializerVarAndConstructor.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/AnonymousInitializerVarAndConstructor.jet rename to compiler/testData/diagnostics/quick/AnonymousInitializerVarAndConstructor.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/AnonymousInitializers.jet b/compiler/testData/diagnostics/quick/AnonymousInitializers.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/AnonymousInitializers.jet rename to compiler/testData/diagnostics/quick/AnonymousInitializers.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/AutoCreatedIt.jet b/compiler/testData/diagnostics/quick/AutoCreatedIt.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/AutoCreatedIt.jet rename to compiler/testData/diagnostics/quick/AutoCreatedIt.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/AutocastAmbiguitites.jet b/compiler/testData/diagnostics/quick/AutocastAmbiguitites.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/AutocastAmbiguitites.jet rename to compiler/testData/diagnostics/quick/AutocastAmbiguitites.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/AutocastsForStableIdentifiers.jet b/compiler/testData/diagnostics/quick/AutocastsForStableIdentifiers.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/AutocastsForStableIdentifiers.jet rename to compiler/testData/diagnostics/quick/AutocastsForStableIdentifiers.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Basic.jet b/compiler/testData/diagnostics/quick/Basic.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Basic.jet rename to compiler/testData/diagnostics/quick/Basic.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/BinaryCallsOnNullableValues.jet b/compiler/testData/diagnostics/quick/BinaryCallsOnNullableValues.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/BinaryCallsOnNullableValues.jet rename to compiler/testData/diagnostics/quick/BinaryCallsOnNullableValues.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Bounds.jet b/compiler/testData/diagnostics/quick/Bounds.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Bounds.jet rename to compiler/testData/diagnostics/quick/Bounds.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/BreakContinue.jet b/compiler/testData/diagnostics/quick/BreakContinue.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/BreakContinue.jet rename to compiler/testData/diagnostics/quick/BreakContinue.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Builders.jet b/compiler/testData/diagnostics/quick/Builders.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Builders.jet rename to compiler/testData/diagnostics/quick/Builders.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Casts.jet b/compiler/testData/diagnostics/quick/Casts.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Casts.jet rename to compiler/testData/diagnostics/quick/Casts.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ClassObjectCannotAccessClassFields.jet b/compiler/testData/diagnostics/quick/ClassObjectCannotAccessClassFields.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ClassObjectCannotAccessClassFields.jet rename to compiler/testData/diagnostics/quick/ClassObjectCannotAccessClassFields.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ClassObjects.jet b/compiler/testData/diagnostics/quick/ClassObjects.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ClassObjects.jet rename to compiler/testData/diagnostics/quick/ClassObjects.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ConflictingOverloads.jet b/compiler/testData/diagnostics/quick/ConflictingOverloads.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ConflictingOverloads.jet rename to compiler/testData/diagnostics/quick/ConflictingOverloads.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Constants.jet b/compiler/testData/diagnostics/quick/Constants.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Constants.jet rename to compiler/testData/diagnostics/quick/Constants.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Constructors.jet b/compiler/testData/diagnostics/quick/Constructors.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Constructors.jet rename to compiler/testData/diagnostics/quick/Constructors.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/CovariantOverrideType.jet b/compiler/testData/diagnostics/quick/CovariantOverrideType.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/CovariantOverrideType.jet rename to compiler/testData/diagnostics/quick/CovariantOverrideType.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/CyclicHierarchy.jet b/compiler/testData/diagnostics/quick/CyclicHierarchy.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/CyclicHierarchy.jet rename to compiler/testData/diagnostics/quick/CyclicHierarchy.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/DefaultValuesTypechecking.jet b/compiler/testData/diagnostics/quick/DefaultValuesTypechecking.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/DefaultValuesTypechecking.jet rename to compiler/testData/diagnostics/quick/DefaultValuesTypechecking.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/DeferredTypes.jet b/compiler/testData/diagnostics/quick/DeferredTypes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/DeferredTypes.jet rename to compiler/testData/diagnostics/quick/DeferredTypes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/DelegationAndOverriding.jet b/compiler/testData/diagnostics/quick/DelegationAndOverriding.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/DelegationAndOverriding.jet rename to compiler/testData/diagnostics/quick/DelegationAndOverriding.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/DelegationNotTotrait.jet b/compiler/testData/diagnostics/quick/DelegationNotTotrait.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/DelegationNotTotrait.jet rename to compiler/testData/diagnostics/quick/DelegationNotTotrait.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Dollar.jet b/compiler/testData/diagnostics/quick/Dollar.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Dollar.jet rename to compiler/testData/diagnostics/quick/Dollar.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Enums.jet b/compiler/testData/diagnostics/quick/Enums.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Enums.jet rename to compiler/testData/diagnostics/quick/Enums.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ExtensionFunctions.jet b/compiler/testData/diagnostics/quick/ExtensionFunctions.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ExtensionFunctions.jet rename to compiler/testData/diagnostics/quick/ExtensionFunctions.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ExtensionsCalledOnSuper.jet b/compiler/testData/diagnostics/quick/ExtensionsCalledOnSuper.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ExtensionsCalledOnSuper.jet rename to compiler/testData/diagnostics/quick/ExtensionsCalledOnSuper.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ForRangeConventions.jet b/compiler/testData/diagnostics/quick/ForRangeConventions.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ForRangeConventions.jet rename to compiler/testData/diagnostics/quick/ForRangeConventions.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/FunctionCalleeExpressions.jet b/compiler/testData/diagnostics/quick/FunctionCalleeExpressions.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/FunctionCalleeExpressions.jet rename to compiler/testData/diagnostics/quick/FunctionCalleeExpressions.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/FunctionReturnTypes.jet b/compiler/testData/diagnostics/quick/FunctionReturnTypes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/FunctionReturnTypes.jet rename to compiler/testData/diagnostics/quick/FunctionReturnTypes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/GenericArgumentConsistency.jet b/compiler/testData/diagnostics/quick/GenericArgumentConsistency.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/GenericArgumentConsistency.jet rename to compiler/testData/diagnostics/quick/GenericArgumentConsistency.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/GenericFunctionIsLessSpecific.jet b/compiler/testData/diagnostics/quick/GenericFunctionIsLessSpecific.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/GenericFunctionIsLessSpecific.jet rename to compiler/testData/diagnostics/quick/GenericFunctionIsLessSpecific.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/IllegalModifiers.jet b/compiler/testData/diagnostics/quick/IllegalModifiers.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/IllegalModifiers.jet rename to compiler/testData/diagnostics/quick/IllegalModifiers.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ImportResolutionOrder.jet b/compiler/testData/diagnostics/quick/ImportResolutionOrder.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ImportResolutionOrder.jet rename to compiler/testData/diagnostics/quick/ImportResolutionOrder.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/IncDec.jet b/compiler/testData/diagnostics/quick/IncDec.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/IncDec.jet rename to compiler/testData/diagnostics/quick/IncDec.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/IncorrectCharacterLiterals.jet b/compiler/testData/diagnostics/quick/IncorrectCharacterLiterals.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/IncorrectCharacterLiterals.jet rename to compiler/testData/diagnostics/quick/IncorrectCharacterLiterals.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/InferNullabilityInThenBlock.jet b/compiler/testData/diagnostics/quick/InferNullabilityInThenBlock.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/InferNullabilityInThenBlock.jet rename to compiler/testData/diagnostics/quick/InferNullabilityInThenBlock.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/InnerClassClassObject.jet b/compiler/testData/diagnostics/quick/InnerClassClassObject.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/InnerClassClassObject.jet rename to compiler/testData/diagnostics/quick/InnerClassClassObject.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/IsExpressions.jet b/compiler/testData/diagnostics/quick/IsExpressions.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/IsExpressions.jet rename to compiler/testData/diagnostics/quick/IsExpressions.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/LValueAssignment.jet b/compiler/testData/diagnostics/quick/LValueAssignment.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/LValueAssignment.jet rename to compiler/testData/diagnostics/quick/LValueAssignment.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/MultipleBounds.jet b/compiler/testData/diagnostics/quick/MultipleBounds.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/MultipleBounds.jet rename to compiler/testData/diagnostics/quick/MultipleBounds.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/NamedArgumentsAndDefaultValues.jet b/compiler/testData/diagnostics/quick/NamedArgumentsAndDefaultValues.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/NamedArgumentsAndDefaultValues.jet rename to compiler/testData/diagnostics/quick/NamedArgumentsAndDefaultValues.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/NamespaceAsExpression.jet b/compiler/testData/diagnostics/quick/NamespaceAsExpression.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/NamespaceAsExpression.jet rename to compiler/testData/diagnostics/quick/NamespaceAsExpression.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/NamespaceInExpressionPosition.jet b/compiler/testData/diagnostics/quick/NamespaceInExpressionPosition.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/NamespaceInExpressionPosition.jet rename to compiler/testData/diagnostics/quick/NamespaceInExpressionPosition.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/NamespaceQualified.jet b/compiler/testData/diagnostics/quick/NamespaceQualified.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/NamespaceQualified.jet rename to compiler/testData/diagnostics/quick/NamespaceQualified.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Nullability.jet b/compiler/testData/diagnostics/quick/Nullability.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Nullability.jet rename to compiler/testData/diagnostics/quick/Nullability.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Objects.jet b/compiler/testData/diagnostics/quick/Objects.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Objects.jet rename to compiler/testData/diagnostics/quick/Objects.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Override.jet b/compiler/testData/diagnostics/quick/Override.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Override.jet rename to compiler/testData/diagnostics/quick/Override.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/OverridingVarByVal.jet b/compiler/testData/diagnostics/quick/OverridingVarByVal.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/OverridingVarByVal.jet rename to compiler/testData/diagnostics/quick/OverridingVarByVal.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/PrimaryConstructors.jet b/compiler/testData/diagnostics/quick/PrimaryConstructors.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/PrimaryConstructors.jet rename to compiler/testData/diagnostics/quick/PrimaryConstructors.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ProjectionOnFunctionArgumentErrror.jet b/compiler/testData/diagnostics/quick/ProjectionOnFunctionArgumentErrror.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ProjectionOnFunctionArgumentErrror.jet rename to compiler/testData/diagnostics/quick/ProjectionOnFunctionArgumentErrror.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ProjectionsInSupertypes.jet b/compiler/testData/diagnostics/quick/ProjectionsInSupertypes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ProjectionsInSupertypes.jet rename to compiler/testData/diagnostics/quick/ProjectionsInSupertypes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Properties.jet b/compiler/testData/diagnostics/quick/Properties.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Properties.jet rename to compiler/testData/diagnostics/quick/Properties.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/QualifiedExpressions.jet b/compiler/testData/diagnostics/quick/QualifiedExpressions.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/QualifiedExpressions.jet rename to compiler/testData/diagnostics/quick/QualifiedExpressions.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/QualifiedThis.jet b/compiler/testData/diagnostics/quick/QualifiedThis.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/QualifiedThis.jet rename to compiler/testData/diagnostics/quick/QualifiedThis.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/RecursiveTypeInference.jet b/compiler/testData/diagnostics/quick/RecursiveTypeInference.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/RecursiveTypeInference.jet rename to compiler/testData/diagnostics/quick/RecursiveTypeInference.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Redeclarations.jet b/compiler/testData/diagnostics/quick/Redeclarations.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Redeclarations.jet rename to compiler/testData/diagnostics/quick/Redeclarations.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ResolveOfJavaGenerics.jet b/compiler/testData/diagnostics/quick/ResolveOfJavaGenerics.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ResolveOfJavaGenerics.jet rename to compiler/testData/diagnostics/quick/ResolveOfJavaGenerics.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ResolveToJava.jet b/compiler/testData/diagnostics/quick/ResolveToJava.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ResolveToJava.jet rename to compiler/testData/diagnostics/quick/ResolveToJava.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Return.jet b/compiler/testData/diagnostics/quick/Return.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Return.jet rename to compiler/testData/diagnostics/quick/Return.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/SafeCallNonNullReceiver.jet b/compiler/testData/diagnostics/quick/SafeCallNonNullReceiver.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/SafeCallNonNullReceiver.jet rename to compiler/testData/diagnostics/quick/SafeCallNonNullReceiver.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/SafeCallNonNullReceiverReturnNull.jet b/compiler/testData/diagnostics/quick/SafeCallNonNullReceiverReturnNull.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/SafeCallNonNullReceiverReturnNull.jet rename to compiler/testData/diagnostics/quick/SafeCallNonNullReceiverReturnNull.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/StringTemplates.jet b/compiler/testData/diagnostics/quick/StringTemplates.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/StringTemplates.jet rename to compiler/testData/diagnostics/quick/StringTemplates.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Super.jet b/compiler/testData/diagnostics/quick/Super.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Super.jet rename to compiler/testData/diagnostics/quick/Super.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/SupertypeListChecks.jet b/compiler/testData/diagnostics/quick/SupertypeListChecks.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/SupertypeListChecks.jet rename to compiler/testData/diagnostics/quick/SupertypeListChecks.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/SyntaxErrorInTestHighlighting.jet b/compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlighting.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/SyntaxErrorInTestHighlighting.jet rename to compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlighting.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/SyntaxErrorInTestHighlightingEof.jet b/compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlightingEof.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/SyntaxErrorInTestHighlightingEof.jet rename to compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlightingEof.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/TraitSupertypeList.jet b/compiler/testData/diagnostics/quick/TraitSupertypeList.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/TraitSupertypeList.jet rename to compiler/testData/diagnostics/quick/TraitSupertypeList.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/TypeInference.jet b/compiler/testData/diagnostics/quick/TypeInference.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/TypeInference.jet rename to compiler/testData/diagnostics/quick/TypeInference.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/UninitializedOrReassignedVariables.jet b/compiler/testData/diagnostics/quick/UninitializedOrReassignedVariables.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/UninitializedOrReassignedVariables.jet rename to compiler/testData/diagnostics/quick/UninitializedOrReassignedVariables.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/UnitByDefaultForFunctionTypes.jet b/compiler/testData/diagnostics/quick/UnitByDefaultForFunctionTypes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/UnitByDefaultForFunctionTypes.jet rename to compiler/testData/diagnostics/quick/UnitByDefaultForFunctionTypes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/UnreachableCode.jet b/compiler/testData/diagnostics/quick/UnreachableCode.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/UnreachableCode.jet rename to compiler/testData/diagnostics/quick/UnreachableCode.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Unresolved.jet b/compiler/testData/diagnostics/quick/Unresolved.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Unresolved.jet rename to compiler/testData/diagnostics/quick/Unresolved.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/UnusedVariables.jet b/compiler/testData/diagnostics/quick/UnusedVariables.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/UnusedVariables.jet rename to compiler/testData/diagnostics/quick/UnusedVariables.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/ValAndFunOverrideCompatibilityClash.jet b/compiler/testData/diagnostics/quick/ValAndFunOverrideCompatibilityClash.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/ValAndFunOverrideCompatibilityClash.jet rename to compiler/testData/diagnostics/quick/ValAndFunOverrideCompatibilityClash.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/VarargTypes.jet b/compiler/testData/diagnostics/quick/VarargTypes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/VarargTypes.jet rename to compiler/testData/diagnostics/quick/VarargTypes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Varargs.jet b/compiler/testData/diagnostics/quick/Varargs.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Varargs.jet rename to compiler/testData/diagnostics/quick/Varargs.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/Variance.jet b/compiler/testData/diagnostics/quick/Variance.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/Variance.jet rename to compiler/testData/diagnostics/quick/Variance.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/When.jet b/compiler/testData/diagnostics/quick/When.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/When.jet rename to compiler/testData/diagnostics/quick/When.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetSet.jet b/compiler/testData/diagnostics/quick/backingField/CustomGetSet.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetSet.jet rename to compiler/testData/diagnostics/quick/backingField/CustomGetSet.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetVal.jet b/compiler/testData/diagnostics/quick/backingField/CustomGetVal.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetVal.jet rename to compiler/testData/diagnostics/quick/backingField/CustomGetVal.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetValGlobal.jet b/compiler/testData/diagnostics/quick/backingField/CustomGetValGlobal.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetValGlobal.jet rename to compiler/testData/diagnostics/quick/backingField/CustomGetValGlobal.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetVar.jet b/compiler/testData/diagnostics/quick/backingField/CustomGetVar.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CustomGetVar.jet rename to compiler/testData/diagnostics/quick/backingField/CustomGetVar.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CustomSet.jet b/compiler/testData/diagnostics/quick/backingField/CustomSet.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CustomSet.jet rename to compiler/testData/diagnostics/quick/backingField/CustomSet.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/CyclicReferenceInitializer.jet b/compiler/testData/diagnostics/quick/backingField/CyclicReferenceInitializer.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/CyclicReferenceInitializer.jet rename to compiler/testData/diagnostics/quick/backingField/CyclicReferenceInitializer.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadForwardInAnonymous.jet b/compiler/testData/diagnostics/quick/backingField/ReadForwardInAnonymous.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadForwardInAnonymous.jet rename to compiler/testData/diagnostics/quick/backingField/ReadForwardInAnonymous.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadForwardInPropertyInitializer.jet b/compiler/testData/diagnostics/quick/backingField/ReadForwardInPropertyInitializer.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadForwardInPropertyInitializer.jet rename to compiler/testData/diagnostics/quick/backingField/ReadForwardInPropertyInitializer.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInAnonymous.jet b/compiler/testData/diagnostics/quick/backingField/ReadInAnonymous.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInAnonymous.jet rename to compiler/testData/diagnostics/quick/backingField/ReadInAnonymous.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInAnotherPropertyIntializer.jet b/compiler/testData/diagnostics/quick/backingField/ReadInAnotherPropertyIntializer.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInAnotherPropertyIntializer.jet rename to compiler/testData/diagnostics/quick/backingField/ReadInAnotherPropertyIntializer.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInFunction.jet b/compiler/testData/diagnostics/quick/backingField/ReadInFunction.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadInFunction.jet rename to compiler/testData/diagnostics/quick/backingField/ReadInFunction.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentDeclaredInHigher.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentDeclaredInHigher.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentDeclaredInHigher.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentDeclaredInHigher.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentPropertyInAnonymous.jet b/compiler/testData/diagnostics/quick/backingField/ReadNonexistentPropertyInAnonymous.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/ReadNonexistentPropertyInAnonymous.jet rename to compiler/testData/diagnostics/quick/backingField/ReadNonexistentPropertyInAnonymous.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/backingField/WriteNonexistentDeclaredInHigher.jet b/compiler/testData/diagnostics/quick/backingField/WriteNonexistentDeclaredInHigher.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/backingField/WriteNonexistentDeclaredInHigher.jet rename to compiler/testData/diagnostics/quick/backingField/WriteNonexistentDeclaredInHigher.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedError.jet b/compiler/testData/diagnostics/quick/cast/AsErasedError.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedError.jet rename to compiler/testData/diagnostics/quick/cast/AsErasedError.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedFine.jet b/compiler/testData/diagnostics/quick/cast/AsErasedFine.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedFine.jet rename to compiler/testData/diagnostics/quick/cast/AsErasedFine.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedStar.jet b/compiler/testData/diagnostics/quick/cast/AsErasedStar.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedStar.jet rename to compiler/testData/diagnostics/quick/cast/AsErasedStar.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedWarning.jet b/compiler/testData/diagnostics/quick/cast/AsErasedWarning.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/AsErasedWarning.jet rename to compiler/testData/diagnostics/quick/cast/AsErasedWarning.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedAllow.jet b/compiler/testData/diagnostics/quick/cast/IsErasedAllow.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedAllow.jet rename to compiler/testData/diagnostics/quick/cast/IsErasedAllow.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedAllowParameterSubtype.jet b/compiler/testData/diagnostics/quick/cast/IsErasedAllowParameterSubtype.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedAllowParameterSubtype.jet rename to compiler/testData/diagnostics/quick/cast/IsErasedAllowParameterSubtype.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedDisallowFromAny.jet b/compiler/testData/diagnostics/quick/cast/IsErasedDisallowFromAny.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedDisallowFromAny.jet rename to compiler/testData/diagnostics/quick/cast/IsErasedDisallowFromAny.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedStar.jet b/compiler/testData/diagnostics/quick/cast/IsErasedStar.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsErasedStar.jet rename to compiler/testData/diagnostics/quick/cast/IsErasedStar.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsReified.jet b/compiler/testData/diagnostics/quick/cast/IsReified.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsReified.jet rename to compiler/testData/diagnostics/quick/cast/IsReified.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/IsTraits.jet b/compiler/testData/diagnostics/quick/cast/IsTraits.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/IsTraits.jet rename to compiler/testData/diagnostics/quick/cast/IsTraits.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/cast/WhenErasedDisallowFromAny.jet b/compiler/testData/diagnostics/quick/cast/WhenErasedDisallowFromAny.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/cast/WhenErasedDisallowFromAny.jet rename to compiler/testData/diagnostics/quick/cast/WhenErasedDisallowFromAny.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/control/ForWithoutBraces.jet b/compiler/testData/diagnostics/quick/control/ForWithoutBraces.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/control/ForWithoutBraces.jet rename to compiler/testData/diagnostics/quick/control/ForWithoutBraces.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/infos/Autocasts.jet b/compiler/testData/diagnostics/quick/infos/Autocasts.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/infos/Autocasts.jet rename to compiler/testData/diagnostics/quick/infos/Autocasts.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/infos/PropertiesWithBackingFields.jet b/compiler/testData/diagnostics/quick/infos/PropertiesWithBackingFields.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/infos/PropertiesWithBackingFields.jet rename to compiler/testData/diagnostics/quick/infos/PropertiesWithBackingFields.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/InfixCallNullability.jet b/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/InfixCallNullability.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/InfixCallNullability.jet rename to compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/InfixCallNullability.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet b/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet rename to compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet b/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet rename to compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/ReceiverNullability.jet b/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/ReceiverNullability.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/ReceiverNullability.jet rename to compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/ReceiverNullability.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/kt362.jet b/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/kt362.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/nullabilityAndAutoCasts/kt362.jet rename to compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/kt362.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/AmbiguityOnLazyTypeComputation.jet b/compiler/testData/diagnostics/quick/regressions/AmbiguityOnLazyTypeComputation.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/AmbiguityOnLazyTypeComputation.jet rename to compiler/testData/diagnostics/quick/regressions/AmbiguityOnLazyTypeComputation.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/AssignmentsUnderOperators.jet b/compiler/testData/diagnostics/quick/regressions/AssignmentsUnderOperators.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/AssignmentsUnderOperators.jet rename to compiler/testData/diagnostics/quick/regressions/AssignmentsUnderOperators.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/CoercionToUnit.jet b/compiler/testData/diagnostics/quick/regressions/CoercionToUnit.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/CoercionToUnit.jet rename to compiler/testData/diagnostics/quick/regressions/CoercionToUnit.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/DoubleDefine.jet b/compiler/testData/diagnostics/quick/regressions/DoubleDefine.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/DoubleDefine.jet rename to compiler/testData/diagnostics/quick/regressions/DoubleDefine.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet b/compiler/testData/diagnostics/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet rename to compiler/testData/diagnostics/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet11.jet b/compiler/testData/diagnostics/quick/regressions/Jet11.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet11.jet rename to compiler/testData/diagnostics/quick/regressions/Jet11.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet121.jet b/compiler/testData/diagnostics/quick/regressions/Jet121.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet121.jet rename to compiler/testData/diagnostics/quick/regressions/Jet121.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet124.jet b/compiler/testData/diagnostics/quick/regressions/Jet124.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet124.jet rename to compiler/testData/diagnostics/quick/regressions/Jet124.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet169.jet b/compiler/testData/diagnostics/quick/regressions/Jet169.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet169.jet rename to compiler/testData/diagnostics/quick/regressions/Jet169.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet17.jet b/compiler/testData/diagnostics/quick/regressions/Jet17.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet17.jet rename to compiler/testData/diagnostics/quick/regressions/Jet17.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet183-1.jet b/compiler/testData/diagnostics/quick/regressions/Jet183-1.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet183-1.jet rename to compiler/testData/diagnostics/quick/regressions/Jet183-1.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet183.jet b/compiler/testData/diagnostics/quick/regressions/Jet183.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet183.jet rename to compiler/testData/diagnostics/quick/regressions/Jet183.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet53.jet b/compiler/testData/diagnostics/quick/regressions/Jet53.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet53.jet rename to compiler/testData/diagnostics/quick/regressions/Jet53.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet67.jet b/compiler/testData/diagnostics/quick/regressions/Jet67.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet67.jet rename to compiler/testData/diagnostics/quick/regressions/Jet67.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet68.jet b/compiler/testData/diagnostics/quick/regressions/Jet68.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet68.jet rename to compiler/testData/diagnostics/quick/regressions/Jet68.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet69.jet b/compiler/testData/diagnostics/quick/regressions/Jet69.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet69.jet rename to compiler/testData/diagnostics/quick/regressions/Jet69.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet72.jet b/compiler/testData/diagnostics/quick/regressions/Jet72.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet72.jet rename to compiler/testData/diagnostics/quick/regressions/Jet72.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/Jet81.jet b/compiler/testData/diagnostics/quick/regressions/Jet81.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/Jet81.jet rename to compiler/testData/diagnostics/quick/regressions/Jet81.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/OrphanStarProjection.jet b/compiler/testData/diagnostics/quick/regressions/OrphanStarProjection.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/OrphanStarProjection.jet rename to compiler/testData/diagnostics/quick/regressions/OrphanStarProjection.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/OutProjections.jet b/compiler/testData/diagnostics/quick/regressions/OutProjections.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/OutProjections.jet rename to compiler/testData/diagnostics/quick/regressions/OutProjections.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/OverrideResolution.jet b/compiler/testData/diagnostics/quick/regressions/OverrideResolution.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/OverrideResolution.jet rename to compiler/testData/diagnostics/quick/regressions/OverrideResolution.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/ScopeForSecondaryConstructors.jet b/compiler/testData/diagnostics/quick/regressions/ScopeForSecondaryConstructors.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/ScopeForSecondaryConstructors.jet rename to compiler/testData/diagnostics/quick/regressions/ScopeForSecondaryConstructors.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/SpecififcityByReceiver.jet b/compiler/testData/diagnostics/quick/regressions/SpecififcityByReceiver.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/SpecififcityByReceiver.jet rename to compiler/testData/diagnostics/quick/regressions/SpecififcityByReceiver.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/ThisConstructorInGenericClass.jet b/compiler/testData/diagnostics/quick/regressions/ThisConstructorInGenericClass.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/ThisConstructorInGenericClass.jet rename to compiler/testData/diagnostics/quick/regressions/ThisConstructorInGenericClass.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/UnavaliableQualifiedThis.jet b/compiler/testData/diagnostics/quick/regressions/UnavaliableQualifiedThis.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/UnavaliableQualifiedThis.jet rename to compiler/testData/diagnostics/quick/regressions/UnavaliableQualifiedThis.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/WrongTraceInCallResolver.jet b/compiler/testData/diagnostics/quick/regressions/WrongTraceInCallResolver.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/WrongTraceInCallResolver.jet rename to compiler/testData/diagnostics/quick/regressions/WrongTraceInCallResolver.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt510.jet b/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt510.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt510.jet rename to compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt510.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt607.jet b/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt607.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt607.jet rename to compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt607.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt609.jet b/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt609.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt609.jet rename to compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt609.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt610.jet b/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt610.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/control-flow-analysis/kt610.jet rename to compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt610.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt127.jet b/compiler/testData/diagnostics/quick/regressions/kt127.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt127.jet rename to compiler/testData/diagnostics/quick/regressions/kt127.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt128.jet b/compiler/testData/diagnostics/quick/regressions/kt128.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt128.jet rename to compiler/testData/diagnostics/quick/regressions/kt128.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt174.jet b/compiler/testData/diagnostics/quick/regressions/kt174.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt174.jet rename to compiler/testData/diagnostics/quick/regressions/kt174.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt201.jet b/compiler/testData/diagnostics/quick/regressions/kt201.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt201.jet rename to compiler/testData/diagnostics/quick/regressions/kt201.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt235.jet b/compiler/testData/diagnostics/quick/regressions/kt235.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt235.jet rename to compiler/testData/diagnostics/quick/regressions/kt235.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt251.jet b/compiler/testData/diagnostics/quick/regressions/kt251.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt251.jet rename to compiler/testData/diagnostics/quick/regressions/kt251.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt258.jet b/compiler/testData/diagnostics/quick/regressions/kt258.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt258.jet rename to compiler/testData/diagnostics/quick/regressions/kt258.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt26-1.jet b/compiler/testData/diagnostics/quick/regressions/kt26-1.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt26-1.jet rename to compiler/testData/diagnostics/quick/regressions/kt26-1.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt26.jet b/compiler/testData/diagnostics/quick/regressions/kt26.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt26.jet rename to compiler/testData/diagnostics/quick/regressions/kt26.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt282.jet b/compiler/testData/diagnostics/quick/regressions/kt282.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt282.jet rename to compiler/testData/diagnostics/quick/regressions/kt282.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt287.jet b/compiler/testData/diagnostics/quick/regressions/kt287.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt287.jet rename to compiler/testData/diagnostics/quick/regressions/kt287.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt302.jet b/compiler/testData/diagnostics/quick/regressions/kt302.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt302.jet rename to compiler/testData/diagnostics/quick/regressions/kt302.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt303.jet b/compiler/testData/diagnostics/quick/regressions/kt303.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt303.jet rename to compiler/testData/diagnostics/quick/regressions/kt303.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt306.jet b/compiler/testData/diagnostics/quick/regressions/kt306.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt306.jet rename to compiler/testData/diagnostics/quick/regressions/kt306.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt307.jet b/compiler/testData/diagnostics/quick/regressions/kt307.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt307.jet rename to compiler/testData/diagnostics/quick/regressions/kt307.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt312.jet b/compiler/testData/diagnostics/quick/regressions/kt312.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt312.jet rename to compiler/testData/diagnostics/quick/regressions/kt312.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt313.jet b/compiler/testData/diagnostics/quick/regressions/kt313.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt313.jet rename to compiler/testData/diagnostics/quick/regressions/kt313.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt316.jet b/compiler/testData/diagnostics/quick/regressions/kt316.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt316.jet rename to compiler/testData/diagnostics/quick/regressions/kt316.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt328.jet b/compiler/testData/diagnostics/quick/regressions/kt328.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt328.jet rename to compiler/testData/diagnostics/quick/regressions/kt328.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt328Complex.jet b/compiler/testData/diagnostics/quick/regressions/kt328Complex.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt328Complex.jet rename to compiler/testData/diagnostics/quick/regressions/kt328Complex.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt328DuplicatedByKt329.jet b/compiler/testData/diagnostics/quick/regressions/kt328DuplicatedByKt329.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt328DuplicatedByKt329.jet rename to compiler/testData/diagnostics/quick/regressions/kt328DuplicatedByKt329.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt335.336.jet b/compiler/testData/diagnostics/quick/regressions/kt335.336.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt335.336.jet rename to compiler/testData/diagnostics/quick/regressions/kt335.336.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt337.jet b/compiler/testData/diagnostics/quick/regressions/kt337.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt337.jet rename to compiler/testData/diagnostics/quick/regressions/kt337.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt352.jet b/compiler/testData/diagnostics/quick/regressions/kt352.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt352.jet rename to compiler/testData/diagnostics/quick/regressions/kt352.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt353.jet b/compiler/testData/diagnostics/quick/regressions/kt353.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt353.jet rename to compiler/testData/diagnostics/quick/regressions/kt353.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt385.109.441.jet b/compiler/testData/diagnostics/quick/regressions/kt385.109.441.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt385.109.441.jet rename to compiler/testData/diagnostics/quick/regressions/kt385.109.441.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt394.jet b/compiler/testData/diagnostics/quick/regressions/kt394.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt394.jet rename to compiler/testData/diagnostics/quick/regressions/kt394.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt398.jet b/compiler/testData/diagnostics/quick/regressions/kt398.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt398.jet rename to compiler/testData/diagnostics/quick/regressions/kt398.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt399.jet b/compiler/testData/diagnostics/quick/regressions/kt399.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt399.jet rename to compiler/testData/diagnostics/quick/regressions/kt399.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt402.jet b/compiler/testData/diagnostics/quick/regressions/kt402.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt402.jet rename to compiler/testData/diagnostics/quick/regressions/kt402.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt41.jet b/compiler/testData/diagnostics/quick/regressions/kt41.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt41.jet rename to compiler/testData/diagnostics/quick/regressions/kt41.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt411.jet b/compiler/testData/diagnostics/quick/regressions/kt411.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt411.jet rename to compiler/testData/diagnostics/quick/regressions/kt411.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt421Scopes.jet b/compiler/testData/diagnostics/quick/regressions/kt421Scopes.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt421Scopes.jet rename to compiler/testData/diagnostics/quick/regressions/kt421Scopes.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt439.jet b/compiler/testData/diagnostics/quick/regressions/kt439.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt439.jet rename to compiler/testData/diagnostics/quick/regressions/kt439.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt442.jet b/compiler/testData/diagnostics/quick/regressions/kt442.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt442.jet rename to compiler/testData/diagnostics/quick/regressions/kt442.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt443.jet b/compiler/testData/diagnostics/quick/regressions/kt443.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt443.jet rename to compiler/testData/diagnostics/quick/regressions/kt443.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt455.jet b/compiler/testData/diagnostics/quick/regressions/kt455.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt455.jet rename to compiler/testData/diagnostics/quick/regressions/kt455.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt456.jet b/compiler/testData/diagnostics/quick/regressions/kt456.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt456.jet rename to compiler/testData/diagnostics/quick/regressions/kt456.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt459.jet b/compiler/testData/diagnostics/quick/regressions/kt459.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt459.jet rename to compiler/testData/diagnostics/quick/regressions/kt459.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt469.jet b/compiler/testData/diagnostics/quick/regressions/kt469.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt469.jet rename to compiler/testData/diagnostics/quick/regressions/kt469.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt524.jet b/compiler/testData/diagnostics/quick/regressions/kt524.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt524.jet rename to compiler/testData/diagnostics/quick/regressions/kt524.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet b/compiler/testData/diagnostics/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet rename to compiler/testData/diagnostics/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt549.jet b/compiler/testData/diagnostics/quick/regressions/kt549.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt549.jet rename to compiler/testData/diagnostics/quick/regressions/kt549.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt571.jet b/compiler/testData/diagnostics/quick/regressions/kt571.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt571.jet rename to compiler/testData/diagnostics/quick/regressions/kt571.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt575.jet b/compiler/testData/diagnostics/quick/regressions/kt575.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt575.jet rename to compiler/testData/diagnostics/quick/regressions/kt575.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt58.jet b/compiler/testData/diagnostics/quick/regressions/kt58.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt58.jet rename to compiler/testData/diagnostics/quick/regressions/kt58.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt580.jet b/compiler/testData/diagnostics/quick/regressions/kt580.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt580.jet rename to compiler/testData/diagnostics/quick/regressions/kt580.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt588.jet b/compiler/testData/diagnostics/quick/regressions/kt588.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt588.jet rename to compiler/testData/diagnostics/quick/regressions/kt588.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt597.jet b/compiler/testData/diagnostics/quick/regressions/kt597.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt597.jet rename to compiler/testData/diagnostics/quick/regressions/kt597.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt600.jet b/compiler/testData/diagnostics/quick/regressions/kt600.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt600.jet rename to compiler/testData/diagnostics/quick/regressions/kt600.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt604.jet b/compiler/testData/diagnostics/quick/regressions/kt604.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt604.jet rename to compiler/testData/diagnostics/quick/regressions/kt604.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt618.jet b/compiler/testData/diagnostics/quick/regressions/kt618.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt618.jet rename to compiler/testData/diagnostics/quick/regressions/kt618.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt629.jet b/compiler/testData/diagnostics/quick/regressions/kt629.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt629.jet rename to compiler/testData/diagnostics/quick/regressions/kt629.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt630.jet b/compiler/testData/diagnostics/quick/regressions/kt630.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt630.jet rename to compiler/testData/diagnostics/quick/regressions/kt630.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt688.jet b/compiler/testData/diagnostics/quick/regressions/kt688.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt688.jet rename to compiler/testData/diagnostics/quick/regressions/kt688.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/regressions/kt691.jet b/compiler/testData/diagnostics/quick/regressions/kt691.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/regressions/kt691.jet rename to compiler/testData/diagnostics/quick/regressions/kt691.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowParameterInFunctionBody.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowParameterInFunctionBody.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowParameterInFunctionBody.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowParameterInFunctionBody.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowParameterInNestedBlockInFor.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowParameterInNestedBlockInFor.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowParameterInNestedBlockInFor.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowParameterInNestedBlockInFor.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInClosure.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInClosure.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInClosure.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInClosure.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInFor.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFor.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInFor.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFor.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInFunction.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFunction.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowPropertyInFunction.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFunction.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInFor.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInFor.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInFor.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowVariableInFor.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedBlock.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedBlock.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedBlock.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedBlock.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedClosure.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosure.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedClosure.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosure.jet diff --git a/compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedClosureParam.jet b/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosureParam.jet similarity index 100% rename from compiler/testData/checkerWithErrorTypes/quick/shadowing/ShadowVariableInNestedClosureParam.jet rename to compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosureParam.jet From aad2d17cd83685e395d4cbf5b1f45016de85a151 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 1 Dec 2011 14:40:31 +0300 Subject: [PATCH 4/6] 'quick' directory renamed to 'tests' which reflects its contents --- compiler/testData/diagnostics/{quick => tests}/Abstract.jet | 0 .../{quick => tests}/AnonymousInitializerVarAndConstructor.jet | 0 .../diagnostics/{quick => tests}/AnonymousInitializers.jet | 0 .../testData/diagnostics/{quick => tests}/AutoCreatedIt.jet | 0 .../diagnostics/{quick => tests}/AutocastAmbiguitites.jet | 0 .../{quick => tests}/AutocastsForStableIdentifiers.jet | 0 compiler/testData/diagnostics/{quick => tests}/Basic.jet | 0 .../{quick => tests}/BinaryCallsOnNullableValues.jet | 0 compiler/testData/diagnostics/{quick => tests}/Bounds.jet | 0 .../testData/diagnostics/{quick => tests}/BreakContinue.jet | 0 compiler/testData/diagnostics/{quick => tests}/Builders.jet | 0 compiler/testData/diagnostics/{quick => tests}/Casts.jet | 0 .../{quick => tests}/ClassObjectCannotAccessClassFields.jet | 0 compiler/testData/diagnostics/{quick => tests}/ClassObjects.jet | 0 .../diagnostics/{quick => tests}/ConflictingOverloads.jet | 0 compiler/testData/diagnostics/{quick => tests}/Constants.jet | 0 compiler/testData/diagnostics/{quick => tests}/Constructors.jet | 0 .../diagnostics/{quick => tests}/CovariantOverrideType.jet | 0 .../testData/diagnostics/{quick => tests}/CyclicHierarchy.jet | 0 .../diagnostics/{quick => tests}/DefaultValuesTypechecking.jet | 0 .../testData/diagnostics/{quick => tests}/DeferredTypes.jet | 0 .../diagnostics/{quick => tests}/DelegationAndOverriding.jet | 0 .../diagnostics/{quick => tests}/DelegationNotTotrait.jet | 0 compiler/testData/diagnostics/{quick => tests}/Dollar.jet | 0 compiler/testData/diagnostics/{quick => tests}/Enums.jet | 0 .../diagnostics/{quick => tests}/ExtensionFunctions.jet | 0 .../diagnostics/{quick => tests}/ExtensionsCalledOnSuper.jet | 0 .../diagnostics/{quick => tests}/ForRangeConventions.jet | 0 .../diagnostics/{quick => tests}/FunctionCalleeExpressions.jet | 0 .../diagnostics/{quick => tests}/FunctionReturnTypes.jet | 0 .../diagnostics/{quick => tests}/GenericArgumentConsistency.jet | 0 .../{quick => tests}/GenericFunctionIsLessSpecific.jet | 0 .../testData/diagnostics/{quick => tests}/IllegalModifiers.jet | 0 .../diagnostics/{quick => tests}/ImportResolutionOrder.jet | 0 compiler/testData/diagnostics/{quick => tests}/IncDec.jet | 0 .../diagnostics/{quick => tests}/IncorrectCharacterLiterals.jet | 0 .../{quick => tests}/InferNullabilityInThenBlock.jet | 0 .../diagnostics/{quick => tests}/InnerClassClassObject.jet | 0 .../testData/diagnostics/{quick => tests}/IsExpressions.jet | 0 .../testData/diagnostics/{quick => tests}/LValueAssignment.jet | 0 .../testData/diagnostics/{quick => tests}/MultipleBounds.jet | 0 .../{quick => tests}/NamedArgumentsAndDefaultValues.jet | 0 .../diagnostics/{quick => tests}/NamespaceAsExpression.jet | 0 .../{quick => tests}/NamespaceInExpressionPosition.jet | 0 .../diagnostics/{quick => tests}/NamespaceQualified.jet | 0 compiler/testData/diagnostics/{quick => tests}/Nullability.jet | 0 compiler/testData/diagnostics/{quick => tests}/Objects.jet | 0 compiler/testData/diagnostics/{quick => tests}/Override.jet | 0 .../diagnostics/{quick => tests}/OverridingVarByVal.jet | 0 .../diagnostics/{quick => tests}/PrimaryConstructors.jet | 0 .../{quick => tests}/ProjectionOnFunctionArgumentErrror.jet | 0 .../diagnostics/{quick => tests}/ProjectionsInSupertypes.jet | 0 compiler/testData/diagnostics/{quick => tests}/Properties.jet | 0 .../diagnostics/{quick => tests}/QualifiedExpressions.jet | 0 .../testData/diagnostics/{quick => tests}/QualifiedThis.jet | 0 .../diagnostics/{quick => tests}/RecursiveTypeInference.jet | 0 .../testData/diagnostics/{quick => tests}/Redeclarations.jet | 0 .../diagnostics/{quick => tests}/ResolveOfJavaGenerics.jet | 0 .../testData/diagnostics/{quick => tests}/ResolveToJava.jet | 0 compiler/testData/diagnostics/{quick => tests}/Return.jet | 0 .../diagnostics/{quick => tests}/SafeCallNonNullReceiver.jet | 0 .../{quick => tests}/SafeCallNonNullReceiverReturnNull.jet | 0 .../testData/diagnostics/{quick => tests}/StringTemplates.jet | 0 compiler/testData/diagnostics/{quick => tests}/Super.jet | 0 .../diagnostics/{quick => tests}/SupertypeListChecks.jet | 0 .../{quick => tests}/SyntaxErrorInTestHighlighting.jet | 0 .../{quick => tests}/SyntaxErrorInTestHighlightingEof.jet | 0 .../diagnostics/{quick => tests}/TraitSupertypeList.jet | 0 .../testData/diagnostics/{quick => tests}/TypeInference.jet | 0 .../{quick => tests}/UninitializedOrReassignedVariables.jet | 0 .../{quick => tests}/UnitByDefaultForFunctionTypes.jet | 0 .../testData/diagnostics/{quick => tests}/UnreachableCode.jet | 0 compiler/testData/diagnostics/{quick => tests}/Unresolved.jet | 0 .../testData/diagnostics/{quick => tests}/UnusedVariables.jet | 0 .../{quick => tests}/ValAndFunOverrideCompatibilityClash.jet | 0 compiler/testData/diagnostics/{quick => tests}/VarargTypes.jet | 0 compiler/testData/diagnostics/{quick => tests}/Varargs.jet | 0 compiler/testData/diagnostics/{quick => tests}/Variance.jet | 0 compiler/testData/diagnostics/{quick => tests}/When.jet | 0 .../diagnostics/{quick => tests}/backingField/CustomGetSet.jet | 0 .../diagnostics/{quick => tests}/backingField/CustomGetVal.jet | 0 .../{quick => tests}/backingField/CustomGetValGlobal.jet | 0 .../diagnostics/{quick => tests}/backingField/CustomGetVar.jet | 0 .../diagnostics/{quick => tests}/backingField/CustomSet.jet | 0 .../backingField/CyclicReferenceInitializer.jet | 0 .../{quick => tests}/backingField/ReadForwardInAnonymous.jet | 0 .../backingField/ReadForwardInPropertyInitializer.jet | 0 .../{quick => tests}/backingField/ReadInAnonymous.jet | 0 .../backingField/ReadInAnotherPropertyIntializer.jet | 0 .../{quick => tests}/backingField/ReadInFunction.jet | 0 .../backingField/ReadNonexistentAbstractPropertyInAnonymous.jet | 0 .../backingField/ReadNonexistentAbstractPropertyInFunction.jet | 0 .../backingField/ReadNonexistentCustomGetInAnonymous.jet | 0 .../ReadNonexistentCustomGetInAnotherInitializer.jet | 0 .../backingField/ReadNonexistentDeclaredInHigher.jet | 0 .../backingField/ReadNonexistentPropertyInAnonymous.jet | 0 .../backingField/WriteNonexistentDeclaredInHigher.jet | 0 .../diagnostics/{quick => tests}/cast/AsErasedError.jet | 0 .../testData/diagnostics/{quick => tests}/cast/AsErasedFine.jet | 0 .../testData/diagnostics/{quick => tests}/cast/AsErasedStar.jet | 0 .../diagnostics/{quick => tests}/cast/AsErasedWarning.jet | 0 .../diagnostics/{quick => tests}/cast/IsErasedAllow.jet | 0 .../{quick => tests}/cast/IsErasedAllowParameterSubtype.jet | 0 .../{quick => tests}/cast/IsErasedDisallowFromAny.jet | 0 .../testData/diagnostics/{quick => tests}/cast/IsErasedStar.jet | 0 .../testData/diagnostics/{quick => tests}/cast/IsReified.jet | 0 .../testData/diagnostics/{quick => tests}/cast/IsTraits.jet | 0 .../{quick => tests}/cast/WhenErasedDisallowFromAny.jet | 0 .../diagnostics/{quick => tests}/control/ForWithoutBraces.jet | 0 .../testData/diagnostics/{quick => tests}/infos/Autocasts.jet | 0 .../{quick => tests}/infos/PropertiesWithBackingFields.jet | 0 .../nullabilityAndAutoCasts/InfixCallNullability.jet | 0 .../nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet | 0 .../PreferExtensionsOnNullableReceiver.jet | 0 .../nullabilityAndAutoCasts/ReceiverNullability.jet | 0 .../{quick => tests}/nullabilityAndAutoCasts/kt362.jet | 0 .../regressions/AmbiguityOnLazyTypeComputation.jet | 0 .../{quick => tests}/regressions/AssignmentsUnderOperators.jet | 0 .../diagnostics/{quick => tests}/regressions/CoercionToUnit.jet | 0 .../diagnostics/{quick => tests}/regressions/DoubleDefine.jet | 0 .../regressions/ErrorsOnIbjectExpressionsAsParameters.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet11.jet | 0 .../diagnostics/{quick => tests}/regressions/Jet121.jet | 0 .../diagnostics/{quick => tests}/regressions/Jet124.jet | 0 .../diagnostics/{quick => tests}/regressions/Jet169.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet17.jet | 0 .../diagnostics/{quick => tests}/regressions/Jet183-1.jet | 0 .../diagnostics/{quick => tests}/regressions/Jet183.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet53.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet67.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet68.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet69.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet72.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/Jet81.jet | 0 .../{quick => tests}/regressions/OrphanStarProjection.jet | 0 .../diagnostics/{quick => tests}/regressions/OutProjections.jet | 0 .../{quick => tests}/regressions/OverrideResolution.jet | 0 .../regressions/ScopeForSecondaryConstructors.jet | 0 .../{quick => tests}/regressions/SpecififcityByReceiver.jet | 0 .../regressions/ThisConstructorInGenericClass.jet | 0 .../{quick => tests}/regressions/UnavaliableQualifiedThis.jet | 0 .../{quick => tests}/regressions/WrongTraceInCallResolver.jet | 0 .../regressions/control-flow-analysis/kt510.jet | 0 .../regressions/control-flow-analysis/kt607.jet | 0 .../regressions/control-flow-analysis/kt609.jet | 0 .../regressions/control-flow-analysis/kt610.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt127.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt128.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt174.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt201.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt235.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt251.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt258.jet | 0 .../diagnostics/{quick => tests}/regressions/kt26-1.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt26.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt282.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt287.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt302.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt303.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt306.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt307.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt312.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt313.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt316.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt328.jet | 0 .../diagnostics/{quick => tests}/regressions/kt328Complex.jet | 0 .../{quick => tests}/regressions/kt328DuplicatedByKt329.jet | 0 .../diagnostics/{quick => tests}/regressions/kt335.336.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt337.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt352.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt353.jet | 0 .../diagnostics/{quick => tests}/regressions/kt385.109.441.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt394.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt398.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt399.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt402.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt41.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt411.jet | 0 .../diagnostics/{quick => tests}/regressions/kt421Scopes.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt439.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt442.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt443.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt455.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt456.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt459.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt469.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt524.jet | 0 .../regressions/kt526UnresolvedReferenceInnerStatic.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt549.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt571.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt575.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt58.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt580.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt588.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt597.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt600.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt604.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt618.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt629.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt630.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt688.jet | 0 .../testData/diagnostics/{quick => tests}/regressions/kt691.jet | 0 .../shadowing/ShadowParameterInFunctionBody.jet | 0 .../shadowing/ShadowParameterInNestedBlockInFor.jet | 0 .../{quick => tests}/shadowing/ShadowPropertyInClosure.jet | 0 .../{quick => tests}/shadowing/ShadowPropertyInFor.jet | 0 .../{quick => tests}/shadowing/ShadowPropertyInFunction.jet | 0 .../{quick => tests}/shadowing/ShadowVariableInFor.jet | 0 .../{quick => tests}/shadowing/ShadowVariableInNestedBlock.jet | 0 .../shadowing/ShadowVariableInNestedClosure.jet | 0 .../shadowing/ShadowVariableInNestedClosureParam.jet | 0 .../tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java | 2 +- .../tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java | 2 +- 213 files changed, 2 insertions(+), 2 deletions(-) rename compiler/testData/diagnostics/{quick => tests}/Abstract.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/AnonymousInitializerVarAndConstructor.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/AnonymousInitializers.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/AutoCreatedIt.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/AutocastAmbiguitites.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/AutocastsForStableIdentifiers.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Basic.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/BinaryCallsOnNullableValues.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Bounds.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/BreakContinue.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Builders.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Casts.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ClassObjectCannotAccessClassFields.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ClassObjects.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ConflictingOverloads.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Constants.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Constructors.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/CovariantOverrideType.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/CyclicHierarchy.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/DefaultValuesTypechecking.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/DeferredTypes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/DelegationAndOverriding.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/DelegationNotTotrait.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Dollar.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Enums.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ExtensionFunctions.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ExtensionsCalledOnSuper.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ForRangeConventions.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/FunctionCalleeExpressions.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/FunctionReturnTypes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/GenericArgumentConsistency.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/GenericFunctionIsLessSpecific.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/IllegalModifiers.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ImportResolutionOrder.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/IncDec.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/IncorrectCharacterLiterals.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/InferNullabilityInThenBlock.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/InnerClassClassObject.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/IsExpressions.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/LValueAssignment.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/MultipleBounds.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/NamedArgumentsAndDefaultValues.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/NamespaceAsExpression.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/NamespaceInExpressionPosition.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/NamespaceQualified.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Nullability.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Objects.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Override.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/OverridingVarByVal.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/PrimaryConstructors.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ProjectionOnFunctionArgumentErrror.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ProjectionsInSupertypes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Properties.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/QualifiedExpressions.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/QualifiedThis.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/RecursiveTypeInference.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Redeclarations.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ResolveOfJavaGenerics.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ResolveToJava.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Return.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/SafeCallNonNullReceiver.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/SafeCallNonNullReceiverReturnNull.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/StringTemplates.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Super.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/SupertypeListChecks.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/SyntaxErrorInTestHighlighting.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/SyntaxErrorInTestHighlightingEof.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/TraitSupertypeList.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/TypeInference.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/UninitializedOrReassignedVariables.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/UnitByDefaultForFunctionTypes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/UnreachableCode.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Unresolved.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/UnusedVariables.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/ValAndFunOverrideCompatibilityClash.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/VarargTypes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Varargs.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/Variance.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/When.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CustomGetSet.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CustomGetVal.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CustomGetValGlobal.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CustomGetVar.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CustomSet.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/CyclicReferenceInitializer.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadForwardInAnonymous.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadForwardInPropertyInitializer.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadInAnonymous.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadInAnotherPropertyIntializer.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadInFunction.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentAbstractPropertyInFunction.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentCustomGetInAnonymous.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentDeclaredInHigher.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/ReadNonexistentPropertyInAnonymous.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/backingField/WriteNonexistentDeclaredInHigher.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/AsErasedError.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/AsErasedFine.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/AsErasedStar.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/AsErasedWarning.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsErasedAllow.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsErasedAllowParameterSubtype.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsErasedDisallowFromAny.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsErasedStar.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsReified.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/IsTraits.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/cast/WhenErasedDisallowFromAny.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/control/ForWithoutBraces.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/infos/Autocasts.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/infos/PropertiesWithBackingFields.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/nullabilityAndAutoCasts/InfixCallNullability.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/nullabilityAndAutoCasts/ReceiverNullability.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/nullabilityAndAutoCasts/kt362.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/AmbiguityOnLazyTypeComputation.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/AssignmentsUnderOperators.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/CoercionToUnit.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/DoubleDefine.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/ErrorsOnIbjectExpressionsAsParameters.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet11.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet121.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet124.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet169.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet17.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet183-1.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet183.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet53.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet67.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet68.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet69.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet72.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/Jet81.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/OrphanStarProjection.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/OutProjections.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/OverrideResolution.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/ScopeForSecondaryConstructors.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/SpecififcityByReceiver.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/ThisConstructorInGenericClass.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/UnavaliableQualifiedThis.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/WrongTraceInCallResolver.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/control-flow-analysis/kt510.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/control-flow-analysis/kt607.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/control-flow-analysis/kt609.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/control-flow-analysis/kt610.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt127.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt128.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt174.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt201.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt235.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt251.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt258.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt26-1.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt26.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt282.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt287.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt302.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt303.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt306.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt307.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt312.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt313.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt316.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt328.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt328Complex.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt328DuplicatedByKt329.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt335.336.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt337.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt352.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt353.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt385.109.441.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt394.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt398.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt399.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt402.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt41.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt411.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt421Scopes.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt439.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt442.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt443.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt455.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt456.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt459.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt469.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt524.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt526UnresolvedReferenceInnerStatic.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt549.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt571.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt575.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt58.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt580.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt588.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt597.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt600.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt604.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt618.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt629.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt630.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt688.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/regressions/kt691.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowParameterInFunctionBody.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowParameterInNestedBlockInFor.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowPropertyInClosure.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowPropertyInFor.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowPropertyInFunction.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowVariableInFor.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowVariableInNestedBlock.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowVariableInNestedClosure.jet (100%) rename compiler/testData/diagnostics/{quick => tests}/shadowing/ShadowVariableInNestedClosureParam.jet (100%) diff --git a/compiler/testData/diagnostics/quick/Abstract.jet b/compiler/testData/diagnostics/tests/Abstract.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Abstract.jet rename to compiler/testData/diagnostics/tests/Abstract.jet diff --git a/compiler/testData/diagnostics/quick/AnonymousInitializerVarAndConstructor.jet b/compiler/testData/diagnostics/tests/AnonymousInitializerVarAndConstructor.jet similarity index 100% rename from compiler/testData/diagnostics/quick/AnonymousInitializerVarAndConstructor.jet rename to compiler/testData/diagnostics/tests/AnonymousInitializerVarAndConstructor.jet diff --git a/compiler/testData/diagnostics/quick/AnonymousInitializers.jet b/compiler/testData/diagnostics/tests/AnonymousInitializers.jet similarity index 100% rename from compiler/testData/diagnostics/quick/AnonymousInitializers.jet rename to compiler/testData/diagnostics/tests/AnonymousInitializers.jet diff --git a/compiler/testData/diagnostics/quick/AutoCreatedIt.jet b/compiler/testData/diagnostics/tests/AutoCreatedIt.jet similarity index 100% rename from compiler/testData/diagnostics/quick/AutoCreatedIt.jet rename to compiler/testData/diagnostics/tests/AutoCreatedIt.jet diff --git a/compiler/testData/diagnostics/quick/AutocastAmbiguitites.jet b/compiler/testData/diagnostics/tests/AutocastAmbiguitites.jet similarity index 100% rename from compiler/testData/diagnostics/quick/AutocastAmbiguitites.jet rename to compiler/testData/diagnostics/tests/AutocastAmbiguitites.jet diff --git a/compiler/testData/diagnostics/quick/AutocastsForStableIdentifiers.jet b/compiler/testData/diagnostics/tests/AutocastsForStableIdentifiers.jet similarity index 100% rename from compiler/testData/diagnostics/quick/AutocastsForStableIdentifiers.jet rename to compiler/testData/diagnostics/tests/AutocastsForStableIdentifiers.jet diff --git a/compiler/testData/diagnostics/quick/Basic.jet b/compiler/testData/diagnostics/tests/Basic.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Basic.jet rename to compiler/testData/diagnostics/tests/Basic.jet diff --git a/compiler/testData/diagnostics/quick/BinaryCallsOnNullableValues.jet b/compiler/testData/diagnostics/tests/BinaryCallsOnNullableValues.jet similarity index 100% rename from compiler/testData/diagnostics/quick/BinaryCallsOnNullableValues.jet rename to compiler/testData/diagnostics/tests/BinaryCallsOnNullableValues.jet diff --git a/compiler/testData/diagnostics/quick/Bounds.jet b/compiler/testData/diagnostics/tests/Bounds.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Bounds.jet rename to compiler/testData/diagnostics/tests/Bounds.jet diff --git a/compiler/testData/diagnostics/quick/BreakContinue.jet b/compiler/testData/diagnostics/tests/BreakContinue.jet similarity index 100% rename from compiler/testData/diagnostics/quick/BreakContinue.jet rename to compiler/testData/diagnostics/tests/BreakContinue.jet diff --git a/compiler/testData/diagnostics/quick/Builders.jet b/compiler/testData/diagnostics/tests/Builders.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Builders.jet rename to compiler/testData/diagnostics/tests/Builders.jet diff --git a/compiler/testData/diagnostics/quick/Casts.jet b/compiler/testData/diagnostics/tests/Casts.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Casts.jet rename to compiler/testData/diagnostics/tests/Casts.jet diff --git a/compiler/testData/diagnostics/quick/ClassObjectCannotAccessClassFields.jet b/compiler/testData/diagnostics/tests/ClassObjectCannotAccessClassFields.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ClassObjectCannotAccessClassFields.jet rename to compiler/testData/diagnostics/tests/ClassObjectCannotAccessClassFields.jet diff --git a/compiler/testData/diagnostics/quick/ClassObjects.jet b/compiler/testData/diagnostics/tests/ClassObjects.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ClassObjects.jet rename to compiler/testData/diagnostics/tests/ClassObjects.jet diff --git a/compiler/testData/diagnostics/quick/ConflictingOverloads.jet b/compiler/testData/diagnostics/tests/ConflictingOverloads.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ConflictingOverloads.jet rename to compiler/testData/diagnostics/tests/ConflictingOverloads.jet diff --git a/compiler/testData/diagnostics/quick/Constants.jet b/compiler/testData/diagnostics/tests/Constants.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Constants.jet rename to compiler/testData/diagnostics/tests/Constants.jet diff --git a/compiler/testData/diagnostics/quick/Constructors.jet b/compiler/testData/diagnostics/tests/Constructors.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Constructors.jet rename to compiler/testData/diagnostics/tests/Constructors.jet diff --git a/compiler/testData/diagnostics/quick/CovariantOverrideType.jet b/compiler/testData/diagnostics/tests/CovariantOverrideType.jet similarity index 100% rename from compiler/testData/diagnostics/quick/CovariantOverrideType.jet rename to compiler/testData/diagnostics/tests/CovariantOverrideType.jet diff --git a/compiler/testData/diagnostics/quick/CyclicHierarchy.jet b/compiler/testData/diagnostics/tests/CyclicHierarchy.jet similarity index 100% rename from compiler/testData/diagnostics/quick/CyclicHierarchy.jet rename to compiler/testData/diagnostics/tests/CyclicHierarchy.jet diff --git a/compiler/testData/diagnostics/quick/DefaultValuesTypechecking.jet b/compiler/testData/diagnostics/tests/DefaultValuesTypechecking.jet similarity index 100% rename from compiler/testData/diagnostics/quick/DefaultValuesTypechecking.jet rename to compiler/testData/diagnostics/tests/DefaultValuesTypechecking.jet diff --git a/compiler/testData/diagnostics/quick/DeferredTypes.jet b/compiler/testData/diagnostics/tests/DeferredTypes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/DeferredTypes.jet rename to compiler/testData/diagnostics/tests/DeferredTypes.jet diff --git a/compiler/testData/diagnostics/quick/DelegationAndOverriding.jet b/compiler/testData/diagnostics/tests/DelegationAndOverriding.jet similarity index 100% rename from compiler/testData/diagnostics/quick/DelegationAndOverriding.jet rename to compiler/testData/diagnostics/tests/DelegationAndOverriding.jet diff --git a/compiler/testData/diagnostics/quick/DelegationNotTotrait.jet b/compiler/testData/diagnostics/tests/DelegationNotTotrait.jet similarity index 100% rename from compiler/testData/diagnostics/quick/DelegationNotTotrait.jet rename to compiler/testData/diagnostics/tests/DelegationNotTotrait.jet diff --git a/compiler/testData/diagnostics/quick/Dollar.jet b/compiler/testData/diagnostics/tests/Dollar.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Dollar.jet rename to compiler/testData/diagnostics/tests/Dollar.jet diff --git a/compiler/testData/diagnostics/quick/Enums.jet b/compiler/testData/diagnostics/tests/Enums.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Enums.jet rename to compiler/testData/diagnostics/tests/Enums.jet diff --git a/compiler/testData/diagnostics/quick/ExtensionFunctions.jet b/compiler/testData/diagnostics/tests/ExtensionFunctions.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ExtensionFunctions.jet rename to compiler/testData/diagnostics/tests/ExtensionFunctions.jet diff --git a/compiler/testData/diagnostics/quick/ExtensionsCalledOnSuper.jet b/compiler/testData/diagnostics/tests/ExtensionsCalledOnSuper.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ExtensionsCalledOnSuper.jet rename to compiler/testData/diagnostics/tests/ExtensionsCalledOnSuper.jet diff --git a/compiler/testData/diagnostics/quick/ForRangeConventions.jet b/compiler/testData/diagnostics/tests/ForRangeConventions.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ForRangeConventions.jet rename to compiler/testData/diagnostics/tests/ForRangeConventions.jet diff --git a/compiler/testData/diagnostics/quick/FunctionCalleeExpressions.jet b/compiler/testData/diagnostics/tests/FunctionCalleeExpressions.jet similarity index 100% rename from compiler/testData/diagnostics/quick/FunctionCalleeExpressions.jet rename to compiler/testData/diagnostics/tests/FunctionCalleeExpressions.jet diff --git a/compiler/testData/diagnostics/quick/FunctionReturnTypes.jet b/compiler/testData/diagnostics/tests/FunctionReturnTypes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/FunctionReturnTypes.jet rename to compiler/testData/diagnostics/tests/FunctionReturnTypes.jet diff --git a/compiler/testData/diagnostics/quick/GenericArgumentConsistency.jet b/compiler/testData/diagnostics/tests/GenericArgumentConsistency.jet similarity index 100% rename from compiler/testData/diagnostics/quick/GenericArgumentConsistency.jet rename to compiler/testData/diagnostics/tests/GenericArgumentConsistency.jet diff --git a/compiler/testData/diagnostics/quick/GenericFunctionIsLessSpecific.jet b/compiler/testData/diagnostics/tests/GenericFunctionIsLessSpecific.jet similarity index 100% rename from compiler/testData/diagnostics/quick/GenericFunctionIsLessSpecific.jet rename to compiler/testData/diagnostics/tests/GenericFunctionIsLessSpecific.jet diff --git a/compiler/testData/diagnostics/quick/IllegalModifiers.jet b/compiler/testData/diagnostics/tests/IllegalModifiers.jet similarity index 100% rename from compiler/testData/diagnostics/quick/IllegalModifiers.jet rename to compiler/testData/diagnostics/tests/IllegalModifiers.jet diff --git a/compiler/testData/diagnostics/quick/ImportResolutionOrder.jet b/compiler/testData/diagnostics/tests/ImportResolutionOrder.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ImportResolutionOrder.jet rename to compiler/testData/diagnostics/tests/ImportResolutionOrder.jet diff --git a/compiler/testData/diagnostics/quick/IncDec.jet b/compiler/testData/diagnostics/tests/IncDec.jet similarity index 100% rename from compiler/testData/diagnostics/quick/IncDec.jet rename to compiler/testData/diagnostics/tests/IncDec.jet diff --git a/compiler/testData/diagnostics/quick/IncorrectCharacterLiterals.jet b/compiler/testData/diagnostics/tests/IncorrectCharacterLiterals.jet similarity index 100% rename from compiler/testData/diagnostics/quick/IncorrectCharacterLiterals.jet rename to compiler/testData/diagnostics/tests/IncorrectCharacterLiterals.jet diff --git a/compiler/testData/diagnostics/quick/InferNullabilityInThenBlock.jet b/compiler/testData/diagnostics/tests/InferNullabilityInThenBlock.jet similarity index 100% rename from compiler/testData/diagnostics/quick/InferNullabilityInThenBlock.jet rename to compiler/testData/diagnostics/tests/InferNullabilityInThenBlock.jet diff --git a/compiler/testData/diagnostics/quick/InnerClassClassObject.jet b/compiler/testData/diagnostics/tests/InnerClassClassObject.jet similarity index 100% rename from compiler/testData/diagnostics/quick/InnerClassClassObject.jet rename to compiler/testData/diagnostics/tests/InnerClassClassObject.jet diff --git a/compiler/testData/diagnostics/quick/IsExpressions.jet b/compiler/testData/diagnostics/tests/IsExpressions.jet similarity index 100% rename from compiler/testData/diagnostics/quick/IsExpressions.jet rename to compiler/testData/diagnostics/tests/IsExpressions.jet diff --git a/compiler/testData/diagnostics/quick/LValueAssignment.jet b/compiler/testData/diagnostics/tests/LValueAssignment.jet similarity index 100% rename from compiler/testData/diagnostics/quick/LValueAssignment.jet rename to compiler/testData/diagnostics/tests/LValueAssignment.jet diff --git a/compiler/testData/diagnostics/quick/MultipleBounds.jet b/compiler/testData/diagnostics/tests/MultipleBounds.jet similarity index 100% rename from compiler/testData/diagnostics/quick/MultipleBounds.jet rename to compiler/testData/diagnostics/tests/MultipleBounds.jet diff --git a/compiler/testData/diagnostics/quick/NamedArgumentsAndDefaultValues.jet b/compiler/testData/diagnostics/tests/NamedArgumentsAndDefaultValues.jet similarity index 100% rename from compiler/testData/diagnostics/quick/NamedArgumentsAndDefaultValues.jet rename to compiler/testData/diagnostics/tests/NamedArgumentsAndDefaultValues.jet diff --git a/compiler/testData/diagnostics/quick/NamespaceAsExpression.jet b/compiler/testData/diagnostics/tests/NamespaceAsExpression.jet similarity index 100% rename from compiler/testData/diagnostics/quick/NamespaceAsExpression.jet rename to compiler/testData/diagnostics/tests/NamespaceAsExpression.jet diff --git a/compiler/testData/diagnostics/quick/NamespaceInExpressionPosition.jet b/compiler/testData/diagnostics/tests/NamespaceInExpressionPosition.jet similarity index 100% rename from compiler/testData/diagnostics/quick/NamespaceInExpressionPosition.jet rename to compiler/testData/diagnostics/tests/NamespaceInExpressionPosition.jet diff --git a/compiler/testData/diagnostics/quick/NamespaceQualified.jet b/compiler/testData/diagnostics/tests/NamespaceQualified.jet similarity index 100% rename from compiler/testData/diagnostics/quick/NamespaceQualified.jet rename to compiler/testData/diagnostics/tests/NamespaceQualified.jet diff --git a/compiler/testData/diagnostics/quick/Nullability.jet b/compiler/testData/diagnostics/tests/Nullability.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Nullability.jet rename to compiler/testData/diagnostics/tests/Nullability.jet diff --git a/compiler/testData/diagnostics/quick/Objects.jet b/compiler/testData/diagnostics/tests/Objects.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Objects.jet rename to compiler/testData/diagnostics/tests/Objects.jet diff --git a/compiler/testData/diagnostics/quick/Override.jet b/compiler/testData/diagnostics/tests/Override.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Override.jet rename to compiler/testData/diagnostics/tests/Override.jet diff --git a/compiler/testData/diagnostics/quick/OverridingVarByVal.jet b/compiler/testData/diagnostics/tests/OverridingVarByVal.jet similarity index 100% rename from compiler/testData/diagnostics/quick/OverridingVarByVal.jet rename to compiler/testData/diagnostics/tests/OverridingVarByVal.jet diff --git a/compiler/testData/diagnostics/quick/PrimaryConstructors.jet b/compiler/testData/diagnostics/tests/PrimaryConstructors.jet similarity index 100% rename from compiler/testData/diagnostics/quick/PrimaryConstructors.jet rename to compiler/testData/diagnostics/tests/PrimaryConstructors.jet diff --git a/compiler/testData/diagnostics/quick/ProjectionOnFunctionArgumentErrror.jet b/compiler/testData/diagnostics/tests/ProjectionOnFunctionArgumentErrror.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ProjectionOnFunctionArgumentErrror.jet rename to compiler/testData/diagnostics/tests/ProjectionOnFunctionArgumentErrror.jet diff --git a/compiler/testData/diagnostics/quick/ProjectionsInSupertypes.jet b/compiler/testData/diagnostics/tests/ProjectionsInSupertypes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ProjectionsInSupertypes.jet rename to compiler/testData/diagnostics/tests/ProjectionsInSupertypes.jet diff --git a/compiler/testData/diagnostics/quick/Properties.jet b/compiler/testData/diagnostics/tests/Properties.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Properties.jet rename to compiler/testData/diagnostics/tests/Properties.jet diff --git a/compiler/testData/diagnostics/quick/QualifiedExpressions.jet b/compiler/testData/diagnostics/tests/QualifiedExpressions.jet similarity index 100% rename from compiler/testData/diagnostics/quick/QualifiedExpressions.jet rename to compiler/testData/diagnostics/tests/QualifiedExpressions.jet diff --git a/compiler/testData/diagnostics/quick/QualifiedThis.jet b/compiler/testData/diagnostics/tests/QualifiedThis.jet similarity index 100% rename from compiler/testData/diagnostics/quick/QualifiedThis.jet rename to compiler/testData/diagnostics/tests/QualifiedThis.jet diff --git a/compiler/testData/diagnostics/quick/RecursiveTypeInference.jet b/compiler/testData/diagnostics/tests/RecursiveTypeInference.jet similarity index 100% rename from compiler/testData/diagnostics/quick/RecursiveTypeInference.jet rename to compiler/testData/diagnostics/tests/RecursiveTypeInference.jet diff --git a/compiler/testData/diagnostics/quick/Redeclarations.jet b/compiler/testData/diagnostics/tests/Redeclarations.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Redeclarations.jet rename to compiler/testData/diagnostics/tests/Redeclarations.jet diff --git a/compiler/testData/diagnostics/quick/ResolveOfJavaGenerics.jet b/compiler/testData/diagnostics/tests/ResolveOfJavaGenerics.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ResolveOfJavaGenerics.jet rename to compiler/testData/diagnostics/tests/ResolveOfJavaGenerics.jet diff --git a/compiler/testData/diagnostics/quick/ResolveToJava.jet b/compiler/testData/diagnostics/tests/ResolveToJava.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ResolveToJava.jet rename to compiler/testData/diagnostics/tests/ResolveToJava.jet diff --git a/compiler/testData/diagnostics/quick/Return.jet b/compiler/testData/diagnostics/tests/Return.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Return.jet rename to compiler/testData/diagnostics/tests/Return.jet diff --git a/compiler/testData/diagnostics/quick/SafeCallNonNullReceiver.jet b/compiler/testData/diagnostics/tests/SafeCallNonNullReceiver.jet similarity index 100% rename from compiler/testData/diagnostics/quick/SafeCallNonNullReceiver.jet rename to compiler/testData/diagnostics/tests/SafeCallNonNullReceiver.jet diff --git a/compiler/testData/diagnostics/quick/SafeCallNonNullReceiverReturnNull.jet b/compiler/testData/diagnostics/tests/SafeCallNonNullReceiverReturnNull.jet similarity index 100% rename from compiler/testData/diagnostics/quick/SafeCallNonNullReceiverReturnNull.jet rename to compiler/testData/diagnostics/tests/SafeCallNonNullReceiverReturnNull.jet diff --git a/compiler/testData/diagnostics/quick/StringTemplates.jet b/compiler/testData/diagnostics/tests/StringTemplates.jet similarity index 100% rename from compiler/testData/diagnostics/quick/StringTemplates.jet rename to compiler/testData/diagnostics/tests/StringTemplates.jet diff --git a/compiler/testData/diagnostics/quick/Super.jet b/compiler/testData/diagnostics/tests/Super.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Super.jet rename to compiler/testData/diagnostics/tests/Super.jet diff --git a/compiler/testData/diagnostics/quick/SupertypeListChecks.jet b/compiler/testData/diagnostics/tests/SupertypeListChecks.jet similarity index 100% rename from compiler/testData/diagnostics/quick/SupertypeListChecks.jet rename to compiler/testData/diagnostics/tests/SupertypeListChecks.jet diff --git a/compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlighting.jet b/compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlighting.jet similarity index 100% rename from compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlighting.jet rename to compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlighting.jet diff --git a/compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlightingEof.jet b/compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.jet similarity index 100% rename from compiler/testData/diagnostics/quick/SyntaxErrorInTestHighlightingEof.jet rename to compiler/testData/diagnostics/tests/SyntaxErrorInTestHighlightingEof.jet diff --git a/compiler/testData/diagnostics/quick/TraitSupertypeList.jet b/compiler/testData/diagnostics/tests/TraitSupertypeList.jet similarity index 100% rename from compiler/testData/diagnostics/quick/TraitSupertypeList.jet rename to compiler/testData/diagnostics/tests/TraitSupertypeList.jet diff --git a/compiler/testData/diagnostics/quick/TypeInference.jet b/compiler/testData/diagnostics/tests/TypeInference.jet similarity index 100% rename from compiler/testData/diagnostics/quick/TypeInference.jet rename to compiler/testData/diagnostics/tests/TypeInference.jet diff --git a/compiler/testData/diagnostics/quick/UninitializedOrReassignedVariables.jet b/compiler/testData/diagnostics/tests/UninitializedOrReassignedVariables.jet similarity index 100% rename from compiler/testData/diagnostics/quick/UninitializedOrReassignedVariables.jet rename to compiler/testData/diagnostics/tests/UninitializedOrReassignedVariables.jet diff --git a/compiler/testData/diagnostics/quick/UnitByDefaultForFunctionTypes.jet b/compiler/testData/diagnostics/tests/UnitByDefaultForFunctionTypes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/UnitByDefaultForFunctionTypes.jet rename to compiler/testData/diagnostics/tests/UnitByDefaultForFunctionTypes.jet diff --git a/compiler/testData/diagnostics/quick/UnreachableCode.jet b/compiler/testData/diagnostics/tests/UnreachableCode.jet similarity index 100% rename from compiler/testData/diagnostics/quick/UnreachableCode.jet rename to compiler/testData/diagnostics/tests/UnreachableCode.jet diff --git a/compiler/testData/diagnostics/quick/Unresolved.jet b/compiler/testData/diagnostics/tests/Unresolved.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Unresolved.jet rename to compiler/testData/diagnostics/tests/Unresolved.jet diff --git a/compiler/testData/diagnostics/quick/UnusedVariables.jet b/compiler/testData/diagnostics/tests/UnusedVariables.jet similarity index 100% rename from compiler/testData/diagnostics/quick/UnusedVariables.jet rename to compiler/testData/diagnostics/tests/UnusedVariables.jet diff --git a/compiler/testData/diagnostics/quick/ValAndFunOverrideCompatibilityClash.jet b/compiler/testData/diagnostics/tests/ValAndFunOverrideCompatibilityClash.jet similarity index 100% rename from compiler/testData/diagnostics/quick/ValAndFunOverrideCompatibilityClash.jet rename to compiler/testData/diagnostics/tests/ValAndFunOverrideCompatibilityClash.jet diff --git a/compiler/testData/diagnostics/quick/VarargTypes.jet b/compiler/testData/diagnostics/tests/VarargTypes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/VarargTypes.jet rename to compiler/testData/diagnostics/tests/VarargTypes.jet diff --git a/compiler/testData/diagnostics/quick/Varargs.jet b/compiler/testData/diagnostics/tests/Varargs.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Varargs.jet rename to compiler/testData/diagnostics/tests/Varargs.jet diff --git a/compiler/testData/diagnostics/quick/Variance.jet b/compiler/testData/diagnostics/tests/Variance.jet similarity index 100% rename from compiler/testData/diagnostics/quick/Variance.jet rename to compiler/testData/diagnostics/tests/Variance.jet diff --git a/compiler/testData/diagnostics/quick/When.jet b/compiler/testData/diagnostics/tests/When.jet similarity index 100% rename from compiler/testData/diagnostics/quick/When.jet rename to compiler/testData/diagnostics/tests/When.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CustomGetSet.jet b/compiler/testData/diagnostics/tests/backingField/CustomGetSet.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CustomGetSet.jet rename to compiler/testData/diagnostics/tests/backingField/CustomGetSet.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CustomGetVal.jet b/compiler/testData/diagnostics/tests/backingField/CustomGetVal.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CustomGetVal.jet rename to compiler/testData/diagnostics/tests/backingField/CustomGetVal.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CustomGetValGlobal.jet b/compiler/testData/diagnostics/tests/backingField/CustomGetValGlobal.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CustomGetValGlobal.jet rename to compiler/testData/diagnostics/tests/backingField/CustomGetValGlobal.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CustomGetVar.jet b/compiler/testData/diagnostics/tests/backingField/CustomGetVar.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CustomGetVar.jet rename to compiler/testData/diagnostics/tests/backingField/CustomGetVar.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CustomSet.jet b/compiler/testData/diagnostics/tests/backingField/CustomSet.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CustomSet.jet rename to compiler/testData/diagnostics/tests/backingField/CustomSet.jet diff --git a/compiler/testData/diagnostics/quick/backingField/CyclicReferenceInitializer.jet b/compiler/testData/diagnostics/tests/backingField/CyclicReferenceInitializer.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/CyclicReferenceInitializer.jet rename to compiler/testData/diagnostics/tests/backingField/CyclicReferenceInitializer.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadForwardInAnonymous.jet b/compiler/testData/diagnostics/tests/backingField/ReadForwardInAnonymous.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadForwardInAnonymous.jet rename to compiler/testData/diagnostics/tests/backingField/ReadForwardInAnonymous.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadForwardInPropertyInitializer.jet b/compiler/testData/diagnostics/tests/backingField/ReadForwardInPropertyInitializer.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadForwardInPropertyInitializer.jet rename to compiler/testData/diagnostics/tests/backingField/ReadForwardInPropertyInitializer.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadInAnonymous.jet b/compiler/testData/diagnostics/tests/backingField/ReadInAnonymous.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadInAnonymous.jet rename to compiler/testData/diagnostics/tests/backingField/ReadInAnonymous.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadInAnotherPropertyIntializer.jet b/compiler/testData/diagnostics/tests/backingField/ReadInAnotherPropertyIntializer.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadInAnotherPropertyIntializer.jet rename to compiler/testData/diagnostics/tests/backingField/ReadInAnotherPropertyIntializer.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadInFunction.jet b/compiler/testData/diagnostics/tests/backingField/ReadInFunction.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadInFunction.jet rename to compiler/testData/diagnostics/tests/backingField/ReadInFunction.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentAbstractPropertyInAnonymous.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentAbstractPropertyInFunction.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentAbstractPropertyInFunction.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentAbstractPropertyInFunction.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentCustomGetInAnonymous.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnonymous.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentCustomGetInAnonymous.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentCustomGetInAnotherInitializer.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentDeclaredInHigher.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentDeclaredInHigher.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentDeclaredInHigher.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentDeclaredInHigher.jet diff --git a/compiler/testData/diagnostics/quick/backingField/ReadNonexistentPropertyInAnonymous.jet b/compiler/testData/diagnostics/tests/backingField/ReadNonexistentPropertyInAnonymous.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/ReadNonexistentPropertyInAnonymous.jet rename to compiler/testData/diagnostics/tests/backingField/ReadNonexistentPropertyInAnonymous.jet diff --git a/compiler/testData/diagnostics/quick/backingField/WriteNonexistentDeclaredInHigher.jet b/compiler/testData/diagnostics/tests/backingField/WriteNonexistentDeclaredInHigher.jet similarity index 100% rename from compiler/testData/diagnostics/quick/backingField/WriteNonexistentDeclaredInHigher.jet rename to compiler/testData/diagnostics/tests/backingField/WriteNonexistentDeclaredInHigher.jet diff --git a/compiler/testData/diagnostics/quick/cast/AsErasedError.jet b/compiler/testData/diagnostics/tests/cast/AsErasedError.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/AsErasedError.jet rename to compiler/testData/diagnostics/tests/cast/AsErasedError.jet diff --git a/compiler/testData/diagnostics/quick/cast/AsErasedFine.jet b/compiler/testData/diagnostics/tests/cast/AsErasedFine.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/AsErasedFine.jet rename to compiler/testData/diagnostics/tests/cast/AsErasedFine.jet diff --git a/compiler/testData/diagnostics/quick/cast/AsErasedStar.jet b/compiler/testData/diagnostics/tests/cast/AsErasedStar.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/AsErasedStar.jet rename to compiler/testData/diagnostics/tests/cast/AsErasedStar.jet diff --git a/compiler/testData/diagnostics/quick/cast/AsErasedWarning.jet b/compiler/testData/diagnostics/tests/cast/AsErasedWarning.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/AsErasedWarning.jet rename to compiler/testData/diagnostics/tests/cast/AsErasedWarning.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsErasedAllow.jet b/compiler/testData/diagnostics/tests/cast/IsErasedAllow.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsErasedAllow.jet rename to compiler/testData/diagnostics/tests/cast/IsErasedAllow.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsErasedAllowParameterSubtype.jet b/compiler/testData/diagnostics/tests/cast/IsErasedAllowParameterSubtype.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsErasedAllowParameterSubtype.jet rename to compiler/testData/diagnostics/tests/cast/IsErasedAllowParameterSubtype.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsErasedDisallowFromAny.jet b/compiler/testData/diagnostics/tests/cast/IsErasedDisallowFromAny.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsErasedDisallowFromAny.jet rename to compiler/testData/diagnostics/tests/cast/IsErasedDisallowFromAny.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsErasedStar.jet b/compiler/testData/diagnostics/tests/cast/IsErasedStar.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsErasedStar.jet rename to compiler/testData/diagnostics/tests/cast/IsErasedStar.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsReified.jet b/compiler/testData/diagnostics/tests/cast/IsReified.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsReified.jet rename to compiler/testData/diagnostics/tests/cast/IsReified.jet diff --git a/compiler/testData/diagnostics/quick/cast/IsTraits.jet b/compiler/testData/diagnostics/tests/cast/IsTraits.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/IsTraits.jet rename to compiler/testData/diagnostics/tests/cast/IsTraits.jet diff --git a/compiler/testData/diagnostics/quick/cast/WhenErasedDisallowFromAny.jet b/compiler/testData/diagnostics/tests/cast/WhenErasedDisallowFromAny.jet similarity index 100% rename from compiler/testData/diagnostics/quick/cast/WhenErasedDisallowFromAny.jet rename to compiler/testData/diagnostics/tests/cast/WhenErasedDisallowFromAny.jet diff --git a/compiler/testData/diagnostics/quick/control/ForWithoutBraces.jet b/compiler/testData/diagnostics/tests/control/ForWithoutBraces.jet similarity index 100% rename from compiler/testData/diagnostics/quick/control/ForWithoutBraces.jet rename to compiler/testData/diagnostics/tests/control/ForWithoutBraces.jet diff --git a/compiler/testData/diagnostics/quick/infos/Autocasts.jet b/compiler/testData/diagnostics/tests/infos/Autocasts.jet similarity index 100% rename from compiler/testData/diagnostics/quick/infos/Autocasts.jet rename to compiler/testData/diagnostics/tests/infos/Autocasts.jet diff --git a/compiler/testData/diagnostics/quick/infos/PropertiesWithBackingFields.jet b/compiler/testData/diagnostics/tests/infos/PropertiesWithBackingFields.jet similarity index 100% rename from compiler/testData/diagnostics/quick/infos/PropertiesWithBackingFields.jet rename to compiler/testData/diagnostics/tests/infos/PropertiesWithBackingFields.jet diff --git a/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/InfixCallNullability.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/InfixCallNullability.jet similarity index 100% rename from compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/InfixCallNullability.jet rename to compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/InfixCallNullability.jet diff --git a/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet similarity index 100% rename from compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet rename to compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/NullableNothingIsExactlyNull.jet diff --git a/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet similarity index 100% rename from compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet rename to compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/PreferExtensionsOnNullableReceiver.jet diff --git a/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/ReceiverNullability.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/ReceiverNullability.jet similarity index 100% rename from compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/ReceiverNullability.jet rename to compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/ReceiverNullability.jet diff --git a/compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/kt362.jet b/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet similarity index 100% rename from compiler/testData/diagnostics/quick/nullabilityAndAutoCasts/kt362.jet rename to compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt362.jet diff --git a/compiler/testData/diagnostics/quick/regressions/AmbiguityOnLazyTypeComputation.jet b/compiler/testData/diagnostics/tests/regressions/AmbiguityOnLazyTypeComputation.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/AmbiguityOnLazyTypeComputation.jet rename to compiler/testData/diagnostics/tests/regressions/AmbiguityOnLazyTypeComputation.jet diff --git a/compiler/testData/diagnostics/quick/regressions/AssignmentsUnderOperators.jet b/compiler/testData/diagnostics/tests/regressions/AssignmentsUnderOperators.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/AssignmentsUnderOperators.jet rename to compiler/testData/diagnostics/tests/regressions/AssignmentsUnderOperators.jet diff --git a/compiler/testData/diagnostics/quick/regressions/CoercionToUnit.jet b/compiler/testData/diagnostics/tests/regressions/CoercionToUnit.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/CoercionToUnit.jet rename to compiler/testData/diagnostics/tests/regressions/CoercionToUnit.jet diff --git a/compiler/testData/diagnostics/quick/regressions/DoubleDefine.jet b/compiler/testData/diagnostics/tests/regressions/DoubleDefine.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/DoubleDefine.jet rename to compiler/testData/diagnostics/tests/regressions/DoubleDefine.jet diff --git a/compiler/testData/diagnostics/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet b/compiler/testData/diagnostics/tests/regressions/ErrorsOnIbjectExpressionsAsParameters.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/ErrorsOnIbjectExpressionsAsParameters.jet rename to compiler/testData/diagnostics/tests/regressions/ErrorsOnIbjectExpressionsAsParameters.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet11.jet b/compiler/testData/diagnostics/tests/regressions/Jet11.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet11.jet rename to compiler/testData/diagnostics/tests/regressions/Jet11.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet121.jet b/compiler/testData/diagnostics/tests/regressions/Jet121.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet121.jet rename to compiler/testData/diagnostics/tests/regressions/Jet121.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet124.jet b/compiler/testData/diagnostics/tests/regressions/Jet124.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet124.jet rename to compiler/testData/diagnostics/tests/regressions/Jet124.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet169.jet b/compiler/testData/diagnostics/tests/regressions/Jet169.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet169.jet rename to compiler/testData/diagnostics/tests/regressions/Jet169.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet17.jet b/compiler/testData/diagnostics/tests/regressions/Jet17.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet17.jet rename to compiler/testData/diagnostics/tests/regressions/Jet17.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet183-1.jet b/compiler/testData/diagnostics/tests/regressions/Jet183-1.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet183-1.jet rename to compiler/testData/diagnostics/tests/regressions/Jet183-1.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet183.jet b/compiler/testData/diagnostics/tests/regressions/Jet183.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet183.jet rename to compiler/testData/diagnostics/tests/regressions/Jet183.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet53.jet b/compiler/testData/diagnostics/tests/regressions/Jet53.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet53.jet rename to compiler/testData/diagnostics/tests/regressions/Jet53.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet67.jet b/compiler/testData/diagnostics/tests/regressions/Jet67.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet67.jet rename to compiler/testData/diagnostics/tests/regressions/Jet67.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet68.jet b/compiler/testData/diagnostics/tests/regressions/Jet68.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet68.jet rename to compiler/testData/diagnostics/tests/regressions/Jet68.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet69.jet b/compiler/testData/diagnostics/tests/regressions/Jet69.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet69.jet rename to compiler/testData/diagnostics/tests/regressions/Jet69.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet72.jet b/compiler/testData/diagnostics/tests/regressions/Jet72.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet72.jet rename to compiler/testData/diagnostics/tests/regressions/Jet72.jet diff --git a/compiler/testData/diagnostics/quick/regressions/Jet81.jet b/compiler/testData/diagnostics/tests/regressions/Jet81.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/Jet81.jet rename to compiler/testData/diagnostics/tests/regressions/Jet81.jet diff --git a/compiler/testData/diagnostics/quick/regressions/OrphanStarProjection.jet b/compiler/testData/diagnostics/tests/regressions/OrphanStarProjection.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/OrphanStarProjection.jet rename to compiler/testData/diagnostics/tests/regressions/OrphanStarProjection.jet diff --git a/compiler/testData/diagnostics/quick/regressions/OutProjections.jet b/compiler/testData/diagnostics/tests/regressions/OutProjections.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/OutProjections.jet rename to compiler/testData/diagnostics/tests/regressions/OutProjections.jet diff --git a/compiler/testData/diagnostics/quick/regressions/OverrideResolution.jet b/compiler/testData/diagnostics/tests/regressions/OverrideResolution.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/OverrideResolution.jet rename to compiler/testData/diagnostics/tests/regressions/OverrideResolution.jet diff --git a/compiler/testData/diagnostics/quick/regressions/ScopeForSecondaryConstructors.jet b/compiler/testData/diagnostics/tests/regressions/ScopeForSecondaryConstructors.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/ScopeForSecondaryConstructors.jet rename to compiler/testData/diagnostics/tests/regressions/ScopeForSecondaryConstructors.jet diff --git a/compiler/testData/diagnostics/quick/regressions/SpecififcityByReceiver.jet b/compiler/testData/diagnostics/tests/regressions/SpecififcityByReceiver.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/SpecififcityByReceiver.jet rename to compiler/testData/diagnostics/tests/regressions/SpecififcityByReceiver.jet diff --git a/compiler/testData/diagnostics/quick/regressions/ThisConstructorInGenericClass.jet b/compiler/testData/diagnostics/tests/regressions/ThisConstructorInGenericClass.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/ThisConstructorInGenericClass.jet rename to compiler/testData/diagnostics/tests/regressions/ThisConstructorInGenericClass.jet diff --git a/compiler/testData/diagnostics/quick/regressions/UnavaliableQualifiedThis.jet b/compiler/testData/diagnostics/tests/regressions/UnavaliableQualifiedThis.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/UnavaliableQualifiedThis.jet rename to compiler/testData/diagnostics/tests/regressions/UnavaliableQualifiedThis.jet diff --git a/compiler/testData/diagnostics/quick/regressions/WrongTraceInCallResolver.jet b/compiler/testData/diagnostics/tests/regressions/WrongTraceInCallResolver.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/WrongTraceInCallResolver.jet rename to compiler/testData/diagnostics/tests/regressions/WrongTraceInCallResolver.jet diff --git a/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt510.jet b/compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt510.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt510.jet rename to compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt510.jet diff --git a/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt607.jet b/compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt607.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt607.jet rename to compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt607.jet diff --git a/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt609.jet b/compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt609.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt609.jet rename to compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt609.jet diff --git a/compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt610.jet b/compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt610.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/control-flow-analysis/kt610.jet rename to compiler/testData/diagnostics/tests/regressions/control-flow-analysis/kt610.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt127.jet b/compiler/testData/diagnostics/tests/regressions/kt127.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt127.jet rename to compiler/testData/diagnostics/tests/regressions/kt127.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt128.jet b/compiler/testData/diagnostics/tests/regressions/kt128.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt128.jet rename to compiler/testData/diagnostics/tests/regressions/kt128.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt174.jet b/compiler/testData/diagnostics/tests/regressions/kt174.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt174.jet rename to compiler/testData/diagnostics/tests/regressions/kt174.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt201.jet b/compiler/testData/diagnostics/tests/regressions/kt201.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt201.jet rename to compiler/testData/diagnostics/tests/regressions/kt201.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt235.jet b/compiler/testData/diagnostics/tests/regressions/kt235.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt235.jet rename to compiler/testData/diagnostics/tests/regressions/kt235.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt251.jet b/compiler/testData/diagnostics/tests/regressions/kt251.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt251.jet rename to compiler/testData/diagnostics/tests/regressions/kt251.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt258.jet b/compiler/testData/diagnostics/tests/regressions/kt258.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt258.jet rename to compiler/testData/diagnostics/tests/regressions/kt258.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt26-1.jet b/compiler/testData/diagnostics/tests/regressions/kt26-1.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt26-1.jet rename to compiler/testData/diagnostics/tests/regressions/kt26-1.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt26.jet b/compiler/testData/diagnostics/tests/regressions/kt26.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt26.jet rename to compiler/testData/diagnostics/tests/regressions/kt26.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt282.jet b/compiler/testData/diagnostics/tests/regressions/kt282.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt282.jet rename to compiler/testData/diagnostics/tests/regressions/kt282.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt287.jet b/compiler/testData/diagnostics/tests/regressions/kt287.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt287.jet rename to compiler/testData/diagnostics/tests/regressions/kt287.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt302.jet b/compiler/testData/diagnostics/tests/regressions/kt302.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt302.jet rename to compiler/testData/diagnostics/tests/regressions/kt302.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt303.jet b/compiler/testData/diagnostics/tests/regressions/kt303.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt303.jet rename to compiler/testData/diagnostics/tests/regressions/kt303.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt306.jet b/compiler/testData/diagnostics/tests/regressions/kt306.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt306.jet rename to compiler/testData/diagnostics/tests/regressions/kt306.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt307.jet b/compiler/testData/diagnostics/tests/regressions/kt307.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt307.jet rename to compiler/testData/diagnostics/tests/regressions/kt307.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt312.jet b/compiler/testData/diagnostics/tests/regressions/kt312.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt312.jet rename to compiler/testData/diagnostics/tests/regressions/kt312.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt313.jet b/compiler/testData/diagnostics/tests/regressions/kt313.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt313.jet rename to compiler/testData/diagnostics/tests/regressions/kt313.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt316.jet b/compiler/testData/diagnostics/tests/regressions/kt316.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt316.jet rename to compiler/testData/diagnostics/tests/regressions/kt316.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt328.jet b/compiler/testData/diagnostics/tests/regressions/kt328.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt328.jet rename to compiler/testData/diagnostics/tests/regressions/kt328.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt328Complex.jet b/compiler/testData/diagnostics/tests/regressions/kt328Complex.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt328Complex.jet rename to compiler/testData/diagnostics/tests/regressions/kt328Complex.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt328DuplicatedByKt329.jet b/compiler/testData/diagnostics/tests/regressions/kt328DuplicatedByKt329.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt328DuplicatedByKt329.jet rename to compiler/testData/diagnostics/tests/regressions/kt328DuplicatedByKt329.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt335.336.jet b/compiler/testData/diagnostics/tests/regressions/kt335.336.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt335.336.jet rename to compiler/testData/diagnostics/tests/regressions/kt335.336.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt337.jet b/compiler/testData/diagnostics/tests/regressions/kt337.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt337.jet rename to compiler/testData/diagnostics/tests/regressions/kt337.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt352.jet b/compiler/testData/diagnostics/tests/regressions/kt352.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt352.jet rename to compiler/testData/diagnostics/tests/regressions/kt352.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt353.jet b/compiler/testData/diagnostics/tests/regressions/kt353.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt353.jet rename to compiler/testData/diagnostics/tests/regressions/kt353.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt385.109.441.jet b/compiler/testData/diagnostics/tests/regressions/kt385.109.441.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt385.109.441.jet rename to compiler/testData/diagnostics/tests/regressions/kt385.109.441.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt394.jet b/compiler/testData/diagnostics/tests/regressions/kt394.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt394.jet rename to compiler/testData/diagnostics/tests/regressions/kt394.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt398.jet b/compiler/testData/diagnostics/tests/regressions/kt398.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt398.jet rename to compiler/testData/diagnostics/tests/regressions/kt398.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt399.jet b/compiler/testData/diagnostics/tests/regressions/kt399.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt399.jet rename to compiler/testData/diagnostics/tests/regressions/kt399.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt402.jet b/compiler/testData/diagnostics/tests/regressions/kt402.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt402.jet rename to compiler/testData/diagnostics/tests/regressions/kt402.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt41.jet b/compiler/testData/diagnostics/tests/regressions/kt41.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt41.jet rename to compiler/testData/diagnostics/tests/regressions/kt41.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt411.jet b/compiler/testData/diagnostics/tests/regressions/kt411.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt411.jet rename to compiler/testData/diagnostics/tests/regressions/kt411.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt421Scopes.jet b/compiler/testData/diagnostics/tests/regressions/kt421Scopes.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt421Scopes.jet rename to compiler/testData/diagnostics/tests/regressions/kt421Scopes.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt439.jet b/compiler/testData/diagnostics/tests/regressions/kt439.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt439.jet rename to compiler/testData/diagnostics/tests/regressions/kt439.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt442.jet b/compiler/testData/diagnostics/tests/regressions/kt442.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt442.jet rename to compiler/testData/diagnostics/tests/regressions/kt442.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt443.jet b/compiler/testData/diagnostics/tests/regressions/kt443.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt443.jet rename to compiler/testData/diagnostics/tests/regressions/kt443.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt455.jet b/compiler/testData/diagnostics/tests/regressions/kt455.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt455.jet rename to compiler/testData/diagnostics/tests/regressions/kt455.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt456.jet b/compiler/testData/diagnostics/tests/regressions/kt456.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt456.jet rename to compiler/testData/diagnostics/tests/regressions/kt456.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt459.jet b/compiler/testData/diagnostics/tests/regressions/kt459.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt459.jet rename to compiler/testData/diagnostics/tests/regressions/kt459.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt469.jet b/compiler/testData/diagnostics/tests/regressions/kt469.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt469.jet rename to compiler/testData/diagnostics/tests/regressions/kt469.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt524.jet b/compiler/testData/diagnostics/tests/regressions/kt524.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt524.jet rename to compiler/testData/diagnostics/tests/regressions/kt524.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet b/compiler/testData/diagnostics/tests/regressions/kt526UnresolvedReferenceInnerStatic.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt526UnresolvedReferenceInnerStatic.jet rename to compiler/testData/diagnostics/tests/regressions/kt526UnresolvedReferenceInnerStatic.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt549.jet b/compiler/testData/diagnostics/tests/regressions/kt549.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt549.jet rename to compiler/testData/diagnostics/tests/regressions/kt549.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt571.jet b/compiler/testData/diagnostics/tests/regressions/kt571.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt571.jet rename to compiler/testData/diagnostics/tests/regressions/kt571.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt575.jet b/compiler/testData/diagnostics/tests/regressions/kt575.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt575.jet rename to compiler/testData/diagnostics/tests/regressions/kt575.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt58.jet b/compiler/testData/diagnostics/tests/regressions/kt58.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt58.jet rename to compiler/testData/diagnostics/tests/regressions/kt58.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt580.jet b/compiler/testData/diagnostics/tests/regressions/kt580.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt580.jet rename to compiler/testData/diagnostics/tests/regressions/kt580.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt588.jet b/compiler/testData/diagnostics/tests/regressions/kt588.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt588.jet rename to compiler/testData/diagnostics/tests/regressions/kt588.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt597.jet b/compiler/testData/diagnostics/tests/regressions/kt597.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt597.jet rename to compiler/testData/diagnostics/tests/regressions/kt597.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt600.jet b/compiler/testData/diagnostics/tests/regressions/kt600.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt600.jet rename to compiler/testData/diagnostics/tests/regressions/kt600.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt604.jet b/compiler/testData/diagnostics/tests/regressions/kt604.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt604.jet rename to compiler/testData/diagnostics/tests/regressions/kt604.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt618.jet b/compiler/testData/diagnostics/tests/regressions/kt618.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt618.jet rename to compiler/testData/diagnostics/tests/regressions/kt618.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt629.jet b/compiler/testData/diagnostics/tests/regressions/kt629.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt629.jet rename to compiler/testData/diagnostics/tests/regressions/kt629.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt630.jet b/compiler/testData/diagnostics/tests/regressions/kt630.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt630.jet rename to compiler/testData/diagnostics/tests/regressions/kt630.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt688.jet b/compiler/testData/diagnostics/tests/regressions/kt688.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt688.jet rename to compiler/testData/diagnostics/tests/regressions/kt688.jet diff --git a/compiler/testData/diagnostics/quick/regressions/kt691.jet b/compiler/testData/diagnostics/tests/regressions/kt691.jet similarity index 100% rename from compiler/testData/diagnostics/quick/regressions/kt691.jet rename to compiler/testData/diagnostics/tests/regressions/kt691.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowParameterInFunctionBody.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowParameterInFunctionBody.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowParameterInFunctionBody.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowParameterInFunctionBody.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowParameterInNestedBlockInFor.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowParameterInNestedBlockInFor.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowParameterInNestedBlockInFor.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowParameterInNestedBlockInFor.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInClosure.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInClosure.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInClosure.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInClosure.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFor.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInFor.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFor.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInFor.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFunction.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInFunction.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowPropertyInFunction.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowPropertyInFunction.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInFor.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowVariableInFor.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowVariableInFor.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowVariableInFor.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedBlock.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedBlock.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedBlock.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedBlock.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosure.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedClosure.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosure.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedClosure.jet diff --git a/compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosureParam.jet b/compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedClosureParam.jet similarity index 100% rename from compiler/testData/diagnostics/quick/shadowing/ShadowVariableInNestedClosureParam.jet rename to compiler/testData/diagnostics/tests/shadowing/ShadowVariableInNestedClosureParam.jet diff --git a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java index 1571a7b57d2..9befab190ad 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java @@ -19,7 +19,7 @@ import java.util.List; public class CheckerTestUtilTest extends JetLiteFixture { public CheckerTestUtilTest() { - super("checkerWithErrorTypes/checkerTestUtil"); + super("diagnostics/checkerTestUtil"); } protected void doTest(TheTest theTest) throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java index d15bb1d2cc3..942ab311916 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java @@ -164,7 +164,7 @@ public class JetDiagnosticsTest extends JetLiteFixture { // } public static Test suite() { - return JetTestCaseBuilder.suiteForDirectory(JetTestCaseBuilder.getTestDataPathBase(), "/checkerWithErrorTypes/quick", true, new JetTestCaseBuilder.NamedTestFactory() { + return JetTestCaseBuilder.suiteForDirectory(JetTestCaseBuilder.getTestDataPathBase(), "/diagnostics/tests", true, new JetTestCaseBuilder.NamedTestFactory() { @NotNull @Override public Test createTest(@NotNull String dataPath, @NotNull String name) { From 8d439f60585a09d27a9bbe7a18ec96e0e8ae60b4 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 1 Dec 2011 14:52:48 +0300 Subject: [PATCH 5/6] A quick and dirty fix for KT-498 Very strange error in the type checker --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 3 ++- compiler/testData/diagnostics/tests/regressions/kt498.jet | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/diagnostics/tests/regressions/kt498.jet diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index f960da815bb..6e1178a050d 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -432,6 +432,7 @@ public class JavaDescriptorResolver { } return functionDescriptor; } + DeclarationDescriptor classDescriptor = method.hasModifierProperty(PsiModifier.STATIC) ? resolveNamespace(method.getContainingClass()) : resolveClass(method.getContainingClass()); PsiParameter[] parameters = method.getParameterList().getParameters(); FunctionDescriptorImpl functionDescriptorImpl = new FunctionDescriptorImpl( owner, @@ -443,7 +444,7 @@ public class JavaDescriptorResolver { initializeTypeParameters(method); functionDescriptorImpl.initialize( null, - DescriptorUtils.getExpectedThisObjectIfNeeded(owner), + DescriptorUtils.getExpectedThisObjectIfNeeded(classDescriptor), typeParameters, semanticServices.getDescriptorResolver().resolveParameterDescriptors(functionDescriptorImpl, parameters), semanticServices.getTypeTransformer().transformToType(returnType), diff --git a/compiler/testData/diagnostics/tests/regressions/kt498.jet b/compiler/testData/diagnostics/tests/regressions/kt498.jet new file mode 100644 index 00000000000..91e85567a83 --- /dev/null +++ b/compiler/testData/diagnostics/tests/regressions/kt498.jet @@ -0,0 +1,8 @@ +// KT-498 Very strange error in the type checker +// +JDK + +class IdUnavailableException() : Exception() {} + +fun T.getJavaClass() : Class { + return ((this as Object).getClass()) as Class // Some error here, because of Exception() used above. ?!!! +} From 7155be418dd47fc5e98ef3cf033e7cd6188dcf5b Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Thu, 1 Dec 2011 13:34:19 +0200 Subject: [PATCH 6/6] fixing IDEA crash on stub building --- .../backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java | 2 +- .../org/jetbrains/jet/codegen/ImplementationBodyCodegen.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index ee11e6e98e0..35999f2461b 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -68,7 +68,7 @@ public class FunctionCodegen { if (isAbstract) flags |= ACC_ABSTRACT; final MethodVisitor mv = v.newMethod(fun, flags, jvmSignature.getName(), jvmSignature.getDescriptor(), null, null); - if(kind != OwnerKind.TRAIT_IMPL) { + if(kind != OwnerKind.TRAIT_IMPL && v.generateCode()) { int start = functionDescriptor.getReceiverParameter().exists() ? 1 : 0; for(int i = 0; i != paramDescrs.size(); ++i) { AnnotationVisitor annotationVisitor = mv.visitParameterAnnotation(i + start, "Ljet/typeinfo/JetParameterName;", true); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 854f32e53e6..c3fe305c016 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -802,9 +802,9 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { v.newField(myClass, Opcodes.ACC_PRIVATE, "$typeInfo", "Ljet/typeinfo/TypeInfo;", null, null); MethodVisitor mv = v.newMethod(myClass, Opcodes.ACC_PUBLIC, "getTypeInfo", "()Ljet/typeinfo/TypeInfo;", null, null); - mv.visitCode(); InstructionAdapter iv = null; if (v.generateCode()) { + mv.visitCode(); iv = new InstructionAdapter(mv); String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); iv.load(0, JetTypeMapper.TYPE_OBJECT);