Using isTopLevelDeclaration instaed of a direct instanceof check

This commit is contained in:
Andrey Breslav
2013-01-17 11:51:45 +04:00
parent a089054b1a
commit aa39519323
8 changed files with 15 additions and 15 deletions
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.k2js.translate.context.Namer;
import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.general.AbstractTranslator;
@@ -96,7 +97,7 @@ public final class NamespaceDeclarationTranslator extends AbstractTranslator {
private JsObjectLiteral getRootPackage(Map<NamespaceDescriptor, List<JsExpression>> descriptorToDefineInvocation,
NamespaceDescriptor descriptor) {
NamespaceDescriptor rootNamespace = descriptor;
while (rootNamespace.getContainingDeclaration() instanceof NamespaceDescriptor) {
while (DescriptorUtils.isTopLevelDeclaration(rootNamespace)) {
rootNamespace = (NamespaceDescriptor) rootNamespace.getContainingDeclaration();
}
@@ -21,9 +21,9 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.ConstructorDescriptor;
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.psi.JetClassOrObject;
import org.jetbrains.jet.lang.psi.JetFunctionLiteralExpression;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.k2js.translate.LabelGenerator;
import org.jetbrains.k2js.translate.context.Namer;
import org.jetbrains.k2js.translate.context.TraceableThisAliasProvider;
@@ -71,7 +71,7 @@ public class LiteralFunctionTranslator {
funContext = createThisTraceableContext(classDescriptor, fun, new JsNameRef("o", fun.getName().makeRef()));
}
else {
asInner = descriptor.getContainingDeclaration() instanceof NamespaceDescriptor;
asInner = DescriptorUtils.isTopLevelDeclaration(descriptor);
funContext = rootContext.contextWithScope(fun);
}