Ejemplo n.º 1
0
  @Test
  public void testClassHierarchy() throws InstrumentException {
    JavassistClassPool pool = new JavassistClassPool(new GlobalInterceptorRegistryBinder(), null);

    String testObjectName = "com.navercorp.pinpoint.profiler.interceptor.bci.TestObject";

    // final CallLoader loader = null; // systemClassLoader
    // final ClassLoader loader = ClassLoader.getSystemClassLoader();
    InstrumentClass testObject = pool.getClass(null, testObjectName, null);

    Assert.assertEquals(testObject.getName(), testObjectName);

    String testObjectSuperClass = testObject.getSuperClass();
    Assert.assertEquals("java.lang.Object", testObjectSuperClass);

    String[] testObjectSuperClassInterfaces = testObject.getInterfaces();
    Assert.assertEquals(testObjectSuperClassInterfaces.length, 0);

    InstrumentClass classHierarchyObject =
        pool.getClass(
            null, "com.navercorp.pinpoint.profiler.interceptor.bci.ClassHierarchyTestMock", null);
    String hierarchySuperClass = classHierarchyObject.getSuperClass();
    Assert.assertEquals("java.util.HashMap", hierarchySuperClass);

    String[] hierarchyInterfaces = classHierarchyObject.getInterfaces();
    Assert.assertEquals(hierarchyInterfaces.length, 2);
    Assert.assertEquals(hierarchyInterfaces[0], "java.lang.Runnable");
    Assert.assertEquals(hierarchyInterfaces[1], "java.lang.Comparable");
  }