Merge branch 'master' of git.labs.intellij.net:idea/community

This commit is contained in:
Konstantin Bulenkov
2010-07-05 13:52:43 +04:00
276 changed files with 3027 additions and 1078 deletions
@@ -90,4 +90,8 @@ public final class MockJdkWrapper implements Sdk {
public SdkModificator getSdkModificator() {
return null;
}
public Sdk getDelegate() {
return myDelegate;
}
}
@@ -78,6 +78,7 @@ public class NotNullVerifyingInstrumenter extends ClassAdapter implements Opcode
return new MethodAdapter(v) {
private final ArrayList myNotNullParams = new ArrayList();
private int mySyntheticCount = 0;
private boolean myIsNotNull = false;
//private boolean myIsUnmodifiable = false;
public Label myThrowLabel;
@@ -92,9 +93,15 @@ public class NotNullVerifyingInstrumenter extends ClassAdapter implements Opcode
av = mv.visitParameterAnnotation(parameter,
anno,
visible);
if (isReferenceType(args[parameter]) &&
anno.equals(NOT_NULL_ANNO)) {
myNotNullParams.add(new Integer(parameter));
if (isReferenceType(args[parameter])) {
if (anno.equals(NOT_NULL_ANNO)) {
myNotNullParams.add(new Integer(parameter));
}
else if (anno.equals("Ljava/lang/Synthetic;")) {
// See asm r1278 for what we do this,
// http://forge.objectweb.org/tracker/index.php?func=detail&aid=307392&group_id=23&atid=100023
mySyntheticCount++;
}
}
return av;
}
@@ -117,7 +124,7 @@ public class NotNullVerifyingInstrumenter extends ClassAdapter implements Opcode
}
for (int p = 0; p < myNotNullParams.size(); ++p) {
int var = ((access & ACC_STATIC) == 0) ? 1 : 0;
int param = ((Integer)myNotNullParams.get(p)).intValue();
int param = ((Integer)myNotNullParams.get(p)).intValue() - mySyntheticCount;
for (int i = 0; i < param + startParameter; ++i) {
var += args[i].getSize();
}
@@ -21,14 +21,20 @@ import com.intellij.util.ArrayUtil;
public class InternalInspectionToolsProvider implements InspectionToolProvider {
public static final String GROUP_NAME = "IDEA Platform Inspections";
private static final Class[] CLASSES = new Class[] { UndesirableClassUsageInspection.class };
@Override
public Class[] getInspectionClasses() {
if (!ApplicationManagerEx.getApplicationEx().isInternal()) return ArrayUtil.EMPTY_CLASS_ARRAY;
return getPublicClasses();
if (!isActive()) return ArrayUtil.EMPTY_CLASS_ARRAY;
return CLASSES;
}
public static Class[] getPublicClasses() {
return new Class[] { UndesirableClassUsageInspection.class };
if (isActive()) return ArrayUtil.EMPTY_CLASS_ARRAY;
return CLASSES;
}
private static boolean isActive() {
return ApplicationManagerEx.getApplicationEx().isInternal();
}
}
@@ -18,11 +18,13 @@ package com.intellij.codeInspection.internal;
import com.intellij.codeInspection.BaseJavaLocalInspectionTool;
import com.intellij.codeInspection.ProblemHighlightType;
import com.intellij.codeInspection.ProblemsHolder;
import com.intellij.openapi.application.QueryExecutorBase;
import com.intellij.psi.*;
import com.intellij.ui.components.JBList;
import com.intellij.ui.components.JBScrollPane;
import com.intellij.ui.table.JBTable;
import com.intellij.ui.treeStructure.Tree;
import com.intellij.util.QueryExecutor;
import gnu.trove.THashMap;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
@@ -33,11 +35,12 @@ import java.util.Map;
public class UndesirableClassUsageInspection extends BaseJavaLocalInspectionTool {
private static final Map<String, String> CLASSES = new THashMap<String, String>();
{
static {
CLASSES.put(JList.class.getName(), JBList.class.getName());
CLASSES.put(JTable.class.getName(), JBTable.class.getName());
CLASSES.put(JTree.class.getName(), Tree.class.getName());
CLASSES.put(JScrollPane.class.getName(), JBScrollPane.class.getName());
CLASSES.put(QueryExecutor.class.getName(), QueryExecutorBase.class.getName());
}
@Nls
@@ -209,19 +209,19 @@ public class RefJavaManagerImpl extends RefJavaManager {
@Nullable
public String getType(final RefEntity ref) {
if (ref instanceof RefMethod) {
return RefJavaManager.METHOD;
return METHOD;
}
else if (ref instanceof RefClass) {
return RefJavaManager.CLASS;
return CLASS;
}
else if (ref instanceof RefField) {
return RefJavaManager.FIELD;
return FIELD;
}
else if (ref instanceof RefParameter) {
return RefJavaManager.PARAMETER;
return PARAMETER;
}
else if (ref instanceof RefPackage) {
return RefJavaManager.PACKAGE;
return PACKAGE;
}
return null;
}
@@ -247,8 +247,7 @@ public class RefJavaManagerImpl extends RefJavaManager {
}
public boolean belongsToScope(final PsiElement psiElement) {
if (psiElement instanceof PsiTypeParameter) return false;
return true;
return !(psiElement instanceof PsiTypeParameter);
}
public void export(final RefEntity refEntity, final Element element) {
@@ -265,8 +264,7 @@ public class RefJavaManagerImpl extends RefJavaManager {
private static void appendPackageElement(final Element element, final String packageName) {
final Element packageElement = new Element("package");
packageElement
.addContent(packageName.length() > 0 ? packageName : InspectionsBundle.message("inspection.export.results.default"));
packageElement.addContent(packageName.length() > 0 ? packageName : InspectionsBundle.message("inspection.export.results.default"));
element.addContent(packageElement);
}
@@ -320,7 +318,7 @@ public class RefJavaManagerImpl extends RefJavaManager {
public void visitMethod(final PsiMethod method) {
super.visitMethod(method);
final RefElement refElement = myRefManager.getReference(method);
if (refElement instanceof RefMethod) {
if (refElement instanceof RefMethodImpl) {
((RefMethodImpl)refElement).buildReferences();
}
}
@@ -328,7 +326,7 @@ public class RefJavaManagerImpl extends RefJavaManager {
public void visitField(final PsiField field) {
super.visitField(field);
final RefElement refElement = myRefManager.getReference(field);
if (refElement instanceof RefField) {
if (refElement instanceof RefFieldImpl) {
((RefFieldImpl)refElement).buildReferences();
}
}
@@ -409,4 +407,4 @@ public class RefJavaManagerImpl extends RefJavaManager {
}
}
}
}
}
@@ -250,43 +250,42 @@ public class RefMethodImpl extends RefJavaElementImpl implements RefMethod {
public void buildReferences() {
// Work on code block to find what we're referencing...
PsiMethod method = (PsiMethod) getElement();
if (method != null) {
PsiCodeBlock body = method.getBody();
final RefJavaUtil refUtil = RefJavaUtil.getInstance();
refUtil.addReferences(method, this, body);
refUtil.addReferences(method, this, method.getModifierList());
checkForSuperCall(method);
setOnlyCallsSuper(refUtil.isMethodOnlyCallsSuper(method));
if (method == null) return;
PsiCodeBlock body = method.getBody();
final RefJavaUtil refUtil = RefJavaUtil.getInstance();
refUtil.addReferences(method, this, body);
refUtil.addReferences(method, this, method.getModifierList());
checkForSuperCall(method);
setOnlyCallsSuper(refUtil.isMethodOnlyCallsSuper(method));
setBodyEmpty(isOnlyCallsSuper() || !isExternalOverride() && (body == null || body.getStatements().length == 0));
setBodyEmpty(isOnlyCallsSuper() || !isExternalOverride() && (body == null || body.getStatements().length == 0));
PsiType retType = method.getReturnType();
if (retType != null) {
PsiType psiType = retType;
RefClass ownerClass = refUtil.getOwnerClass(getRefManager(), method);
PsiType retType = method.getReturnType();
if (retType != null) {
PsiType psiType = retType;
RefClass ownerClass = refUtil.getOwnerClass(getRefManager(), method);
if (ownerClass != null) {
psiType = psiType.getDeepComponentType();
if (ownerClass != null) {
psiType = psiType.getDeepComponentType();
if (psiType instanceof PsiClassType) {
PsiClass psiClass = PsiUtil.resolveClassInType(psiType);
if (psiClass != null && getRefManager().belongsToScope(psiClass)) {
RefClassImpl refClass = (RefClassImpl) getRefManager().getReference(psiClass);
if (refClass != null) {
refClass.addTypeReference(ownerClass);
refClass.addClassExporter(this);
}
if (psiType instanceof PsiClassType) {
PsiClass psiClass = PsiUtil.resolveClassInType(psiType);
if (psiClass != null && getRefManager().belongsToScope(psiClass)) {
RefClassImpl refClass = (RefClassImpl) getRefManager().getReference(psiClass);
if (refClass != null) {
refClass.addTypeReference(ownerClass);
refClass.addClassExporter(this);
}
}
}
}
for (RefParameter parameter : getParameters()) {
refUtil.setIsFinal(parameter, parameter.getElement().hasModifierProperty(PsiModifier.FINAL));
}
getRefManager().fireBuildReferences(this);
}
for (RefParameter parameter : getParameters()) {
refUtil.setIsFinal(parameter, parameter.getElement().hasModifierProperty(PsiModifier.FINAL));
}
getRefManager().fireBuildReferences(this);
}
private void collectUncaughtExceptions(PsiMethod method) {
@@ -584,13 +584,14 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
final SearchScope searchScope = options.searchScope;
if (element instanceof PsiMethod && ((PsiMethod)element).isConstructor()){
PsiMethod method = (PsiMethod)element;
if (options.isIncludeOverloadUsages) {
for (PsiMethod constructor : method.getContainingClass().getConstructors()) {
addConstructorUsages(constructor, searchScope, result, options);
}
}
else {
addConstructorUsages(method, searchScope, result, options);
final PsiClass parentClass = method.getContainingClass();
if (parentClass != null) {
MethodReferencesSearch.search(new MethodReferencesSearch.SearchParameters(method, searchScope, !options.isIncludeOverloadUsages, options.fastTrack)).forEach(new ReadActionProcessor<PsiReference>() {
public boolean processInReadAction(final PsiReference ref) {
return addResult(result, ref, options, parentClass);
}
});
}
return;
}
@@ -609,17 +610,6 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{
}
}
private static void addConstructorUsages(PsiMethod method, SearchScope searchScope, final Processor<UsageInfo> result, final FindUsagesOptions options) {
final PsiClass parentClass = method.getContainingClass();
if (parentClass == null) return;
ReferencesSearch.search(new ReferencesSearch.SearchParameters(method, searchScope, false, options.fastTrack)).forEach(new ReadActionProcessor<PsiReference>() {
public boolean processInReadAction(final PsiReference ref) {
return addResult(result, ref, options, parentClass);
}
});
}
public static void addResult(Processor<UsageInfo> total, PsiElement element, FindUsagesOptions options, PsiElement refElement) {
if (filterUsage(element, options, refElement)){
total.process(new UsageInfo(element));
@@ -163,7 +163,7 @@ public class JavaSdkImpl extends JavaSdk {
int minorDot = versionString.indexOf('.', dotIdx + 1);
if (minorDot > 0) {
int minor = Integer.parseInt(versionString.substring(dotIdx + 1, minorDot));
versionString = String.valueOf(major) + "." + String.valueOf(minor);
versionString = major + "." + minor;
}
}
catch (NumberFormatException e) {
@@ -220,13 +220,10 @@ public class JavaSdkImpl extends JavaSdk {
private final Map<String, String> myCachedVersionStrings = new HashMap<String, String>();
public final String getVersionString(final String sdkHome) {
String versionString;
if(myCachedVersionStrings.containsKey(sdkHome)) {
if (myCachedVersionStrings.containsKey(sdkHome)) {
return myCachedVersionStrings.get(sdkHome);
} else {
versionString = getJdkVersion(sdkHome);
}
String versionString = getJdkVersion(sdkHome);
if (versionString != null && versionString.length() == 0) {
versionString = null;
}
@@ -268,47 +265,44 @@ public class JavaSdkImpl extends JavaSdk {
return jdk;
}
public static Sdk getMockJdkCE() {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK");
private static File getPathForJdkNamed(String name) {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/" + name);
if (mockJdkCEPath.exists()) {
return createMockJdk(mockJdkCEPath.getPath(), "java 1.5", getInstance());
return mockJdkCEPath;
}
mockJdkCEPath = new File(PathManager.getHomePath(), "community/java/mockJDK");
if (mockJdkCEPath.exists()) {
return createMockJdk(mockJdkCEPath.getPath(), "java 1.5", getInstance());
}
return getMockJdk("java 1.5");
return new File(PathManager.getHomePath(), "community/java/" + name);
}
public static Sdk getMockJdk(@NonNls String versionName) {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK");
if (mockJdkCEPath.exists()) {
return createMockJdk(mockJdkCEPath.getPath(), versionName, getInstance());
}
final String forcedPath = System.getProperty("idea.testingFramework.mockJDK");
String jdkHome = forcedPath != null ? forcedPath : PathManager.getHomePath() + File.separator + "mockJDK";
return createMockJdk(jdkHome, versionName, getInstance());
}
public static Sdk getMockJdk15(@NonNls String versionName) {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK");
if (mockJdkCEPath.exists()) {
return createMockJdk(mockJdkCEPath.getPath(), versionName, getInstance());
}
String jdkHome = PathManager.getHomePath() + File.separator + "mockJDK-1.5";
return createMockJdk(jdkHome, versionName, getInstance());
}
public static Sdk getMockJdk17() {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK-1.7");
if (mockJdkCEPath.exists()) {
return createMockJdk(mockJdkCEPath.getPath(), "java 1.7", getInstance());
}
mockJdkCEPath = new File(PathManager.getHomePath(), "community/java/mockJDK-1.7");
return createMockJdk(mockJdkCEPath.getPath(), "java 1.7", getInstance());
return getMockJdk17("java 1.7");
}
public static Sdk getMockJdk17(String name) {
File mockJdkCEPath = getPathForJdkNamed("mockJDK-1.7");
return createMockJdk(mockJdkCEPath.getPath(), name, getInstance());
}
public static Sdk getMockJdk14() {
File mockJdkCEPath = getMockJdk14Path();
return createMockJdk(mockJdkCEPath.getPath(), "java 1.4", getInstance());
}
public static File getMockJdk14Path() {
return getPathForJdkNamed("mockJDK-1.4");
}
public static Sdk getWebMockJdk17() {
Sdk jdk = getMockJdk17();
addWebJarsTo(jdk);
return jdk;
}
public static void addWebJarsTo(Sdk jdk) {
SdkModificator sdkModificator = jdk.getSdkModificator();
File jar = new File(PathManager.getHomePath(), "lib/jsp-api.jar");
VirtualFile root = JarFileSystem.getInstance().getJarRootForLocalFile(LocalFileSystem.getInstance().findFileByIoFile(jar));
sdkModificator.addRoot(root, OrderRootType.CLASSES);
File jar2 = new File(PathManager.getHomePath(), "lib/servlet-api.jar");
VirtualFile root2 = JarFileSystem.getInstance().getJarRootForLocalFile(LocalFileSystem.getInstance().findFileByIoFile(jar2));
sdkModificator.addRoot(root2, OrderRootType.CLASSES);
sdkModificator.commitChanges();
}
private static Sdk createMockJdk(String jdkHome, final String versionName, JavaSdk javaSdk) {
@@ -341,9 +335,7 @@ public class JavaSdkImpl extends JavaSdk {
FileFilter jarFileFilter = new FileFilter(){
@SuppressWarnings({"HardCodedStringLiteral"})
public boolean accept(File f){
if (f.isDirectory()) return false;
if (f.getName().endsWith(".jar")) return true;
return false;
return !f.isDirectory() && f.getName().endsWith(".jar");
}
};
@@ -27,9 +27,7 @@ import com.intellij.psi.search.NonClasspathDirectoryScope;
import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
* @author peter
@@ -95,6 +93,31 @@ public abstract class NonClasspathClassFinder extends PsiElementFinder {
return result.toArray(new PsiClass[result.size()]);
}
@Override
public Set<String> getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {
final List<VirtualFile> classRoots = getClassRoots();
if (classRoots.isEmpty()) {
return Collections.emptySet();
}
Set<String> result = new HashSet<String>();
for (final VirtualFile classRoot : classRoots) {
if (scope.contains(classRoot)) {
final String pkgName = psiPackage.getQualifiedName();
final VirtualFile dir = classRoot.findFileByRelativePath(pkgName.replace('.', '/'));
if (dir != null && dir.isDirectory()) {
for (final VirtualFile file : dir.getChildren()) {
if (!file.isDirectory() && "class".equals(file.getExtension())) {
result.add(file.getNameWithoutExtension());
}
}
}
}
}
return result;
}
@Override
public PsiPackage findPackage(@NotNull String qualifiedName) {
final List<VirtualFile> classRoots = getClassRoots();
@@ -309,6 +309,13 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx implements Disposable {
return myNameHelper;
}
public Set<String> getClassNames(PsiPackageImpl psiPackage, GlobalSearchScope scope) {
Set<String> result = new HashSet<String>();
for (PsiElementFinder finder : myElementFinders) {
result.addAll(finder.getClassNames(psiPackage, scope));
}
return result;
}
public PsiClass[] getClasses(PsiPackageImpl psiPackage, GlobalSearchScope scope) {
List<PsiClass> result = null;
for (PsiElementFinder finder : myElementFinders) {
@@ -428,9 +435,8 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx implements Disposable {
@NotNull
public PsiClass[] getClasses(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {
List<PsiClass> list = null;
final PsiDirectory[] dirs = psiPackage.getDirectories(scope);
String packageName = psiPackage.getQualifiedName();
for (PsiDirectory dir : dirs) {
for (PsiDirectory dir : psiPackage.getDirectories(scope)) {
PsiClass[] classes = JavaDirectoryService.getInstance().getClasses(dir);
if (classes.length == 0) continue;
if (list == null) list = new ArrayList<PsiClass>();
@@ -446,6 +452,30 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx implements Disposable {
return list == null ? PsiClass.EMPTY_ARRAY : list.toArray(new PsiClass[list.size()]);
}
@Override
public Set<String> getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {
Set<String> names = null;
for (PsiDirectory dir : psiPackage.getDirectories(scope)) {
for (PsiFile file : dir.getFiles()) {
if (file instanceof PsiClassOwner) {
final Set<String> inFile;
if (file instanceof PsiClassOwnerEx) {
inFile = ((PsiClassOwnerEx)file).getClassNames();
} else {
inFile = getClassNames(((PsiClassOwner)file).getClasses());
}
if (inFile.isEmpty()) continue;
if (names == null) names = new HashSet<String>();
names.addAll(inFile);
}
}
}
return names == null ? Collections.<String>emptySet() : names;
}
@Override
public boolean processPackageDirectories(@NotNull PsiPackage psiPackage, @NotNull final GlobalSearchScope scope, final Processor<PsiDirectory> consumer) {
final PsiManager psiManager = PsiManager.getInstance(getProject());
@@ -53,11 +53,13 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.lang.ref.SoftReference;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class ClsFileImpl extends ClsRepositoryPsiElement<PsiClassHolderFileStub> implements PsiJavaFile, PsiFileWithStubSupport, PsiFileEx,
Queryable {
Queryable, PsiClassOwnerEx {
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.compiled.ClsFileImpl");
static final Object MIRROR_LOCK = new String("Mirror Lock");
@@ -174,6 +176,11 @@ public class ClsFileImpl extends ClsRepositoryPsiElement<PsiClassHolderFileStub>
return ArrayUtil.EMPTY_STRING_ARRAY;
}
@Override
public Set<String> getClassNames() {
return Collections.singleton(getVirtualFile().getNameWithoutExtension());
}
@NotNull
public PsiJavaCodeReferenceElement[] getImplicitlyImportedPackageReferences() {
return PsiJavaCodeReferenceElement.EMPTY_ARRAY;
@@ -58,7 +58,6 @@ import com.intellij.util.CommonProcessors;
import com.intellij.util.Icons;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.ContainerUtil;
import gnu.trove.THashSet;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -424,20 +423,11 @@ public class PsiPackageImpl extends PsiElementBase implements PsiPackage, Querya
return (JavaPsiFacadeImpl)JavaPsiFacade.getInstance(myManager.getProject());
}
private Set<String> buildClassnamesCache() {
Set<String> classNames = new THashSet<String>();
for (PsiClass aClass: getClasses()) {
classNames.add(aClass.getName());
}
return classNames;
}
private Set<String> getClassNamesCache() {
if (myPublicClassNamesCache == null) {
Set<String> classNames = getFacade().getClassNames(this, allScope());
synchronized (myPublicClassNamesCacheLock) {
if (myPublicClassNamesCache == null) {
myPublicClassNamesCache = buildClassnamesCache();
}
myPublicClassNamesCache = classNames;
}
}
@@ -96,7 +96,10 @@ public class PsiImmediateClassType extends PsiClassType {
List<PsiType> lst = new ArrayList<PsiType>();
final PsiTypeParameter[] parameters = myClass.getTypeParameters();
for (PsiTypeParameter parameter : parameters) {
lst.add(mySubstitutor.substitute(parameter));
PsiType substituted = mySubstitutor.substitute(parameter);
if (substituted != null) {
lst.add(substituted);
}
}
return lst.toArray(new PsiType[lst.size()]);
}
@@ -1,7 +1,7 @@
public void Test1 {
public class Test1 {
void foo() {
if (Test.FIRST.invert() != Test.SECOND) {
//assert
}
}
}
}
@@ -1,5 +1,6 @@
import javax.swing.*;
import java.awt.*;
import javax.swing.*;
public class ComponentCaller extends JComponent{
Component1 component1;
@@ -1,5 +1,6 @@
import javax.swing.*;
import java.awt.*;
import javax.swing.*;
public class ComponentCaller extends JComponent{
Component1 component1;
@@ -33,7 +33,7 @@ public class ClassNameCompletionTest extends CompletionTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected void tearDown() throws Exception {
@@ -41,7 +41,7 @@ public abstract class CompletionSortingTestCase extends LightCompletionTestCase
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected abstract String getBasePath();
@@ -90,6 +90,6 @@ public class HeavySmartTypeCompletion15Test extends CompletionTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -190,6 +190,6 @@ public class SecondSmartTypeCompletionTest extends LightCompletionTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -1077,7 +1077,7 @@ public class SmartTypeCompletionTest extends LightCompletionTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void select() {
@@ -10,19 +10,21 @@ import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.colors.TextAttributesKey;
import com.intellij.openapi.editor.markup.EffectType;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.packageDependencies.DependencyValidationManager;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiClassType;
import com.intellij.psi.PsiField;
import com.intellij.psi.PsiJavaFile;
import com.intellij.psi.search.scope.packageSet.NamedScope;
import com.intellij.psi.search.scope.packageSet.NamedScopeManager;
import com.intellij.psi.search.scope.packageSet.NamedScopesHolder;
@@ -64,7 +66,7 @@ public class AdvHighlightingTest extends DaemonAnalyzerTestCase {
protected Sdk getTestProjectJdk() {
@NonNls boolean is50 = "StaticImportConflict".equals(getTestName(false));
LanguageLevelProjectExtension.getInstance(myProject).setLanguageLevel(is50 ? LanguageLevel.JDK_1_5 : LanguageLevel.JDK_1_4);
return is50 ? JavaSdkImpl.getMockJdk15("java 1.5") : JavaSdkImpl.getMockJdk("java 1.4");
return is50 ? JavaSdkImpl.getMockJdk17("java 1.5") : JavaSdkImpl.getMockJdk14();
}
public void testStaticImportConflict() throws Exception { doTest(BASE_PATH+"/staticImportConflict/Usage.java", BASE_PATH+"/staticImportConflict", false, false); }
@@ -147,10 +149,10 @@ public class AdvHighlightingTest extends DaemonAnalyzerTestCase {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel4 = rootManager4.getModifiableModel();
rootModel4.setSdk(JavaSdkImpl.getMockJdk("java 1.4"));
rootModel4.setSdk(JavaSdkImpl.getMockJdk17("java 1.4"));
rootModel4.commit();
final ModifiableRootModel rootModel5 = rootManager5.getModifiableModel();
rootModel5.setSdk(JavaSdkImpl.getMockJdk15("java 1.5"));
rootModel5.setSdk(JavaSdkImpl.getMockJdk17("java 1.5"));
rootModel5.addModuleOrderEntry(java4);
rootModel5.commit();
}
@@ -38,7 +38,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase {
}
@Override protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected void tearDown() throws Exception {
@@ -135,7 +135,7 @@ public class ImportHelperTest extends DaemonAnalyzerTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("mock 1.5");
return JavaSdkImpl.getMockJdk17("mock 1.5");
}
private void checkAddImport(PsiJavaFile file, String fqn, String... expectedOrder) {
@@ -115,6 +115,6 @@ public class JavadocHighlightingTest extends LightDaemonAnalyzerTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -8,15 +8,21 @@ import com.intellij.lang.LanguageAnnotators;
import com.intellij.lang.annotation.HighlightSeverity;
import com.intellij.lang.injection.MultiHostInjector;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.impl.source.tree.injected.JavaConcatenationInjectorManager;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
import com.intellij.util.Function;
import org.jetbrains.annotations.NonNls;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class LightAdvHighlightingPerformanceTest extends LightDaemonAnalyzerTestCase {
@@ -31,6 +37,7 @@ public class LightAdvHighlightingPerformanceTest extends LightDaemonAnalyzerTest
Disposer.register(my, BlockExtensions.create(Extensions.getArea(getProject()).getExtensionPoint(MultiHostInjector.MULTIHOST_INJECTOR_EP_NAME)));
IntentionManager.getInstance().getAvailableIntentionActions(); // hack to avoid slowdowns in PyExtensionFactory
PathManagerEx.getTestDataPath(); // to cache stuff
}
@Override
@@ -73,6 +80,7 @@ public class LightAdvHighlightingPerformanceTest extends LightDaemonAnalyzerTest
PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
getFile().getText(); //to load text
CodeInsightTestFixtureImpl.ensureIndexesUpToDate(getProject());
final List<HighlightInfo> infos = new ArrayList<HighlightInfo>();
PlatformTestUtil.assertTiming("Performance failed", maxMillis, new Runnable() {
@@ -88,10 +96,32 @@ public class LightAdvHighlightingPerformanceTest extends LightDaemonAnalyzerTest
public void testaThinlet() throws Exception {
List<HighlightInfo> errors = doTest(24000 - JobSchedulerImpl.CORES_COUNT * 1000);
dump("thinlet", errors);
assertEquals(1157, errors.size());
}
private static void dump(String msg, List<HighlightInfo> errors) {
if (true) return;
Collections.sort(errors, new Comparator<HighlightInfo>() {
@Override
public int compare(HighlightInfo o1, HighlightInfo o2) {
return o1.toString().compareTo(o2.toString());
}
});
String s = StringUtil.join(errors, new Function<HighlightInfo, String>() {
@Override
public String fun(HighlightInfo info) {
return info.toString();
}
}, "\n");
System.out.println(msg+":\n-----------------------------------------");
System.out.println(s);
System.out.println("\n--------------------------------------------");
}
public void testaClassLoader() throws Exception {
List<HighlightInfo> errors = doTest(10000 - JobSchedulerImpl.CORES_COUNT * 1000);
dump("classloader", errors);
assertEquals(176, errors.size());
}
}
@@ -32,7 +32,7 @@ public class SuppressWarningsTest extends LightDaemonAnalyzerTestCase {
}
@Override protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected LocalInspectionTool[] configureLocalInspectionTools() {
@@ -3,7 +3,7 @@ package com.intellij.codeInsight.daemon.quickFix;
public class ChangeParameterClassTest extends LightQuickFixTestCase {
public class ChangeParameterClassTest extends LightQuickFix15TestCase {
public void test() throws Exception {doAllTests();}
@@ -29,6 +29,6 @@ public class CreateFieldFromParameterTest extends LightIntentionActionTestCase {
}
@Override protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -18,7 +18,7 @@ public abstract class LightQuickFix15TestCase extends LightQuickFixTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected void tearDown() throws Exception {
@@ -3,7 +3,7 @@ package com.intellij.codeInsight.daemon.quickFix;
public class MethodReturnTest extends LightQuickFixTestCase {
public class MethodReturnTest extends LightQuickFix15TestCase {
public void test() throws Exception { doAllTests(); }
@@ -18,6 +18,6 @@ public class ReplaceAddAllArrayToCollectionsFixTest extends LightQuickFixTestCas
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -7,7 +7,7 @@ package com.intellij.codeInsight.daemon.quickFix;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
public class SurroundWithArrayFixTest extends LightQuickFixTestCase {
public class SurroundWithArrayFixTest extends LightQuickFix15TestCase {
public void test() throws Exception {
doAllTests();
}
@@ -18,6 +18,6 @@ public class SurroundWithArrayFixTest extends LightQuickFixTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
}
@@ -25,6 +25,6 @@ public class SurroundWithIfFixTest extends LightQuickFixTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -16,7 +16,7 @@
package com.intellij.codeInsight.daemon.quickFix;
public class VariableTypeFromCallTest extends LightQuickFixTestCase {
public class VariableTypeFromCallTest extends LightQuickFix15TestCase {
public void test() throws Exception { doAllTests(); }
@@ -34,7 +34,7 @@ public class SliceBackwardTest extends DaemonAnalyzerTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void dotest() throws Exception {
@@ -26,7 +26,7 @@ public class SliceForwardTest extends DaemonAnalyzerTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void dotest() throws Exception {
@@ -35,7 +35,7 @@ public class SliceTreeTest extends LightDaemonAnalyzerTestCase {
}
@Override protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected void tearDown() throws Exception {
@@ -21,7 +21,6 @@ public class UnusedDeclarationTest extends InspectionTestCase {
protected void setUp() throws Exception {
super.setUp();
myTool = new UnusedDeclarationInspection();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_3);
}
private void doTest() throws Exception {
@@ -25,7 +25,7 @@ public class CyclicDependenciesTest extends PsiTestCase {
public void run() {
try {
String root = JavaTestUtil.getJavaTestDataPath() + "/dependencies/cycle/" + getTestName(true);
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
PsiTestUtil.createTestProjectStructure(myProject, myModule, root, myFilesToDelete);
}
catch (Exception e) {
@@ -37,7 +37,7 @@ public class UsagesInAnalyzingDependenciesTest extends PsiTestCase{
public void run() {
try{
String root = JavaTestUtil.getJavaTestDataPath() + "/dependencies/search/" + getTestName(true);
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
PsiTestUtil.createTestProjectStructure(myProject, myModule, root, myFilesToDelete);
}
catch(Exception e){
@@ -84,11 +84,11 @@ public abstract class BaseProjectViewTestCase extends TestSourceBasedTestCase {
return pane;
}
protected void assertStructureEqual(PsiDirectory packageDirectory, String expected) {
protected void assertStructureEqual(PsiDirectory packageDirectory, @NonNls String expected) {
assertStructureEqual(packageDirectory, expected, 17, myStructure);
}
protected void assertStructureEqual(PsiDirectory packageDirectory, String expected, int maxRowCount) {
protected void assertStructureEqual(PsiDirectory packageDirectory, @NonNls String expected, int maxRowCount) {
assertStructureEqual(packageDirectory, expected, maxRowCount, myStructure);
}
@@ -100,7 +100,7 @@ public abstract class BaseProjectViewTestCase extends TestSourceBasedTestCase {
return (AbstractProjectTreeStructure)myStructure;
}
protected void assertStructureEqual(String expected) {
protected void assertStructureEqual(@NonNls String expected) {
assertStructureEqual(myStructure.getRootElement(), expected);
}
@@ -289,7 +289,7 @@ public abstract class BaseProjectViewTestCase extends TestSourceBasedTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdkCE();
return JavaSdkImpl.getMockJdk17();
}
protected static void sortClasses(final PsiClass[] classes) {
@@ -212,7 +212,7 @@ public class JavaTreeStructureTest extends TestSourceBasedTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdkCE();
return JavaSdkImpl.getMockJdk17();
}
}
@@ -35,7 +35,7 @@ public class ProjectTreeStructureTest extends BaseProjectViewTestCase {
" Class4.java\n");
assertStructureEqual("Project\n" +
" External Libraries\n" +
" Library: < java 1.5 >\n" +
" Library: < java 1.7 >\n" +
" annotations.jar\n" +
" classpath.index\n" +
" META-INF\n" +
@@ -65,7 +65,7 @@ public class ProjectTreeStructureTest extends BaseProjectViewTestCase {
assertStructureEqual("Project\n" +
" External Libraries\n" +
" Library: < java 1.5 >\n" +
" Library: < java 1.7 >\n" +
" annotations.jar\n" +
" classpath.index\n" +
" META-INF\n" +
@@ -64,7 +64,7 @@ public class ProjectViewSwitchingTest extends TestSourceBasedTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdkCE();
return JavaSdkImpl.getMockJdk17();
}
}
@@ -245,7 +245,7 @@ public class StructureViewUpdatingTest extends TestSourceBasedTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdkCE();
return JavaSdkImpl.getMockJdk17();
}
}
@@ -36,7 +36,7 @@ public class ArrayIndexOutOfBoundsTest extends PsiTestCase {
public void run() {
try{
String root = JavaTestUtil.getJavaTestDataPath() + "/psi/arrayIndexOutOfBounds/src";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
myProjectRoot = PsiTestUtil.createTestProjectStructure(myProject, myModule, root, myFilesToDelete);
}
catch(Exception e){
@@ -24,7 +24,7 @@ import java.io.IOException;
public class ClsBuilderTest extends LightIdeaTestCase {
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("1.5");
return JavaSdkImpl.getMockJdk17();
}
public void testUtilList() throws Exception {
@@ -24,7 +24,7 @@ public class ModifyAnnotationsTest extends PsiTestCase {
public void run() {
try {
String root = JavaTestUtil.getJavaTestDataPath() + "/psi/repositoryUse/modifyAnnotations";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk15("mock 1.5"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17("mock 1.5"));
PsiTestUtil.createTestProjectStructure(myProject, myModule, root, myFilesToDelete);
}
catch(Exception e){
@@ -36,7 +36,7 @@ public class ModifyAnnotationsTest extends PsiTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("mock 1.5");
return JavaSdkImpl.getMockJdk17("mock 1.5");
}
public void testReplaceAnnotation() throws Exception {
@@ -19,7 +19,7 @@ public class AnonymousToInnerTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testGenericTypeParameters() throws Exception { // IDEADEV-29446
@@ -37,7 +37,7 @@ public class ChangeSignatureTargetTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest(String expectedMemberName) throws Exception {
@@ -38,7 +38,7 @@ public class CopyClassTest extends CodeInsightTestCase {
private void doTest(final String oldName, final String copyName) throws Exception {
String root = JavaTestUtil.getJavaTestDataPath() + "/refactoring/copyClass/" + getTestName(true);
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk15("java 1.5"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17("java 1.5"));
myRootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, root, myFilesToDelete);
performAction(oldName, copyName);
@@ -70,7 +70,7 @@ public class CopyClassTest extends CodeInsightTestCase {
private void doMultifileTest() throws Exception {
String root = JavaTestUtil.getJavaTestDataPath() + "/refactoring/copyClass/multifile/" + getTestName(true);
String rootBefore = root + "/before";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
final HashMap<PsiFile, PsiClass[]> map = new HashMap<PsiFile, PsiClass[]>();
@@ -27,6 +27,6 @@ public class ExtractMethod15Test extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -31,7 +31,7 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testExitPoints1() throws Exception {
@@ -63,7 +63,7 @@ public class ExtractSuperClassTest extends CodeInsightTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("mock 1.5");
return JavaSdkImpl.getMockJdk17();
}
@Override
@@ -80,7 +80,7 @@ public class ExtractSuperClassTest extends CodeInsightTestCase {
private void doTest(@NonNls final String className, @NonNls final String newClassName,
RefactoringTestUtil.MemberDescriptor... membersToFind) throws Exception {
String rootBefore = getRoot() + "/before";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.5"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk14());
final VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
PsiClass psiClass = myJavaFacade.findClass(className, ProjectScope.getAllScope(myProject));
assertNotNull(psiClass);
@@ -100,4 +100,4 @@ public class ExtractSuperClassTest extends CodeInsightTestCase {
myProject.getComponent(PostprocessReformattingAspect.class).doPostponedFormatting();
IdeaTestUtil.assertDirectoriesEqual(rootDir2, rootDir, IdeaTestUtil.CVS_FILE_FILTER);
}
}
}
@@ -21,7 +21,7 @@ public abstract class FindMethodDuplicatesBaseTest extends LightCodeInsightTestC
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected void doTest() throws Exception {
@@ -24,7 +24,7 @@ public class InheritanceToDelegationTest extends MultiFileTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
protected String getTestRoot() {
@@ -23,7 +23,7 @@ public class InlineSuperClassTest extends MultiFileTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest() throws Exception {
@@ -88,6 +88,6 @@ public class IntroduceConstantTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -19,7 +19,7 @@ public class IntroduceFieldInSameClassTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testInClassInitializer () throws Exception {
@@ -328,6 +328,6 @@ public class IntroduceParameterTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -75,7 +75,7 @@ public class MoveClassTest extends CodeInsightTestCase {
String root = JavaTestUtil.getJavaTestDataPath() + "/refactoring/moveClass/" + testName;
String rootBefore = root + "/before";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
performAction(classNames, newPackageName);
@@ -120,7 +120,7 @@ public class MoveClassToInnerTest extends CodeInsightTestCase {
private VirtualFile prepareTest() throws Exception {
String rootBefore = getRoot() + "/before";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
return PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
}
@@ -153,4 +153,4 @@ public class MoveClassToInnerTest extends CodeInsightTestCase {
PsiDocumentManager.getInstance(myProject).commitAllDocuments();
FileDocumentManager.getInstance().saveAllDocuments();
}
}
}
@@ -129,7 +129,7 @@ public class PullUpTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("50");
return JavaSdkImpl.getMockJdk17("50");
}
@Override
@@ -28,7 +28,7 @@ public class PushDownMultifileTest extends MultiFileTestCase {
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest() throws Exception {
@@ -105,6 +105,6 @@ public class RenameClassTest extends MultiFileTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -180,7 +180,7 @@ public class RenameCollisionsTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testAllUsagesInCode() throws Exception {
@@ -48,7 +48,7 @@ public class SuggestedParamTypesTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testPostfixExprUsedAsOutput() throws Exception {
@@ -160,6 +160,6 @@ public class TurnRefsToSuperTest extends MultiFileTestCase {
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
}
@@ -30,7 +30,7 @@ import java.io.PrintWriter;
public class TypeCookTest extends MultiFileTestCase {
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
@Override
@@ -26,7 +26,7 @@ public class WrapReturnValueTest extends MultiFileTestCase{
}
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest(final boolean existing) throws Exception {
@@ -22,7 +22,7 @@ public class ChangeClassSignatureTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testNoParams() throws Exception {
@@ -27,7 +27,7 @@ public class InlineConstantFieldTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest() throws Exception {
@@ -23,7 +23,7 @@ public class InlineLocalTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testInference () throws Exception {
@@ -159,7 +159,7 @@ public class InlineMethodTest extends LightCodeInsightTestCase {
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
private void doTest() throws Exception {
@@ -21,7 +21,7 @@ public class InlineParameterTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testSameValue() throws Exception {
@@ -38,7 +38,7 @@ public class InlineToAnonymousClassMultifileTest extends CodeInsightTestCase {
private void doTest(String className) throws Exception {
String rootBefore = getRoot() + "/before";
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
final VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootBefore, myFilesToDelete);
PsiClass classToInline = myJavaFacade.findClass(className, ProjectScope.getAllScope(myProject));
assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline));
@@ -55,4 +55,4 @@ public class InlineToAnonymousClassMultifileTest extends CodeInsightTestCase {
myProject.getComponent(PostprocessReformattingAspect.class).doPostponedFormatting();
IdeaTestUtil.assertDirectoriesEqual(rootDir2, rootDir, IdeaTestUtil.CVS_FILE_FILTER);
}
}
}
@@ -25,7 +25,7 @@ public class InlineToAnonymousClassTest extends LightCodeInsightTestCase {
}
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void testSimple() throws Exception {
@@ -20,7 +20,7 @@ public class InheritedJdkTest extends ModuleTestCase {
}
public void test1() throws Exception {
final Sdk jdk = JavaSdkImpl.getMockJdk("java 1.4");
final Sdk jdk = JavaSdkImpl.getMockJdk17("java 1.4");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
ProjectJdkTable.getInstance().addJdk(jdk);
@@ -39,7 +39,7 @@ public class InheritedJdkTest extends ModuleTestCase {
});
assertTrue("JDK is inherited after explicit inheritSdk()", rootManager.isSdkInherited());
assertTrue("Correct jdk inherited", jdk.equals(rootManager.getSdk()));
assertEquals("Correct jdk inherited", jdk, rootManager.getSdk());
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
@@ -50,9 +50,9 @@ public class InheritedJdkTest extends ModuleTestCase {
});
assertFalse("JDK is not inherited after setJdk(null)", rootManager.isSdkInherited());
assertTrue("No JDK assigned", null == rootManager.getSdk());
assertNull("No JDK assigned", rootManager.getSdk());
final Sdk jdk1 = JavaSdkImpl.getMockJdk("jjj");
final Sdk jdk1 = JavaSdkImpl.getMockJdk17("jjj");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
ProjectJdkTable.getInstance().addJdk(jdk1);
@@ -67,7 +67,7 @@ public class InheritedJdkTest extends ModuleTestCase {
});
assertFalse("JDK is not inherited after setJdk(jdk1)", rootManager.isSdkInherited());
assertTrue("jdk1 is assigned", jdk1.equals(rootManager.getSdk()));
assertEquals("jdk1 is assigned", jdk1, rootManager.getSdk());
}
public void test2() throws Exception {
@@ -81,9 +81,9 @@ public class InheritedJdkTest extends ModuleTestCase {
});
assertTrue("JDK is inherited after inheritSdk()", rootManager.isSdkInherited());
assertTrue("No JDK assigned", null == rootManager.getSdk());
assertNull("No JDK assigned", rootManager.getSdk());
final Sdk mockJdk = JavaSdkImpl.getMockJdk("mock 1.4");
final Sdk mockJdk = JavaSdkImpl.getMockJdk17("mock 1.4");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
ProjectJdkTable.getInstance().addJdk(mockJdk);
@@ -98,7 +98,7 @@ public class InheritedJdkTest extends ModuleTestCase {
});
assertTrue(rootManager.isSdkInherited());
assertTrue("mockJdk inherited", mockJdk.equals(rootManager.getSdk()));
assertEquals("mockJdk inherited", mockJdk, rootManager.getSdk());
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
@@ -115,7 +115,7 @@ public class InheritedJdkTest extends ModuleTestCase {
}, null));
assertNull("Non-existing JDK", rootManager.getSdk());
final Sdk jdk1 = JavaSdkImpl.getMockJdk("jdk1");
final Sdk jdk1 = JavaSdkImpl.getMockJdk17("jdk1");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
ProjectJdkTable.getInstance().addJdk(jdk1);
@@ -124,6 +124,6 @@ public class InheritedJdkTest extends ModuleTestCase {
assertTrue(rootManager.isSdkInherited());
assertNotNull("JDK appeared", rootManager.getSdk());
assertTrue("jdk1 found", jdk1.equals(rootManager.getSdk()));
assertEquals("jdk1 found", jdk1, rootManager.getSdk());
}
}
@@ -58,20 +58,20 @@ public class ModuleRootsExternalizationTest extends ModuleTestCase {
File classes = new File(content, "classes");
File testClasses = new File(content, "testClasses");
final VirtualFile contentFile = LocalFileSystem.getInstance().findFileByIoFile(content);
assertTrue(contentFile != null);
assertNotNull(contentFile);
final VirtualFile sourceFile = LocalFileSystem.getInstance().findFileByIoFile(source);
assertTrue(sourceFile != null);
assertNotNull(sourceFile);
final VirtualFile testSourceFile = LocalFileSystem.getInstance().findFileByIoFile(testSource);
assertTrue(testSourceFile != null);
assertNotNull(testSourceFile);
final VirtualFile excludeFile = LocalFileSystem.getInstance().findFileByIoFile(exclude);
assertTrue(excludeFile != null);
assertNotNull(excludeFile);
final VirtualFile classesFile = LocalFileSystem.getInstance().findFileByIoFile(classes);
assertTrue(classesFile != null);
assertNotNull(classesFile);
final VirtualFile testClassesFile = LocalFileSystem.getInstance().findFileByIoFile(testClasses);
assertTrue(testClassesFile != null);
assertNotNull(testClassesFile);
final File moduleFile = new File(content, "test.iml");
final Module module = createModule(moduleFile);
@@ -85,7 +85,7 @@ public class ModuleRootsExternalizationTest extends ModuleTestCase {
compilerModuleExtension.setCompilerOutputPath(classesFile);
compilerModuleExtension.setCompilerOutputPathForTests(testClassesFile);
compilerModuleExtension.inheritCompilerOutputPath(false);
rootModel.setSdk(JavaSdkImpl.getMockJdk("java 1.4"));
rootModel.setSdk(JavaSdkImpl.getMockJdk17());
contentEntry.addSourceFolder(sourceFile, false);
contentEntry.addSourceFolder(testSourceFile, true);
contentEntry.addExcludeFolder(excludeFile);
@@ -108,7 +108,7 @@ public class ModuleRootsExternalizationTest extends ModuleTestCase {
"<sourceFolder url=\"file://$MODULE_DIR$/testSource\" isTestSource=\"true\" />" +
"<excludeFolder url=\"file://$MODULE_DIR$/exclude\" />" +
"</content>" +
"<orderEntry type=\"jdk\" jdkName=\"java 1.4\" jdkType=\"JavaSDK\" />" +
"<orderEntry type=\"jdk\" jdkName=\"java 1.7\" jdkType=\"JavaSDK\" />" +
"<orderEntry type=\"sourceFolder\" forTests=\"false\" />" +
"</root>",
module);
@@ -142,8 +142,8 @@ public class ModuleRootsExternalizationTest extends ModuleTestCase {
});
final Iterator libraryIterator = moduleLibraryTable.getLibraryIterator();
assertTrue(libraryIterator.next().equals(unnamedLibrary));
assertTrue(libraryIterator.next().equals(namedLibrary));
assertEquals(libraryIterator.next(), unnamedLibrary);
assertEquals(libraryIterator.next(), namedLibrary);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
@@ -24,7 +24,7 @@ import java.io.IOException;
*/
public class RootsChangedTest extends ModuleTestCase {
private MessageBusConnection myConnection;
private RootsChangedTest.MyModuleRootListener myModuleRootListener;
private MyModuleRootListener myModuleRootListener;
protected void setUp() throws Exception {
super.setUp();
@@ -64,7 +64,7 @@ public class RootsChangedTest extends ModuleTestCase {
final Module moduleB = createModule("b.iml");
assertEventsCount(2);
final Sdk jdk = JavaSdkImpl.getMockJdk("AAA");
final Sdk jdk = JavaSdkImpl.getMockJdk17();
ProjectJdkTable.getInstance().addJdk(jdk);
assertEventsCount(0);
@@ -89,11 +89,11 @@ public class RootsChangedTest extends ModuleTestCase {
final Module moduleB = createModule("b.iml");
assertEventsCount(2);
final Sdk jdk = JavaSdkImpl.getMockJdk("AAA");
final Sdk jdk = JavaSdkImpl.getMockJdk17("AAA");
ProjectJdkTable.getInstance().addJdk(jdk);
assertEventsCount(0);
final Sdk jdkBBB = JavaSdkImpl.getMockJdk("BBB");
final Sdk jdkBBB = JavaSdkImpl.getMockJdk17("BBB");
ProjectJdkTable.getInstance().addJdk(jdk);
assertEventsCount(0);
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,15 @@
package com.intellij.psi;
import java.util.Set;
/**
* @author peter
*/
public interface PsiClassOwnerEx extends PsiClassOwner {
/**
* @return a set of the short names of the top-level classes defined in this file, as this may be faster than getName() for each of getClasses()
*/
Set<String> getClassNames();
}
@@ -18,9 +18,14 @@ package com.intellij.psi;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.util.Processor;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
/**
* Allows to extend the mechanism of locating classes and packages by full-qualified name.
* Implementations of this interface need to be registered as extensions in order
@@ -92,6 +97,22 @@ public abstract class PsiElementFinder {
return PsiClass.EMPTY_ARRAY;
}
public Set<String> getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) {
return getClassNames(getClasses(psiPackage, scope));
}
protected static Set<String> getClassNames(PsiClass[] classes) {
if (classes.length == 0) {
return Collections.emptySet();
}
final HashSet<String> names = new HashSet<String>();
for (PsiClass aClass : classes) {
ContainerUtil.addIfNotNull(aClass.getName(), names);
}
return names;
}
public boolean processPackageDirectories(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope, Processor<PsiDirectory> consumer) {
return true;
}
@@ -36,7 +36,7 @@ import org.jetbrains.annotations.NonNls;
@Override
protected Sdk getTestProjectJdk() {
return JavaSdkImpl.getMockJdk("java 1.4");
return JavaSdkImpl.getMockJdk17();
}
@Override
@@ -24,15 +24,20 @@
*/
package com.intellij.testFramework;
import com.intellij.ExtensionPoints;
import com.intellij.analysis.AnalysisScope;
import com.intellij.codeInspection.GlobalInspectionTool;
import com.intellij.codeInspection.InspectionManager;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.deadCode.UnusedCodeExtension;
import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection;
import com.intellij.codeInspection.ex.*;
import com.intellij.codeInspection.reference.RefElement;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.ExtensionPoint;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.roots.ContentEntry;
@@ -40,16 +45,23 @@ import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiManager;
import com.intellij.psi.util.PsiUtil;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import java.io.File;
@SuppressWarnings({"HardCodedStringLiteral"})
public abstract class InspectionTestCase extends PsiTestCase {
private static final Logger LOG = Logger.getInstance("#com.intellij.testFramework.InspectionTestCase");
private UnusedCodeExtension myUnusedCodeExtension;
private VirtualFile ext_src;
public InspectionManagerEx getManager() {
return (InspectionManagerEx) InspectionManager.getInstance(myProject);
@@ -107,7 +119,7 @@ public abstract class InspectionTestCase extends PsiTestCase {
}
}
});
AnalysisScope scope = createAnalysisScope(sourceDir[0]);
AnalysisScope scope = createAnalysisScope(sourceDir[0].getParent());
InspectionManagerEx inspectionManager = (InspectionManagerEx) InspectionManager.getInstance(myProject);
final GlobalInspectionContextImpl globalContext = inspectionManager.createNewGlobalContext(true);
@@ -146,13 +158,13 @@ public abstract class InspectionTestCase extends PsiTestCase {
if (sourceDir[0] == null) {
sourceDir[0] = projectDir;
}
VirtualFile ext_src = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(new File(testDir + "/ext_src"));
final ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
rootModel.clear();
// configure source and output path
final ContentEntry contentEntry = rootModel.addContentEntry(projectDir);
contentEntry.addSourceFolder(sourceDir[0], false);
ext_src = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(new File(testDir + "/ext_src"));
if (ext_src != null) {
contentEntry.addSourceFolder(ext_src, false);
}
@@ -160,20 +172,67 @@ public abstract class InspectionTestCase extends PsiTestCase {
// IMPORTANT! The jdk must be obtained in a way it is obtained in the normal program!
//ProjectJdkEx jdk = ProjectJdkTable.getInstance().getInternalJdk();
rootModel.setSdk(getTestProjectSdk(sdkName));
rootModel.setSdk(getTestProjectSdk());
rootModel.commit();
}
protected Sdk getTestProjectSdk(String sdkName) {
Sdk sdk;
if ("java 1.5".equals(sdkName)) {
sdk = JavaSdkImpl.getMockJdk15(sdkName);
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
}
else {
sdk = JavaSdkImpl.getMockJdk(sdkName);
}
@Override
protected void setUp() throws Exception {
super.setUp();
ExtensionPoint<UnusedCodeExtension> point = Extensions.getRootArea().getExtensionPoint(ExtensionPoints.DEAD_CODE_TOOL);
myUnusedCodeExtension = new UnusedCodeExtension() {
@NotNull
@Override
public String getDisplayName() {
return "duh";
}
@Override
public boolean isEntryPoint(RefElement refElement) {
return isEntryPoint(refElement.getElement());
}
@Override
public boolean isEntryPoint(PsiElement psiElement) {
return ext_src != null && VfsUtil.isAncestor(ext_src, PsiUtil.getVirtualFile(psiElement), false);
}
@Override
public boolean isSelected() {
return false;
}
@Override
public void setSelected(boolean selected) {
}
public void readExternal(Element element) {
}
public void writeExternal(Element element) {
}
};
point.registerExtension(myUnusedCodeExtension);
}
@Override
protected void tearDown() throws Exception {
ExtensionPoint<UnusedCodeExtension> point = Extensions.getRootArea().getExtensionPoint(ExtensionPoints.DEAD_CODE_TOOL);
point.unregisterExtension(myUnusedCodeExtension);
myUnusedCodeExtension = null;
ext_src = null;
super.tearDown();
}
protected Sdk getTestProjectSdk() {
Sdk sdk = JavaSdkImpl.getMockJdk17();
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
//sdk = JavaSdkImpl.getMockJdk("");
return sdk;
}
@@ -36,7 +36,7 @@ public abstract class LightCodeInsightTestCase extends LightPlatformCodeInsightT
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk("java 1.4");
return JavaSdkImpl.getMockJdk17();
}
protected ModuleType getModuleType() {
@@ -44,7 +44,7 @@ import org.jetbrains.annotations.NonNls;
@Override
protected Sdk getProjectJDK() {
return JavaSdkImpl.getMockJdk("java 1.4");
return JavaSdkImpl.getMockJdk17();
}
protected ModuleType getModuleType() {
@@ -120,7 +120,7 @@ public abstract class PsiTestCase extends ModuleTestCase {
myTestDataBefore = loadData(dataName);
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk("java 1.4"));
PsiTestUtil.removeAllRoots(myModule, JavaSdkImpl.getMockJdk17());
VirtualFile vDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, myDataRoot, myFilesToDelete);
final VirtualFile vFile = vDir.findChild(myTestDataBefore.getTextFile());
@@ -33,7 +33,7 @@ public class DefaultLightProjectDescriptor implements LightProjectDescriptor {
}
public Sdk getSdk() {
return JavaSdkImpl.getMockJdk15("java 1.5");
return JavaSdkImpl.getMockJdk17("java 1.5");
}
public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) {
@@ -48,7 +48,7 @@ public abstract class LightCodeInsightFixtureTestCase extends UsefulTestCase{
}
public Sdk getSdk() {
return JavaSdkImpl.getMockJdk("java 1.4");
return JavaSdkImpl.getMockJdk17();
}
public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) {
@@ -140,4 +140,4 @@ public abstract class LightCodeInsightFixtureTestCase extends UsefulTestCase{
return PsiFileFactory.getInstance(getProject()).createFileFromText(fileName, language, text, false, true);
}
}
}
@@ -23,6 +23,7 @@ import com.intellij.openapi.module.StdModuleTypes;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.projectRoots.impl.MockJdkWrapper;
import com.intellij.openapi.projectRoots.impl.ProjectJdkImpl;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
@@ -127,15 +128,10 @@ abstract class JavaModuleFixtureBuilderImpl<T extends ModuleFixture> extends Mod
final Sdk jdk;
if (myJdk != null) {
jdk = JavaSdkImpl.getInstance().createJdk(module.getName() + "_jdk", myJdk, false);
} else {
switch (myMockJdkLevel) {
default:
jdk = JavaSdkImpl.getMockJdk("java 1.4");
break;
case jdk15:
jdk = JavaSdkImpl.getMockJdk15("java 1.5");
break;
}
((ProjectJdkImpl)jdk).setVersionString("java 1.5");
}
else {
jdk = JavaSdkImpl.getMockJdk17();
}
if (jdk != null) {
model.setSdk(new MockJdkWrapper(CompilerConfigurationImpl.getTestsExternalCompilerHome(), jdk));
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More