30
30
import org .eclipse .jdt .core .ILocalVariable ;
31
31
import org .eclipse .jdt .core .IMember ;
32
32
import org .eclipse .jdt .core .IMethod ;
33
+ import org .eclipse .jdt .core .IModuleDescription ;
33
34
import org .eclipse .jdt .core .IPackageDeclaration ;
34
35
import org .eclipse .jdt .core .IPackageFragment ;
35
36
import org .eclipse .jdt .core .IPackageFragmentRoot ;
@@ -1230,6 +1231,10 @@ public static boolean isRenameAvailable(final IJavaProject project) throws JavaM
1230
1231
return true ;
1231
1232
}
1232
1233
1234
+ public static boolean isRenameAvailable (final IModuleDescription module ) throws JavaModelException {
1235
+ return Checks .isAvailable (module );
1236
+ }
1237
+
1233
1238
public static boolean isRenameAvailable (final ILocalVariable variable ) throws JavaModelException {
1234
1239
return Checks .isAvailable (variable );
1235
1240
}
@@ -1329,6 +1334,10 @@ public static boolean isRenameFieldAvailable(final IField field) throws JavaMode
1329
1334
return Checks .isAvailable (field ) && !JdtFlags .isEnum (field );
1330
1335
}
1331
1336
1337
+ public static boolean isRenameModuleAvailable (final IModuleDescription module ) throws JavaModelException {
1338
+ return Checks .isAvailable (module );
1339
+ }
1340
+
1332
1341
public static boolean isRenameNonVirtualMethodAvailable (final IMethod method ) throws JavaModelException , CoreException {
1333
1342
return isRenameAvailable (method ) && !MethodChecks .isVirtual (method );
1334
1343
}
@@ -1353,35 +1362,46 @@ public static boolean isRenameVirtualMethodAvailable(final IMethod method) throw
1353
1362
}
1354
1363
1355
1364
public static boolean isRenameElementAvailable (IJavaElement element ) throws CoreException {
1356
- switch (element .getElementType ()) {
1357
- case IJavaElement .JAVA_PROJECT :
1358
- return isRenameAvailable ((IJavaProject ) element );
1359
- case IJavaElement .PACKAGE_FRAGMENT_ROOT :
1360
- return isRenameAvailable ((IPackageFragmentRoot ) element );
1361
- case IJavaElement .PACKAGE_FRAGMENT :
1362
- return isRenameAvailable ((IPackageFragment ) element );
1363
- case IJavaElement .COMPILATION_UNIT :
1364
- return isRenameAvailable ((ICompilationUnit ) element );
1365
- case IJavaElement .TYPE :
1366
- return isRenameAvailable ((IType ) element );
1367
- case IJavaElement .METHOD :
1368
- final IMethod method = (IMethod ) element ;
1369
- if (method .isConstructor ()) {
1370
- return isRenameAvailable (method .getDeclaringType ());
1371
- } else {
1372
- return isRenameAvailable (method );
1373
- }
1374
- case IJavaElement .FIELD :
1375
- final IField field = (IField ) element ;
1376
- if (Flags .isEnum (field .getFlags ())) {
1377
- return isRenameEnumConstAvailable (field );
1378
- } else {
1379
- return isRenameFieldAvailable (field );
1365
+ return isRenameElementAvailable (element , false );
1366
+ }
1367
+
1368
+ public static boolean isRenameElementAvailable (IJavaElement element , boolean isTextSelection ) throws CoreException {
1369
+ if (element != null ) {
1370
+ switch (element .getElementType ()) {
1371
+ case IJavaElement .JAVA_PROJECT :
1372
+ return isRenameAvailable ((IJavaProject ) element );
1373
+ case IJavaElement .PACKAGE_FRAGMENT_ROOT :
1374
+ return isRenameAvailable ((IPackageFragmentRoot ) element );
1375
+ case IJavaElement .PACKAGE_FRAGMENT :
1376
+ return isRenameAvailable ((IPackageFragment ) element );
1377
+ case IJavaElement .COMPILATION_UNIT :
1378
+ return isRenameAvailable ((ICompilationUnit ) element );
1379
+ case IJavaElement .TYPE :
1380
+ return isRenameAvailable ((IType ) element );
1381
+ case IJavaElement .METHOD :
1382
+ final IMethod method = (IMethod ) element ;
1383
+ if (method .isConstructor ()) {
1384
+ return isRenameAvailable (method .getDeclaringType ());
1385
+ } else {
1386
+ return isRenameAvailable (method );
1387
+ }
1388
+ case IJavaElement .FIELD :
1389
+ final IField field = (IField ) element ;
1390
+ if (Flags .isEnum (field .getFlags ())) {
1391
+ return isRenameEnumConstAvailable (field );
1392
+ } else {
1393
+ return isRenameFieldAvailable (field );
1394
+ }
1395
+ case IJavaElement .TYPE_PARAMETER :
1396
+ return isRenameAvailable ((ITypeParameter ) element );
1397
+ case IJavaElement .LOCAL_VARIABLE :
1398
+ return isRenameAvailable ((ILocalVariable ) element );
1399
+ case IJavaElement .JAVA_MODULE : {
1400
+ return isRenameAvailable ((IModuleDescription ) element );
1380
1401
}
1381
- case IJavaElement .TYPE_PARAMETER :
1382
- return isRenameAvailable ((ITypeParameter ) element );
1383
- case IJavaElement .LOCAL_VARIABLE :
1384
- return isRenameAvailable ((ILocalVariable ) element );
1402
+ default :
1403
+ break ;
1404
+ }
1385
1405
}
1386
1406
return false ;
1387
1407
}
0 commit comments