Remove duplicate method (#3032)

This commit is contained in:
Trask Stalnaker 2021-05-19 11:56:34 -07:00 committed by GitHub
parent 23a40d926c
commit 6efae9ad28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 17 additions and 27 deletions

View File

@ -5,7 +5,7 @@
package io.opentelemetry.javaagent.instrumentation.geode; package io.opentelemetry.javaagent.instrumentation.geode;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.instrumentation.geode.GeodeTracer.tracer; import static io.opentelemetry.javaagent.instrumentation.geode.GeodeTracer.tracer;
import static java.util.Collections.singletonList; import static java.util.Collections.singletonList;
@ -47,7 +47,7 @@ public class GeodeInstrumentationModule extends InstrumentationModule {
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
return hasInterface(named("org.apache.geode.cache.Region")); return implementsInterface(named("org.apache.geode.cache.Region"));
} }
@Override @Override

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf;
@ -48,7 +47,7 @@ public class SessionFactoryInstrumentation implements TypeInstrumentation {
.and( .and(
returns( returns(
namedOneOf("org.hibernate.Session", "org.hibernate.StatelessSession") namedOneOf("org.hibernate.Session", "org.hibernate.StatelessSession")
.or(hasInterface(named("org.hibernate.Session"))))), .or(implementsInterface(named("org.hibernate.Session"))))),
SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice"); SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice");
} }

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf;
@ -88,11 +87,11 @@ public class SessionInstrumentation implements TypeInstrumentation {
SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); SessionInstrumentation.class.getName() + "$GetTransactionAdvice");
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), isMethod().and(returns(implementsInterface(named("org.hibernate.Query")))),
SessionInstrumentation.class.getName() + "$GetQueryAdvice"); SessionInstrumentation.class.getName() + "$GetQueryAdvice");
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), isMethod().and(returns(implementsInterface(named("org.hibernate.Criteria")))),
SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); SessionInstrumentation.class.getName() + "$GetCriteriaAdvice");
} }

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.hibernate.v4_0; package io.opentelemetry.javaagent.instrumentation.hibernate.v4_0;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf;
@ -85,11 +84,11 @@ public class SessionInstrumentation implements TypeInstrumentation {
SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); SessionInstrumentation.class.getName() + "$GetTransactionAdvice");
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), isMethod().and(returns(implementsInterface(named("org.hibernate.Query")))),
SessionInstrumentation.class.getName() + "$GetQueryAdvice"); SessionInstrumentation.class.getName() + "$GetQueryAdvice");
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), isMethod().and(returns(implementsInterface(named("org.hibernate.Criteria")))),
SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); SessionInstrumentation.class.getName() + "$GetCriteriaAdvice");
} }

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.hibernate.v4_3; package io.opentelemetry.javaagent.instrumentation.hibernate.v4_3;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@ -39,7 +38,8 @@ public class SessionInstrumentation implements TypeInstrumentation {
@Override @Override
public void transform(TypeTransformer transformer) { public void transform(TypeTransformer transformer) {
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
isMethod().and(returns(hasInterface(named("org.hibernate.procedure.ProcedureCall")))), isMethod()
.and(returns(implementsInterface(named("org.hibernate.procedure.ProcedureCall")))),
SessionInstrumentation.class.getName() + "$GetProcedureCallAdvice"); SessionInstrumentation.class.getName() + "$GetProcedureCallAdvice");
} }

View File

@ -6,7 +6,7 @@
package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v2_0; package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v2_0;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static java.util.Collections.singletonList; import static java.util.Collections.singletonList;
import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.named;
@ -49,7 +49,7 @@ public class JaxRsClientInstrumentationModule extends InstrumentationModule {
@Override @Override
public void transform(TypeTransformer transformer) { public void transform(TypeTransformer transformer) {
transformer.applyAdviceToMethod( transformer.applyAdviceToMethod(
named("build").and(returns(hasInterface(named("javax.ws.rs.client.Client")))), named("build").and(returns(implementsInterface(named("javax.ws.rs.client.Client")))),
JaxRsClientInstrumentationModule.class.getName() + "$ClientBuilderAdvice"); JaxRsClientInstrumentationModule.class.getName() + "$ClientBuilderAdvice");
} }
} }

View File

@ -5,7 +5,7 @@
package io.opentelemetry.javaagent.instrumentation.jaxws.v2_0; package io.opentelemetry.javaagent.instrumentation.jaxws.v2_0;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer; import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer;
import static net.bytebuddy.matcher.ElementMatchers.isMethod; import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@ -34,7 +34,7 @@ public class WebServiceProviderInstrumentation implements TypeInstrumentation {
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
return hasInterface(named("javax.xml.ws.Provider")); return implementsInterface(named("javax.xml.ws.Provider"));
} }
@Override @Override

View File

@ -5,8 +5,8 @@
package io.opentelemetry.javaagent.instrumentation.jaxws.jws.v1_1; package io.opentelemetry.javaagent.instrumentation.jaxws.jws.v1_1;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperMethod; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperMethod;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.methodIsDeclaredByType; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.methodIsDeclaredByType;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer; import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer;
@ -38,7 +38,7 @@ public class JwsAnnotationsInstrumentation implements TypeInstrumentation {
@Override @Override
public ElementMatcher<TypeDescription> typeMatcher() { public ElementMatcher<TypeDescription> typeMatcher() {
return hasInterface(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION))) return implementsInterface(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION)))
.or(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION))); .or(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION)));
} }

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.jdbc; package io.opentelemetry.javaagent.instrumentation.jdbc;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface;
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith;
@ -38,7 +37,7 @@ public class ConnectionInstrumentation implements TypeInstrumentation {
nameStartsWith("prepare") nameStartsWith("prepare")
.and(takesArgument(0, String.class)) .and(takesArgument(0, String.class))
// Also include CallableStatement, which is a sub type of PreparedStatement // Also include CallableStatement, which is a sub type of PreparedStatement
.and(returns(hasInterface(named("java.sql.PreparedStatement")))), .and(returns(implementsInterface(named("java.sql.PreparedStatement")))),
ConnectionInstrumentation.class.getName() + "$PrepareAdvice"); ConnectionInstrumentation.class.getName() + "$PrepareAdvice");
} }

View File

@ -28,11 +28,6 @@ public final class AgentElementMatchers {
return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), true); return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), true);
} }
public static ElementMatcher.Junction<TypeDescription> hasInterface(
ElementMatcher<TypeDescription> matcher) {
return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), true);
}
public static ElementMatcher.Junction<TypeDescription> safeHasSuperType( public static ElementMatcher.Junction<TypeDescription> safeHasSuperType(
ElementMatcher<TypeDescription> matcher) { ElementMatcher<TypeDescription> matcher) {
return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), false); return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), false);

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.tooling.bytebuddy.matcher package io.opentelemetry.javaagent.tooling.bytebuddy.matcher
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface
import static net.bytebuddy.matcher.ElementMatchers.named import static net.bytebuddy.matcher.ElementMatchers.named
@ -28,7 +27,7 @@ class HasInterfaceMatcherTest extends Specification {
def "test matcher #matcherClass.simpleName -> #type.simpleName"() { def "test matcher #matcherClass.simpleName -> #type.simpleName"() {
expect: expect:
hasInterface(matcher).matches(argument) == result implementsInterface(matcher).matches(argument) == result
where: where:
matcherClass | type | result matcherClass | type | result