Merge remote branch 'origin/master'
This commit is contained in:
@@ -79,7 +79,8 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
|
|||||||
@Override
|
@Override
|
||||||
public boolean isAcceptable(Object element, PsiElement context) {
|
public boolean isAcceptable(Object element, PsiElement context) {
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
return PsiTreeUtil.getParentOfType(context, JetFile.class, false, JetClass.class, JetFunction.class) != null;
|
return PsiTreeUtil.getParentOfType(context, JetFile.class, false, JetClassBody.class, JetBlockExpression.class) != null &&
|
||||||
|
PsiTreeUtil.getParentOfType(context, JetParameterList.class, JetTypeParameterList.class) == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.intellij.debugger.PositionManager;
|
|||||||
import com.intellij.debugger.SourcePosition;
|
import com.intellij.debugger.SourcePosition;
|
||||||
import com.intellij.debugger.engine.DebugProcess;
|
import com.intellij.debugger.engine.DebugProcess;
|
||||||
import com.intellij.debugger.requests.ClassPrepareRequestor;
|
import com.intellij.debugger.requests.ClassPrepareRequestor;
|
||||||
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.psi.PsiFile;
|
import com.intellij.psi.PsiFile;
|
||||||
@@ -101,23 +102,32 @@ public class JetPositionManager implements PositionManager {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Collection<String> classNamesForPosition(SourcePosition sourcePosition) {
|
private Collection<String> classNamesForPosition(final SourcePosition sourcePosition) {
|
||||||
final JetFile file = (JetFile) sourcePosition.getFile();
|
|
||||||
JetTypeMapper typeMapper = prepareTypeMapper(file);
|
|
||||||
final Collection<String> names = new ArrayList<String>();
|
final Collection<String> names = new ArrayList<String>();
|
||||||
JetClassOrObject jetClass = PsiTreeUtil.getParentOfType(sourcePosition.getElementAt(), JetClassOrObject.class);
|
|
||||||
if (jetClass != null) {
|
ApplicationManager.getApplication().runReadAction(new Runnable() {
|
||||||
names.addAll(typeMapper.allJvmNames(jetClass));
|
@Override
|
||||||
}
|
public void run() {
|
||||||
else {
|
final JetFile file = (JetFile) sourcePosition.getFile();
|
||||||
JetFile namespace = PsiTreeUtil.getParentOfType(sourcePosition.getElementAt(), JetFile.class);
|
JetTypeMapper typeMapper = prepareTypeMapper(file);
|
||||||
if (namespace != null) {
|
|
||||||
names.add(NamespaceCodegen.getJVMClassName(JetPsiUtil.getFQName(namespace)));
|
JetClassOrObject jetClass = PsiTreeUtil.getParentOfType(sourcePosition.getElementAt(), JetClassOrObject.class);
|
||||||
|
if (jetClass != null) {
|
||||||
|
names.addAll(typeMapper.allJvmNames(jetClass));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
JetFile namespace = PsiTreeUtil.getParentOfType(sourcePosition.getElementAt(), JetFile.class);
|
||||||
|
if (namespace != null) {
|
||||||
|
names.add(NamespaceCodegen.getJVMClassName(JetPsiUtil.getFQName(namespace)));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
names.add(NamespaceCodegen.getJVMClassName(JetPsiUtil.getFQName(file)));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
});
|
||||||
names.add(NamespaceCodegen.getJVMClassName(JetPsiUtil.getFQName(file)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return names;
|
return names;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package Test
|
||||||
|
|
||||||
|
<caret>
|
||||||
|
|
||||||
|
// EXIST: enum
|
||||||
|
// EXIST: trait
|
||||||
|
// EXIST: class
|
||||||
|
// EXIST: fun
|
||||||
|
|
||||||
Reference in New Issue
Block a user