@Nullable protected static String getPath(@Nullable PsiFile file) { if (file == null) return null; VirtualFile virtualFile = file.getOriginalFile().getVirtualFile(); return virtualFile == null ? null : virtualFile.getPath(); }
public GoFieldProcessor(@NotNull PsiElement element) { super(element); PsiFile containingFile = myOrigin.getContainingFile(); myModule = containingFile != null ? ModuleUtilCore.findModuleForPsiElement(containingFile.getOriginalFile()) : null; }
public static boolean isLocalResolve(@NotNull PsiFile originFile, @NotNull PsiFile externalFile) { if (!(originFile instanceof GoFile) || !(externalFile instanceof GoFile)) return false; GoFile o1 = (GoFile)originFile.getOriginalFile(); GoFile o2 = (GoFile)externalFile.getOriginalFile(); return Comparing.equal(o1.getImportPath(false), o2.getImportPath(false)) && Comparing.equal(o1.getPackageName(), o2.getPackageName()); }
public static boolean allowed(@NotNull PsiFile declarationFile, @Nullable PsiFile referenceFile, @Nullable Module contextModule) { if (!(declarationFile instanceof GoFile)) { return false; } VirtualFile referenceVirtualFile = referenceFile != null ? referenceFile.getOriginalFile().getVirtualFile() : null; if (!allowed(declarationFile.getVirtualFile(), referenceVirtualFile)) { return false; } if (GoConstants.DOCUMENTATION.equals(((GoFile)declarationFile).getPackageName())) { return false; } return GoUtil.matchedForModuleBuildTarget(declarationFile, contextModule); }
public boolean processResolveVariants(@NotNull BallerinaScopeProcessorBase processor) { PsiFile containingFile = myElement.getContainingFile(); if (!(containingFile instanceof BallerinaFile)) { return false; } // Get suggestions from current file. This is needed sometimes because without the dummy identifier inserted // by the IDEA, the file might not generate the PSI tree correctly. if (!processor.execute(containingFile, ResolveState.initial())) { return false; } PsiFile originalFile = containingFile.getOriginalFile(); // Get suggestions from current file. if (!processor.execute(originalFile, ResolveState.initial())) { return false; } // Recursively find definitions in the project starting from the current directory. recursivelyFind(processor, originalFile.getContainingDirectory(), originalFile); return true; }
if (packageFile != referencePsiFile && referencePsiFile.getOriginalFile() != packageFile) { Map<String, GoImportSpec> packagesMap = packageFile.getImportedPackagesMap(); if (packagesMap.containsKey(importPath)) {
PsiFile originalFile = containingFile.getOriginalFile();
public static VirtualFile getRealVirtualFile(final PsiFile psiFile) { return psiFile != null ? psiFile.getOriginalFile().getVirtualFile() : null; }
public static VirtualFile getRealVirtualFile(final PsiFile psiFile) { return psiFile != null ? psiFile.getOriginalFile().getVirtualFile() : null; }
/** * Create a new {@link MapstructTargetReference} with the provided parameters * * @param element the element that the reference belongs to * @param previousReference the previous reference if there is one (in nested properties for example) * @param rangeInElement the range that the reference represent in the {@code element} */ private MapstructTargetReference(PsiLiteral element, MapstructTargetReference previousReference, TextRange rangeInElement) { super( element, previousReference, rangeInElement ); builderSupportPresent = MapstructUtil.isMapStructBuilderSupportPresent( element.getContainingFile() .getOriginalFile() ); }
public static boolean isInDLanguageSdkOrDLanguagePackagesFolder(final @NotNull PsiFile psiFile) { final VirtualFile vFile = psiFile.getOriginalFile().getVirtualFile(); return vFile != null && isInDLanguageSdkOrDLanguagePackagesFolder(psiFile.getProject(), vFile); }
public static void fillWithPackageNameSuggestions(@NotNull PsiElement element, @NotNull final CompletionResultSet result) { PsiFile file = element.getContainingFile().getOriginalFile(); VirtualFile virtualFile = file.getViewProvider().getVirtualFile(); if (virtualFile.getFileType() == PerlFileTypePackage.INSTANCE) { result.addElement(LookupElementBuilder.create(virtualFile.getNameWithoutExtension())); if (file instanceof PerlFileImpl) { String packageName = ((PerlFileImpl)file).getFilePackageName(); if (packageName != null) { result.addElement(LookupElementBuilder.create(packageName)); } } } }
@NotNull private TSMetaModelImpl doGetExternalModel(final @NotNull PsiFile contextFile) { final PsiFile originalFile = contextFile.getOriginalFile(); final VirtualFile vFile = originalFile.getVirtualFile(); final Project project = originalFile.getProject(); CachedValue<TSMetaModelImpl> externalModelCache = originalFile.getUserData(EXTERNAL_MODEL_CACHE_KEY); if (externalModelCache == null) { externalModelCache = CachedValuesManager.getManager(project).createCachedValue( () -> ApplicationManager.getApplication().runReadAction( (Computable<CachedValueProvider.Result<TSMetaModelImpl>>) () -> { final List<VirtualFile> excludes = vFile == null ? Collections.emptyList() : Collections.singletonList(vFile); final TSMetaModelBuilder builder = new TSMetaModelBuilder(project, excludes); final TSMetaModelImpl model = builder.buildModel(); return CachedValueProvider.Result.create(model, builder.getFiles()); }), false); originalFile.putUserData(EXTERNAL_MODEL_CACHE_KEY, externalModelCache); } return externalModelCache.getValue(); }
/** * Returns List of lib directories including class roots, current directory and use lib ones * * @param psiElement to resolve for * @return list of lib dirs */ @NotNull public static List<VirtualFile> getIncDirsForPsiElement(@NotNull PsiElement psiElement) { PsiFile psiFile = psiElement.getContainingFile().getOriginalFile(); List<VirtualFile> result = new ArrayList<>(); // libdirs providers fixme we need to use stubs or psi here for (PerlUseStatement useStatement : PsiTreeUtil.findChildrenOfType(psiFile, PerlUseStatement.class)) { PerlPackageProcessor packageProcessor = useStatement.getPackageProcessor(); if (packageProcessor instanceof PerlLibProvider) { ((PerlLibProvider)packageProcessor).addLibDirs(useStatement, result); } } // classpath result.addAll(PerlProjectManager.getInstance(psiElement.getProject()).getAllLibraryRoots()); // current dir if (PerlSharedSettings.getInstance(psiFile.getProject()).getTargetPerlVersion().lesserThan(PerlVersion.V5_26)) { VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile != null && virtualFile.getParent() != null) { result.add(virtualFile.getParent()); } } return result; }