Merge remote branch 'origin/master'

This commit is contained in:
Andrey Breslav
2011-11-01 12:39:41 +03:00
2 changed files with 17 additions and 14 deletions
@@ -1,7 +1,6 @@
package org.jetbrains.jet.lang.psi;
import com.intellij.lang.ASTNode;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.JetNodeTypes;
@@ -105,17 +104,6 @@ public class JetClass extends JetTypeParameterListOwner implements JetClassOrObj
return body.getProperties();
}
public String getFQName() {
JetNamedDeclaration parent = PsiTreeUtil.getParentOfType(this, JetNamespace.class, JetClass.class);
if (parent instanceof JetNamespace) {
return ((JetNamespace) parent).getFQName() + "." + getName();
}
if (parent instanceof JetClass) {
return ((JetClass) parent).getFQName() + "." + getName();
}
return getName();
}
public boolean isTrait() {
return findChildByType(JetTokens.TRAIT_KEYWORD) != null;
}
@@ -8,7 +8,11 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.jet.lang.psi.*;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.jet.lang.psi.JetClass;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetNamedDeclaration;
import org.jetbrains.jet.lang.psi.JetNamespace;
import org.jetbrains.jet.plugin.JetMainDetector;
/**
@@ -21,6 +25,17 @@ public class JetRunConfigurationProducer extends RuntimeConfigurationProducer im
super(JetRunConfigurationType.getInstance());
}
private static String getFQName(JetClass jetClass) {
JetNamedDeclaration parent = PsiTreeUtil.getParentOfType(jetClass, JetNamespace.class, JetClass.class);
if (parent instanceof JetNamespace) {
return ((JetNamespace) parent).getFQName() + "." + jetClass.getName();
}
if (parent instanceof JetClass) {
return getFQName(((JetClass) parent)) + "." + jetClass.getName();
}
return jetClass.getName();
}
@Override
public PsiElement getSourceElement() {
return mySourceElement;
@@ -31,7 +46,7 @@ public class JetRunConfigurationProducer extends RuntimeConfigurationProducer im
JetClass containingClass = (JetClass) location.getParentElement(JetClass.class);
if (containingClass != null && JetMainDetector.hasMain(containingClass.getDeclarations())) {
mySourceElement = containingClass;
return createConfigurationByQName(location.getModule(), configurationContext, containingClass.getFQName());
return createConfigurationByQName(location.getModule(), configurationContext, getFQName(containingClass));
}
PsiFile psiFile = location.getPsiElement().getContainingFile();
if (psiFile instanceof JetFile) {