| /* |
| * Copyright 2000-2013 JetBrains s.r.o. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http:www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package com.intellij.codeInsight.daemon.lambda; |
| |
| import com.intellij.codeInsight.daemon.LightDaemonAnalyzerTestCase; |
| import com.intellij.codeInspection.LocalInspectionTool; |
| import com.intellij.codeInspection.uncheckedWarnings.UncheckedWarningLocalInspection; |
| import com.intellij.codeInspection.unusedImport.UnusedImportLocalInspection; |
| import com.intellij.codeInspection.unusedSymbol.UnusedSymbolLocalInspection; |
| import com.intellij.openapi.projectRoots.JavaSdkVersion; |
| import com.intellij.openapi.projectRoots.Sdk; |
| import com.intellij.openapi.roots.LanguageLevelProjectExtension; |
| import com.intellij.pom.java.LanguageLevel; |
| import com.intellij.psi.JavaPsiFacade; |
| import com.intellij.psi.PsiClass; |
| import com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl; |
| import com.intellij.psi.impl.source.resolve.graphInference.PsiGraphInferenceHelper; |
| import com.intellij.psi.search.GlobalSearchScope; |
| import com.intellij.testFramework.IdeaTestUtil; |
| import org.jetbrains.annotations.NonNls; |
| import org.jetbrains.annotations.NotNull; |
| |
| public class GenericsHighlighting8Test extends LightDaemonAnalyzerTestCase { |
| @NonNls private static final String BASE_PATH = "/codeInsight/daemonCodeAnalyzer/genericsHighlighting8"; |
| |
| @NotNull |
| @Override |
| protected LocalInspectionTool[] configureLocalInspectionTools() { |
| return new LocalInspectionTool[]{new UncheckedWarningLocalInspection(), new UnusedSymbolLocalInspection(), new UnusedImportLocalInspection()}; |
| } |
| |
| @Override |
| protected Sdk getProjectJDK() { |
| return getTestName(false).contains("Jdk14") ? IdeaTestUtil.getMockJdk14() : super.getProjectJDK(); |
| } |
| |
| public void testReferenceTypeParams() { |
| doTest(); |
| } |
| public void testTypeParameterBoundsList() { |
| doTest(); |
| } |
| public void testClassInheritance() { |
| doTest(); |
| } |
| public void testTypeInference() { |
| doTest(); |
| } |
| public void testRaw() { |
| doTest(true); |
| } |
| public void testExceptions() { |
| doTest(); |
| } |
| public void testExplicitMethodParameters() { |
| doTest(); |
| } |
| public void testInferenceWithBounds() { |
| doTest(); |
| } |
| public void testInferenceWithSuperBounds() { |
| doTest(); |
| } |
| public void testInferenceWithUpperBoundPromotion() { |
| doTest(); |
| } |
| public void _testVariance() {//todo |
| doTest(); |
| } |
| public void testForeachTypes() { |
| doTest(); |
| } |
| public void testRawOverridingMethods() { |
| doTest(); |
| } |
| public void _testAutoboxing() { //todo |
| doTest(); |
| } |
| public void testAutoboxingMethods() { |
| doTest(); |
| } |
| public void testAutoboxingConstructors() { |
| doTest(); |
| } |
| public void testEnumWithAbstractMethods() { |
| doTest(); |
| } |
| public void _testEnum() { doTest(); } //todo |
| public void testEnum56239() { |
| doTest(); |
| } |
| public void testSameErasure() { |
| doTest(); |
| } |
| public void testMethods() { |
| doTest(); |
| } |
| public void testFields() { |
| doTest(); |
| } |
| public void testStaticImports() { |
| doTest(true); |
| } |
| public void testUncheckedCasts() { |
| doTest(true); |
| } |
| public void testUncheckedOverriding() { |
| doTest(true); |
| } |
| public void testWildcardTypes() { |
| doTest(true); |
| } |
| public void testConvertibleTypes() { |
| doTest(true); |
| } |
| public void testIntersectionTypes() { |
| doTest(true); |
| } |
| public void testVarargs() { |
| doTest(true); |
| } |
| public void testTypeArgsOnRaw() { |
| doTest(); |
| } |
| public void testConditionalExpression() { |
| doTest(); |
| } |
| public void testUnused() { |
| doTest(true); |
| } |
| public void testIDEADEV7337() { |
| doTest(true); |
| } |
| public void testIDEADEV10459() { |
| doTest(true); |
| } |
| public void testIDEADEV12951() { |
| doTest(true); |
| } |
| public void testIDEADEV13011() { |
| doTest(true); |
| } |
| public void testIDEADEV14006() { |
| doTest(true); |
| } |
| public void testIDEADEV14103() { |
| doTest(true); |
| } |
| public void testIDEADEV15534() { |
| doTest(true); |
| } |
| public void testIDEADEV23157() { |
| doTest(true); |
| } |
| public void testIDEADEV24166() { |
| doTest(true); |
| } |
| public void testIDEADEV57343() { |
| doTest(); |
| } |
| public void testSOE() { |
| doTest(true); |
| } |
| public void testGenericExtendException() { |
| doTest(); |
| } |
| public void testSameErasureDifferentReturnTypes() { |
| doTest(); |
| } |
| public void testDeepConflictingReturnTypes() { |
| doTest(); |
| } |
| public void testInheritFromTypeParameter() { |
| doTest(); |
| } |
| public void testAnnotationsAsPartOfModifierList() { |
| doTest(); |
| } |
| public void testImplementAnnotation() { |
| doTest(); |
| } |
| public void testOverrideAtLanguageLevel6() { |
| doTest(); |
| } |
| public void testSuperMethodCallWithErasure() { |
| doTest(); |
| } |
| public void testWildcardCastConversion() { |
| doTest(); |
| } |
| public void testTypeWithinItsWildcardBound() { |
| doTest(); |
| } |
| public void testMethodSignatureEquality() { |
| doTest(); |
| } |
| public void testInnerClassRef() { |
| doTest(); |
| } |
| public void testPrivateInnerClassRef() { |
| doTest(); |
| } |
| public void testWideningCastToTypeParam() { |
| doTest(); |
| } |
| public void testCapturedWildcardAssignments() { |
| doTest(); |
| } |
| public void testTypeParameterBoundVisibility() { |
| doTest(); |
| } |
| public void testUncheckedWarningsLevel6() { |
| doTest(true); |
| } |
| public void testIDEA77991() { |
| doTest(); |
| } |
| public void testIDEA80386() { |
| doTest(); |
| } |
| public void testIDEA66311() { |
| doTest(); |
| } |
| public void testIDEA67672() { |
| doTest(); |
| } |
| public void testIDEA88895() { |
| doTest(); |
| } |
| public void testIDEA67667() { |
| doTest(); |
| } |
| public void testIDEA66311_16() { |
| doTest(); |
| } |
| public void _testIDEA76283() {//todo bounds |
| doTest(); |
| } |
| public void testIDEA74899() { |
| doTest(); |
| } |
| public void testIDEA63291() { |
| doTest(); |
| } |
| public void testIDEA72912() { |
| doTest(); |
| } |
| public void testIllegalGenericTypeInInstanceof() { |
| doTest(); |
| } |
| public void testIDEA57339() { |
| doTest(); |
| } |
| public void testIDEA57340() { |
| doTest(); |
| } |
| public void testIDEA89771() { |
| doTest(); |
| } |
| public void testIDEA89801() { |
| doTest(); |
| } |
| public void testIDEA67681() { |
| doTest(); |
| } |
| public void testIDEA67599() { |
| doTest(); |
| } |
| public void testIDEA57668() { |
| doTest(); |
| } |
| public void testIDEA57667() { |
| doTest(); |
| } |
| public void testIDEA57650() { |
| doTest(); |
| } |
| public void testIDEA57378() { |
| doTest(); |
| } |
| public void testIDEA57557() { |
| doTest(); |
| } |
| public void testIDEA57563() { |
| doTest(); |
| } |
| public void _testIDEA57275() { |
| doTest(); |
| } |
| public void testIDEA57533() { |
| doTest(); |
| } |
| public void testIDEA57509() { |
| doTest(); |
| } |
| public void testIDEA57410() { |
| doTest(); |
| } |
| public void testIDEA57411() { |
| doTest(); |
| } |
| public void testIDEA57484() { |
| doTest(); |
| } |
| public void _testIDEA57485() {//todo |
| doTest(); |
| } |
| public void testIDEA57486() { |
| doTest(); |
| } |
| public void testIDEA57492() { |
| doTest(); |
| } |
| public void _testIDEA57493() { |
| doTest(); |
| } |
| public void testIDEA57495() { |
| doTest(); |
| } |
| public void testIDEA57494() { |
| doTest(); |
| } |
| public void testIDEA57496() { |
| doTest(); |
| } |
| public void testIDEA57264() { |
| doTest(); |
| } |
| public void testIDEA57315() { |
| doTest(); |
| } |
| public void testIDEA57346() { |
| doTest(); |
| } |
| public void testIDEA57284() { |
| doTest(); |
| } |
| public void testIDEA57286() { |
| doTest(); |
| } |
| public void testIDEA57307() { |
| doTest(true); |
| } |
| public void testIDEA57308() { |
| doTest(); |
| } |
| public void testIDEA57310() { |
| doTest(); |
| } |
| public void testIDEA57311() { |
| doTest(); |
| } |
| public void testIDEA57309() { |
| doTest(); |
| } |
| public void testIDEA90802() { |
| doTest(); |
| } |
| public void testIDEA70370() { |
| doTest(true); |
| } |
| public void testInaccessibleThroughWildcard() { |
| doTest(); |
| } |
| public void testInconvertibleTypes() { |
| doTest(); |
| } |
| public void testIncompatibleReturnType() { |
| doTest(); |
| } |
| public void testContinueInferenceAfterFirstRawResult() { |
| doTest(); |
| } |
| public void testDoNotAcceptLowerBoundIfRaw() { |
| doTest(); |
| } |
| public void testStaticOverride() { |
| doTest(); |
| } |
| public void testTypeArgumentsGivenOnRawType() { |
| doTest(); |
| } |
| public void testSelectFromTypeParameter() { |
| doTest(); |
| } |
| public void testTypeArgumentsGivenOnAnonymousClassCreation() { |
| doTest(); |
| } |
| |
| public void testIDEA94011() { |
| doTest(); |
| } |
| public void testDifferentTypeParamsInOverloadedMethods() { |
| doTest(true); |
| } |
| |
| public void testIDEA91626() { |
| doTest(true); |
| } |
| public void testIDEA92022() { |
| doTest(); |
| } |
| public void testRawOnParameterized() { |
| doTest(); |
| } |
| public void testFailedInferenceWithBoxing() { |
| doTest(); |
| } |
| public void testFixedFailedInferenceWithBoxing() { |
| doTest(); |
| } |
| public void testInferenceWithBoxingCovariant() { |
| doTest(); |
| } |
| public void testSuperWildcardIsNotWithinItsBound() { |
| doTest(); |
| } |
| public void testSpecificReturnType() { |
| doTest(); |
| } |
| public void testParameterizedParameterBound() { |
| doTest(); |
| } |
| public void testInstanceClassInStaticContextAccess() { |
| doTest(); |
| } |
| public void testFlattenIntersectionType() { |
| doTest(); |
| } |
| public void testIDEA97276() { |
| doTest(); |
| } |
| public void testWildcardsBoundsIntersection() { |
| doTest(); |
| } |
| public void testOverrideWithMoreSpecificReturn() { |
| doTest(); |
| } |
| public void testIDEA97888() { |
| doTest(); |
| } |
| public void testMethodCallParamsOnRawType() { |
| doTest(); |
| } |
| public void testIDEA98421() { |
| doTest(); |
| } |
| public void testErasureTypeParameterBound() { |
| doTest(); |
| } |
| public void testThisAsAccessObject() { |
| doTest(); |
| } |
| public void testIDEA67861() { |
| doTest(); |
| } |
| public void testIDEA67597() { |
| doTest(); |
| } |
| public void testIDEA57539() { |
| doTest(); |
| } |
| public void testIDEA67570() { |
| doTest(); |
| } |
| public void testIDEA99061() { |
| doTest(); |
| } |
| public void testIDEA99347() { |
| doTest(); |
| } |
| public void testIDEA86875() { |
| doTest(); |
| } |
| public void testIDEA103760(){ |
| doTest(); |
| } |
| public void testIDEA105846(){ |
| doTest(); |
| } |
| public void testIDEA105695(){ |
| doTest(); |
| } |
| public void testIDEA104992(){ |
| doTest(); |
| } |
| public void testIDEA57446(){ |
| doTest(); |
| } |
| public void testIDEA67677(){ |
| doTest(); |
| } |
| public void testIDEA67798(){ |
| doTest(); |
| } |
| public void testIDEA57534(){ |
| doTest(); |
| } |
| public void testIDEA57482(){ |
| doTest(); |
| } |
| public void testIDEA67577(){ |
| doTest(); |
| } |
| public void testIDEA57413(){ |
| doTest(); |
| } |
| public void testIDEA57265(){ |
| doTest(); |
| } |
| public void testIDEA57271(){ |
| doTest(); |
| } |
| public void testIDEA57272(){ |
| doTest(); |
| } |
| public void testIDEA57285(){ |
| doTest(); |
| } |
| public void testIDEA65066(){ |
| doTest(); |
| } |
| public void testIDEA67998(){ |
| doTest(); |
| } |
| public void testIDEA18425(){ |
| doTest(); |
| } |
| public void testIDEA27080(){ |
| doTest(); |
| } |
| public void testIDEA22079(){ |
| doTest(); |
| } |
| public void testIDEA21602(){ |
| doTest(); |
| } |
| public void testIDEA21602_7(){ |
| doTest(); |
| } |
| |
| public void testIDEA21597() throws Exception { |
| doTest(); |
| } |
| public void testIDEA20573() throws Exception { |
| doTest(); |
| } |
| public void testIDEA20244() throws Exception { |
| doTest(); |
| } |
| public void testIDEA22005() throws Exception { |
| doTest(); |
| } |
| public void testIDEA57259() throws Exception { |
| doTest(); |
| } |
| public void testIDEA107957() throws Exception { |
| doTest(); |
| } |
| public void testIDEA109875() throws Exception { |
| doTest(); |
| } |
| public void testIDEA106964() throws Exception { |
| doTest(); |
| } |
| public void testIDEA107782() throws Exception { |
| doTest(); |
| } |
| public void testInheritedWithDifferentArgsInTypeParams() throws Exception { |
| doTest(); |
| } |
| public void testIllegalForwardReferenceInTypeParameterDefinition() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA57877() throws Exception { |
| doTest(); |
| } |
| public void testIDEA110568() throws Exception { |
| doTest(); |
| } |
| public void testSelfRef() throws Exception { |
| doTest(); |
| } |
| public void testTypeParamsCyclicInference() throws Exception { |
| doTest(); |
| } |
| public void testCaptureTopLevelWildcardsForConditionalExpression() throws Exception { |
| doTest(); |
| } |
| public void testGenericsOverrideMethodInRawInheritor() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA107654() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA55510() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA27185(){ |
| doTest(); |
| } |
| public void testIDEA67571(){ |
| doTest(); |
| } |
| public void _testTypeArgumentsOnRawType(){//todo |
| doTest(); |
| } |
| |
| public void testTypeArgumentsOnRawType17(){ |
| doTest(); |
| } |
| |
| public void testWildcardsOnRawTypes() { |
| doTest(); |
| } |
| public void testDisableWithinBoundsCheckForSuperWildcards() { |
| doTest(); |
| } |
| |
| public void testIDEA108287() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA77128() throws Exception { |
| doTest(); |
| } |
| |
| public void testDisableCastingToNestedWildcards() throws Exception { |
| doTest(); |
| } |
| |
| public void testBooleanInferenceFromIfCondition() throws Exception { |
| doTest(); |
| } |
| |
| public void testMethodCallOnRawTypesExtended() throws Exception { |
| doTest(); |
| } |
| |
| public void testIDEA104100() { |
| doTest(); |
| } |
| public void testIDEA104160() { |
| doTest(); |
| } |
| public void testSOEInLeastUpperClass() { |
| doTest(); |
| } |
| |
| public void testIDEA57334() { |
| doTest(); |
| } |
| |
| public void testIDEA57325() { |
| doTest(); |
| } |
| public void testIDEA67835() { |
| doTest(); |
| } |
| public void testIDEA67744() { |
| doTest(); |
| } |
| public void testIDEA67682() { |
| doTest(); |
| } |
| public void testIDEA57391() { |
| doTest(); |
| } |
| public void testIDEA110869() { |
| doTest(); |
| } |
| /*public void testIDEA110947() { doTest5(false); }*/ |
| public void testIDEA112122() { |
| doTest(); |
| } |
| public void testNoInferenceFromTypeCast() { |
| doTest(); |
| } |
| public void testCaptureWildcardsInTypeCasts() { |
| doTest(); |
| } |
| public void testIDEA111085() { |
| doTest(); |
| } |
| public void testIDEA109556() { |
| doTest(); |
| } |
| public void testIDEA107440() { |
| doTest(); |
| } |
| public void testIDEA57289() { |
| doTest(); |
| } |
| public void testIDEA57439() { |
| doTest(); |
| } |
| public void testIDEA57312() { |
| doTest(); |
| } |
| public void testIDEA67865() { |
| doTest(); |
| } |
| public void testBoxingSpecific() { |
| doTest(); |
| } |
| public void testIDEA67843() { //fixme need to change test |
| doTest(); |
| } |
| public void testAmbiguousTypeParamVsConcrete() { |
| doTest(); |
| } |
| public void testRawAssignments() throws Exception { |
| doTest(); |
| } |
| public void testIDEA87860() throws Exception { |
| doTest(); |
| } |
| |
| private void doTest() { |
| doTest(false); |
| } |
| |
| private void doTest(boolean warnings) { |
| LanguageLevelProjectExtension.getInstance(getJavaFacade().getProject()).setLanguageLevel(LanguageLevel.JDK_1_8); |
| IdeaTestUtil.setTestVersion(JavaSdkVersion.JDK_1_8, getModule(), myTestRootDisposable); |
| final PsiResolveHelperImpl helper = (PsiResolveHelperImpl)JavaPsiFacade.getInstance(getProject()).getResolveHelper(); |
| helper.setTestHelper(new PsiGraphInferenceHelper(getPsiManager())); |
| try { |
| doTest(BASE_PATH + "/" + getTestName(false) + ".java", warnings, false); |
| } |
| finally { |
| helper.setTestHelper(null); |
| } |
| } |
| |
| |
| public void testIDEA67584() throws Exception { |
| doTest(); |
| } |
| public void testIDEA113225() throws Exception { |
| doTest(); |
| } |
| |
| public void _testJavaUtilCollections_NoVerify() throws Exception { //todo |
| PsiClass collectionsClass = getJavaFacade().findClass("java.util.Collections", GlobalSearchScope.moduleWithLibrariesScope(getModule())); |
| assertNotNull(collectionsClass); |
| collectionsClass = (PsiClass)collectionsClass.getNavigationElement(); |
| final String text = collectionsClass.getContainingFile().getText(); |
| configureFromFileText("Collections.java", text.replaceAll("\r", "\n")); |
| final PsiResolveHelperImpl helper = (PsiResolveHelperImpl)JavaPsiFacade.getInstance(getProject()).getResolveHelper(); |
| helper.setTestHelper(new PsiGraphInferenceHelper(getPsiManager())); |
| try { |
| doTestConfiguredFile(false, false, null); |
| } |
| finally { |
| helper.setTestHelper(null); |
| } |
| } |
| } |