LTDA: Don't read CONSTRUCTOR slice in backend
Usages from DECLARATIONS_TO_DESCRIPTORS are left
This commit is contained in:
@@ -24,6 +24,7 @@ import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.Stack;
|
||||
import kotlin.KotlinPackage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.backend.common.CodegenUtil;
|
||||
@@ -1442,8 +1443,10 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
||||
argumentGenerator.generate(valueArguments);
|
||||
}
|
||||
|
||||
ConstructorDescriptor constructorDescriptor = bindingContext.get(CONSTRUCTOR, expression.getObjectDeclaration());
|
||||
assert constructorDescriptor != null : "Unresolved constructor: " + expression.getText();
|
||||
Collection<ConstructorDescriptor> constructors = classDescriptor.getConstructors();
|
||||
assert constructors.size() == 1 : "Unexpected number of constructors for class: " + classDescriptor + " " + constructors;
|
||||
ConstructorDescriptor constructorDescriptor = KotlinPackage.single(constructors);
|
||||
|
||||
JvmMethodSignature constructor = typeMapper.mapSignature(constructorDescriptor);
|
||||
v.invokespecial(type.getInternalName(), "<init>", constructor.getAsmMethod().getDescriptor(), false);
|
||||
return StackValue.onStack(type);
|
||||
|
||||
@@ -1078,8 +1078,10 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
private void generatePrimaryConstructor(final DelegationFieldsInfo delegationFieldsInfo) {
|
||||
if (ignoreIfTraitOrAnnotation()) return;
|
||||
|
||||
ConstructorDescriptor constructorDescriptor = bindingContext.get(BindingContext.CONSTRUCTOR, myClass);
|
||||
assert constructorDescriptor != null : "Constructor not found for class: " + descriptor;
|
||||
Collection<ConstructorDescriptor> constructors = descriptor.getConstructors();
|
||||
assert constructors.size() == 1 : "Unexpected number of constructors for class: " + descriptor + " " + constructors;
|
||||
|
||||
ConstructorDescriptor constructorDescriptor = KotlinPackage.single(constructors);
|
||||
|
||||
ConstructorContext constructorContext = context.intoConstructor(constructorDescriptor);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user