From 4212a71647ae54da141ac04e10cf9a0e1b1d1d66 Mon Sep 17 00:00:00 2001 From: gavinking Date: Sat, 2 Sep 2017 19:39:58 +0200 Subject: [PATCH] fix 'shared restricted' constructors not working on the JVM #7237 --- .../ceylon/compiler/java/codegen/ClassTransformer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler-java/src/com/redhat/ceylon/compiler/java/codegen/ClassTransformer.java b/compiler-java/src/com/redhat/ceylon/compiler/java/codegen/ClassTransformer.java index 26128a8e8b6..35d721b229a 100755 --- a/compiler-java/src/com/redhat/ceylon/compiler/java/codegen/ClassTransformer.java +++ b/compiler-java/src/com/redhat/ceylon/compiler/java/codegen/ClassTransformer.java @@ -3730,13 +3730,14 @@ public long classFlags(ClassOrInterface cdecl) { public long constructor(ClassOrInterface cdecl) { return declarationSharedFlags(cdecl); } + public int constructor(Constructor ctor) { return ctor.isShared() && !Decl.isAncestorLocal(ctor) - && !ctor.isPackageVisibility() && !ctor.isAbstract() && !ModelUtil.isEnumeratedConstructor(ctor) - ? PUBLIC : PRIVATE; + ? (!ctor.isPackageVisibility() ? PUBLIC : 0) + : PRIVATE; } public long typeAlias(TypeAlias decl) {