From cb10cbdf7a2c4c04c1da8daaa07e9b58c86af0a1 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 22 Aug 2013 17:25:48 +0400 Subject: [PATCH] Remove PSI usages from ScriptDescriptor --- .../jetbrains/jet/codegen/ScriptCodegen.java | 5 +- .../lang/descriptors/ScriptDescriptor.java | 47 +++++++++---------- .../jet/lang/resolve/ScriptBodyResolver.java | 27 ++++++++++- .../lang/resolve/ScriptHeaderResolver.java | 14 ++++-- .../jet/lang/resolve/ScriptNameUtil.java | 2 - 5 files changed, 61 insertions(+), 34 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ScriptCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ScriptCodegen.java index b1aa0a99926..391d4a6e9c0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ScriptCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ScriptCodegen.java @@ -34,7 +34,6 @@ import org.jetbrains.jet.lang.descriptors.ScriptDescriptor; import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; -import org.jetbrains.jet.lang.resolve.ScriptNameUtil; import org.jetbrains.jet.lang.resolve.java.JvmClassName; import javax.inject.Inject; @@ -106,7 +105,7 @@ public class ScriptCodegen extends MemberCodegen { Type blockType = typeMapper.mapType(scriptDescriptor.getReturnType()); - classBuilder.newField(null, ACC_PUBLIC | ACC_FINAL, ScriptNameUtil.LAST_EXPRESSION_VALUE_FIELD_NAME, + classBuilder.newField(null, ACC_PUBLIC | ACC_FINAL, ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME, blockType.getDescriptor(), null, null); JvmMethodSignature jvmSignature = typeMapper.mapScriptSignature(scriptDescriptor, importedScripts); @@ -173,7 +172,7 @@ public class ScriptCodegen extends MemberCodegen { if (stackValue.type != Type.VOID_TYPE) { stackValue.put(stackValue.type, instructionAdapter); instructionAdapter - .putfield(className.getInternalName(), ScriptNameUtil.LAST_EXPRESSION_VALUE_FIELD_NAME, blockType.getDescriptor()); + .putfield(className.getInternalName(), ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME, blockType.getDescriptor()); } instructionAdapter.areturn(Type.VOID_TYPE); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ScriptDescriptor.java b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ScriptDescriptor.java index 928c25fedfd..1c9d22cccbe 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ScriptDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ScriptDescriptor.java @@ -17,14 +17,9 @@ package org.jetbrains.jet.lang.descriptors; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.descriptors.impl.*; -import org.jetbrains.jet.lang.psi.*; -import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.DescriptorFactory; -import org.jetbrains.jet.lang.resolve.ScriptNameUtil; -import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.RedeclarationHandler; @@ -40,6 +35,7 @@ import java.util.HashSet; import java.util.List; public class ScriptDescriptor extends DeclarationDescriptorNonRootImpl { + public static final String LAST_EXPRESSION_VALUE_FIELD_NAME = "rv"; private static final Name NAME = Name.special("