if (virtualFile == null || !virtualFile.getName().matches(".*\\.go")) {
return null;
}
ProjectFileIndex projectFileIndex =
ProjectRootManager.getInstance(project).getFileIndex();
ProjectJdkTable jdkTable = ProjectJdkTable.getInstance();
List<Sdk> sdkList = new ArrayList<Sdk>();
sdkList.addAll(GoSdkUtil.getSdkOfType(GoSdkType.getInstance(), jdkTable));
sdkList.addAll(GoSdkUtil.getSdkOfType(GoAppEngineSdkType.getInstance(), jdkTable));
Sdk ownerSdk = null;
VirtualFile ownerSdkRoot = null;
if (projectFileIndex.isInLibraryClasses(virtualFile)) {
VirtualFile classPathRoot = projectFileIndex.getClassRootForFile(virtualFile);
for (Sdk sdk : sdkList) {
VirtualFile sdkRoots[] = sdk.getRootProvider().getFiles(OrderRootType.CLASSES);
for (VirtualFile sdkRoot : sdkRoots) {
if (sdkRoot.equals(classPathRoot)) {