Write script descriptor type to ASM_TYPE slice

#KT-20707 Fixed
This commit is contained in:
Mikhael Bogdanov
2017-10-10 13:26:24 +02:00
parent eb32f5478a
commit a79c2bf999
5 changed files with 39 additions and 2 deletions
@@ -193,8 +193,15 @@ class CodegenAnnotatingVisitor extends KtVisitorVoid {
@Override
public void visitScript(@NotNull KtScript script) {
classStack.push(bindingContext.get(SCRIPT, script));
nameStack.push(AsmUtil.internalNameByFqNameWithoutInnerClasses(script.getFqName()));
ClassDescriptor scriptDescriptor = bindingContext.get(SCRIPT, script);
// working around a problem with shallow analysis
if (scriptDescriptor == null) return;
String scriptInternalName = AsmUtil.internalNameByFqNameWithoutInnerClasses(script.getFqName());
recordClosure(scriptDescriptor, scriptInternalName);
classStack.push(scriptDescriptor);
nameStack.push(scriptInternalName);
script.acceptChildren(this);
nameStack.pop();
classStack.pop();