mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-80266 SQL: NPE in quick doc for lookup
This commit is contained in:
@@ -191,16 +191,16 @@ public class PsiFileFactoryImpl extends PsiFileFactory {
|
||||
public PsiElement createElementFromText(@Nullable final String text,
|
||||
@NotNull final Language language,
|
||||
@NotNull final IElementType type,
|
||||
@NotNull final PsiElement context) {
|
||||
@Nullable final PsiElement context) {
|
||||
if (text == null) return null;
|
||||
final DummyHolder result = DummyHolderFactory.createHolder(context.getManager(), language, context);
|
||||
final DummyHolder result = DummyHolderFactory.createHolder(myManager, language, context);
|
||||
final FileElement holder = result.getTreeElement();
|
||||
|
||||
final ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(language);
|
||||
if (parserDefinition == null) {
|
||||
throw new AssertionError("No parser definition for " + language);
|
||||
}
|
||||
final Project project = context.getProject();
|
||||
final Project project = myManager.getProject();
|
||||
final Lexer lexer = parserDefinition.createLexer(project);
|
||||
final PsiBuilder builder = PsiBuilderFactory.getInstance().createBuilder(project, holder, lexer, language, text);
|
||||
final ASTNode node = parserDefinition.createParser(project).parse(type, builder);
|
||||
|
||||
+5
-2
@@ -564,8 +564,11 @@ public class DocumentationManager {
|
||||
LookupElement item = activeLookup.getCurrentItem();
|
||||
if (item != null) {
|
||||
|
||||
final PsiElement contextElement = file != null ? file.findElementAt(editor.getCaretModel().getOffset()) : null;
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor, editor.getCaretModel().getOffset());
|
||||
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
if (offset > 0 && offset == editor.getDocument().getTextLength()) offset--;
|
||||
final PsiElement contextElement = file == null? null : file.findElementAt(offset);
|
||||
final PsiReference ref = TargetElementUtilBase.findReference(editor, offset);
|
||||
|
||||
final DocumentationProvider documentationProvider = getProviderFromElement(file);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user