2020import org .jspecify .annotations .Nullable ;
2121import org .openrewrite .*;
2222import org .openrewrite .internal .StringUtils ;
23+ import org .openrewrite .java .TypeMatcher ;
2324import org .openrewrite .java .search .UsesType ;
2425import org .openrewrite .java .table .MethodCalls ;
2526import org .openrewrite .java .trait .MethodAccess ;
2627import org .openrewrite .java .tree .JavaType ;
2728import org .openrewrite .java .tree .MethodCall ;
29+ import org .openrewrite .java .tree .TypeUtils ;
2830import org .openrewrite .marker .SearchResult ;
2931
3032import java .util .regex .Pattern ;
@@ -58,7 +60,7 @@ public String getDescription() {
5860
5961 @ Override
6062 public TreeVisitor <?, ExecutionContext > getVisitor () {
61- Pattern javaxType = Pattern . compile ( StringUtils . aspectjNameToPattern ( "javax..*" ) );
63+ TypeMatcher javaxType = new TypeMatcher ( "javax..*" );
6264 return Preconditions .check (new UsesType <>("javax..*" , null ),
6365 (StringUtils .isBlank (methodPattern ) ? new MethodAccess .Matcher () : new MethodAccess .Matcher (methodPattern ))
6466 .asVisitor ((ma , ctx ) -> {
@@ -68,12 +70,12 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
6870 if (methodType == null || methodType .getReturnType () == null || methodType .getReturnType () instanceof JavaType .Unknown ) {
6971 return call ;
7072 }
71- if (methodType .getReturnType (). isAssignableFrom ( javaxType )) {
73+ if (TypeUtils . isAssignableTo ( javaxType :: matches , methodType .getReturnType ())) {
7274 insertRow (ma , ctx , methodType );
7375 return SearchResult .found (call );
7476 }
7577 for (JavaType parameterType : methodType .getParameterTypes ()) {
76- if (parameterType . isAssignableFrom (javaxType )) {
78+ if (TypeUtils . isAssignableTo (javaxType :: matches , parameterType )) {
7779 insertRow (ma , ctx , methodType );
7880 return SearchResult .found (call );
7981 }
0 commit comments