JS: allow to omit delegated constructor call for external classes in common FE. Prohibit delegated constructor call for external classes in JS FE.
This commit is contained in:
@@ -169,8 +169,8 @@ public class BodyResolver {
|
||||
@NotNull KtSecondaryConstructor constructor,
|
||||
@NotNull ClassConstructorDescriptor descriptor
|
||||
) {
|
||||
if (descriptor.isHeader()) {
|
||||
// For header classes, we do not resolve constructor delegation calls because they are prohibited
|
||||
if (descriptor.isHeader() || DescriptorUtils.isEffectivelyExternal(descriptor)) {
|
||||
// For header and external classes, we do not resolve constructor delegation calls because they are prohibited
|
||||
return DataFlowInfo.Companion.getEMPTY();
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ public class BodyResolver {
|
||||
descriptor.getUnsubstitutedPrimaryConstructor() != null &&
|
||||
superClass.getKind() != ClassKind.INTERFACE &&
|
||||
!superClass.getConstructors().isEmpty() &&
|
||||
!descriptor.isHeader() &&
|
||||
!descriptor.isHeader() && !DescriptorUtils.isEffectivelyExternal(descriptor) &&
|
||||
!ErrorUtils.isError(superClass)
|
||||
) {
|
||||
trace.report(SUPERTYPE_NOT_INITIALIZED.on(specifier));
|
||||
|
||||
Reference in New Issue
Block a user