void () { PsiClass aClass = getFile("MyClass").getClasses()[0]; PsiParameter[] parameters = aClass.getMethods()[0].getParameterList().getParameters(); assertEquals(2, parameters.length); PsiType type1 = parameters[0].getType(); assertEquals("int[]", type1.getPresentableText()); assertTrue(type1.equalsToText("int[]")); assertTrue(type1 instanceof PsiArrayType); assertNull(PsiUtil.resolveClassInType(type1)); PsiType type2 = parameters[1].getType(); assertEquals("Object", type2.getPresentableText()); assertTrue(type2.equalsToText(CommonClassNames.JAVA_LANG_OBJECT)); assertFalse(type2 instanceof PsiArrayType); assertFalse(type2 instanceof PsiPrimitiveType); PsiClass target2 = PsiUtil.resolveClassInType(type2); assertEquals(myObjectClass, target2); assertNotNull(parameters[0].getModifierList()); assertNotNull(parameters[1].getModifierList()); Runnable checkNames = () -> { assertTrue(((ClsParameterImpl)parameters[0]).isAutoGeneratedName()); assertTrue(((ClsParameterImpl)parameters[1]).isAutoGeneratedName()); assertEquals("ints", parameters[0].getName()); assertEquals("o", parameters[1].getName()); }; DumbModeTestUtils.runInDumbModeSynchronously(getProject(), checkNames::run); checkNames.run(); }