Skip to content

Commit 0f422df

Browse files
committed
In non-lazy mode, script classes are normal MutableClassDescriptors
1 parent 989079e commit 0f422df

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

core/descriptors/src/org/jetbrains/jet/lang/descriptors/ScriptDescriptorImpl.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
3131

3232
import java.util.Collections;
33-
import java.util.HashSet;
3433
import java.util.List;
3534

3635
// SCRIPT: Script declaration descriptor
@@ -48,7 +47,7 @@ public class ScriptDescriptorImpl extends DeclarationDescriptorNonRootImpl imple
4847
KotlinBuiltIns.getInstance().getAnyType(),
4948
new ScriptReceiver(this));
5049

51-
private final ClassDescriptorImpl classDescriptor;
50+
private final MutableClassDescriptor classDescriptor;
5251

5352
private final WritableScopeImpl classScope;
5453
private WritableScope scopeForBodyResolution;
@@ -62,11 +61,16 @@ public ScriptDescriptorImpl(
6261
super(containingDeclaration, Annotations.EMPTY, NAME);
6362
this.priority = priority;
6463

65-
classDescriptor = new ClassDescriptorImpl(containingDeclaration, className, Modality.FINAL,
66-
Collections.singleton(KotlinBuiltIns.getInstance().getAnyType()));
67-
classScope = new WritableScopeImpl(scriptScope, containingDeclaration, RedeclarationHandler.DO_NOTHING, "script members");
64+
classDescriptor = new MutableClassDescriptor(containingDeclaration, scriptScope, ClassKind.CLASS, false, className);
65+
classDescriptor.addSupertype(KotlinBuiltIns.getInstance().getAnyType());
66+
classDescriptor.setModality(Modality.FINAL);
67+
classDescriptor.setVisibility(Visibilities.PUBLIC);
68+
classDescriptor.setTypeParameterDescriptors(Collections.<TypeParameterDescriptor>emptyList());
69+
70+
classScope = new WritableScopeImpl(JetScope.EMPTY, classDescriptor, RedeclarationHandler.DO_NOTHING, "script members");
6871
classScope.changeLockLevel(WritableScope.LockLevel.BOTH);
69-
classDescriptor.initialize(classScope, new HashSet<ConstructorDescriptor>(), null);
72+
classDescriptor.setScopeForMemberLookup(classScope);
73+
classDescriptor.createTypeConstructor();
7074
}
7175

7276
public void initialize(

0 commit comments

Comments
 (0)