@NotNull @Override public Collection<PsiFileSystemItem> computeDefaultContexts() { PsiFile file = getContainingFile(); if (file == null || !file.isValid() || isAbsolutePathReference()) { return Collections.emptyList(); } PsiManager psiManager = file.getManager(); Module module = ModuleUtilCore.findModuleForPsiElement(file); Project project = file.getProject(); LinkedHashSet<VirtualFile> sourceRoots = GoVendoringUtil.isVendoringEnabled(module) ? GoSdkUtil.getVendoringAwareSourcesPathsToLookup(project, module, file.getVirtualFile()) : GoSdkUtil.getSourcesPathsToLookup(project, module); return ContainerUtil.mapNotNull(sourceRoots, psiManager::findDirectory); }
if (file == null || !file.isValid() || isAbsolutePathReference()) { return Collections.emptyList();
referenceRange.getEndOffset(), () -> { if (file.isValid() && !editor.isDisposed()) { perform(packagesToImport, file, editor);
public static boolean isScannable(@Nullable final PsiFile psiFile, @NotNull final Optional<Module> module, @NotNull final PluginConfigurationManager pluginConfig) { return psiFile != null && psiFile.isValid() && psiFile.isPhysical() && hasDocument(psiFile) && isInSource(psiFile, pluginConfig) && isValidFileType(psiFile, pluginConfig) && isScannableIfTest(psiFile, pluginConfig) && modulesMatch(psiFile, module) && !isGenerated(psiFile); }
private boolean isPsiFileValid(PsiFile psiFile) { return psiFile.isValid(); }
public boolean isValid() { if (!psiFile.isValid()) { return false; } return range == null || range.isValid(); }
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { return file instanceof BashFile && file.isValid() && file.isWritable(); }
public static void createAnnotations(@NotNull final PsiFile file, @Nullable final Problems problems, @NotNull final DAnnotationHolder holder) { if (problems == null || problems.isEmpty() || !file.isValid()) return; for (final DProblem problem : problems) { problem.createAnnotations(file, holder); } }
private void addFile(Map<VirtualFile, Collection<LiveIssue>> data, String fileName, int numIssues) { VirtualFile file = mock(VirtualFile.class); when(file.getName()).thenReturn(fileName); when(file.isValid()).thenReturn(true); PsiFile psiFile = mock(PsiFile.class); when(psiFile.isValid()).thenReturn(true); List<LiveIssue> issueList = new LinkedList<>(); for (int i = 0; i < numIssues; i++) { issueList.add(mockIssuePointer(fileName, i, "rule" + i, "MAJOR", (long) i)); } data.put(file, issueList); }
private static LiveIssue createIssue(long date, String message) { PsiFile file = mock(PsiFile.class); when(file.isValid()).thenReturn(true); Issue issue = mock(Issue.class); when(issue.getMessage()).thenReturn(message); when(issue.getSeverity()).thenReturn("MAJOR"); LiveIssue issuePointer = new LiveIssue(issue, file); issuePointer.setCreationDate(date); return issuePointer; } }
private LiveIssue createRangeStoredIssue(int id, String rangeContent, int line) { Issue issue = SonarLintTestUtils.createIssue(id); when(issue.getStartLine()).thenReturn(line); RangeMarker range = mock(RangeMarker.class); when(range.isValid()).thenReturn(true); when(range.getDocument()).thenReturn(document); when(document.getText(any(TextRange.class))).thenReturn(rangeContent); PsiFile psiFile = mock(PsiFile.class); when(psiFile.isValid()).thenReturn(true); return new LiveIssue(issue, psiFile, range, Collections.emptyList()); } }
/** Also from CodeCompletionHandlerBase */ private static boolean isCopyUpToDate(Document document, @NotNull PsiFile file) { if (!file.isValid()) { return false; } // the psi file cache might have been cleared by some external activity, // in which case PSI-document sync may stop working PsiFile current = PsiDocumentManager.getInstance(file.getProject()).getPsiFile(document); return current != null && current.getViewProvider().getPsi(file.getLanguage()) == file; }
private static LiveIssue mockIssuePointer(String path, int startOffset, String rule, String severity, @Nullable Long creationDate) { Issue issue = mock(Issue.class); PsiFile psiFile = mock(PsiFile.class); when(psiFile.isValid()).thenReturn(true); ClientInputFile f = mockFile(path); when(issue.getInputFile()).thenReturn(f); when(issue.getRuleKey()).thenReturn(rule); when(issue.getRuleName()).thenReturn(rule); when(issue.getSeverity()).thenReturn(severity); RangeMarker marker = mock(RangeMarker.class); when(marker.getStartOffset()).thenReturn(startOffset); LiveIssue ip = new LiveIssue(issue, psiFile); ip.setCreationDate(creationDate); return ip; }
@Override public boolean doEnter(PsiElement atCaret, PsiFile file, @NotNull Editor editor, boolean modified) { final CaretModel caretModel = editor.getCaretModel(); CodeStyleManager.getInstance(file.getProject()).adjustLineIndent(file, caretModel.getOffset()); reformat(atCaret); commit(editor); if (atCaret instanceof FunctionCall && modified && file.isValid()) { return true; } if (atCaret instanceof CompoundExpression) { super.plainEnter(editor); return true; } if (atCaret instanceof PsiComment) { return true; } if (!(atCaret instanceof PsiFile)) { caretModel.moveToOffset(atCaret.getTextOffset() + atCaret.getTextLength()); } return true; } }