Package org.springsource.loaded

Examples of org.springsource.loaded.TypeDescriptor


  @Test
  public void rewrite() throws Exception {
    TypeRegistry typeRegistry = getTypeRegistry("catchers.B");
    loadClass("catchers.A");
    TypeDescriptor typeDescriptor = typeRegistry.getExtractor().extract(loadBytesForClass("catchers.B"), true);
    checkDoesNotContain(typeDescriptor, "privateMethod");
    checkDoesContain(typeDescriptor, "0x1 publicMethod");
    checkDoesContain(typeDescriptor, "0x1 protectedMethod");
    checkDoesContain(typeDescriptor, "0x1 defaultMethod");
View Full Code Here


  }

  @Test
  public void loadingDescriptors() {
    TypeRegistry typeRegistry = TypeRegistry.getTypeRegistryFor(binLoader);
    TypeDescriptor jloDescriptor = typeRegistry.getDescriptorFor("java/lang/Object");
    assertNotNull(jloDescriptor);
    assertEquals("java/lang/Object", jloDescriptor.getName());
  }
View Full Code Here

  }

  @Test
  public void descriptorsWithCatchers() {
    TypeRegistry typeRegistry = TypeRegistry.getTypeRegistryFor(binLoader);
    TypeDescriptor dscDescriptor = typeRegistry.getDescriptorFor("data/SimpleClass");
    assertNotNull(dscDescriptor);
    assertEquals("data/SimpleClass", dscDescriptor.getName());
    // check for a catcher
    assertNotNull(findMethod("0x1 toString()Ljava/lang/String;", dscDescriptor));
  }
View Full Code Here

  @Test
  public void descriptorsWithCatchers2() {
    // more complicated hierarchy
    TypeRegistry typeRegistry = TypeRegistry.getTypeRegistryFor(binLoader);
    TypeDescriptor topDescriptor = typeRegistry.getDescriptorFor("catchers/Top");
    assertNotNull(topDescriptor);
    // Checking no toString() catcher because Top defines a toString()
    assertEquals(5, topDescriptor.getMethods().length);

    // if 'Top' is not considered reloadable we will get an entry for 'foo' that is inherited from it
    TypeDescriptor middleDescriptor = typeRegistry.getDescriptorFor("catchers/Middle");
    assertNotNull(middleDescriptor);
    assertEquals(5, middleDescriptor.getMethods().length);

    TypeDescriptor bottomDescriptor = typeRegistry.getDescriptorFor("catchers/Bottom");
    assertNotNull(bottomDescriptor);
    System.out.println(bottomDescriptor.toString());
    assertEquals(5, bottomDescriptor.getMethods().length);
  }
View Full Code Here

   */
  @Test
  public void simpleExtractor() {
    TypeRegistry tr = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("data.SimpleClass");
    TypeDescriptor typeDescriptor = new TypeDescriptorExtractor(tr).extract(bytes, true);
    Assert.assertEquals("data/SimpleClass", typeDescriptor.getName());
    Assert.assertEquals("java/lang/Object", typeDescriptor.getSupertypeName());
    Assert.assertEquals(0, typeDescriptor.getSuperinterfacesName().length);
    Assert.assertEquals(0x20, typeDescriptor.getModifiers());
    Assert.assertEquals(0, typeDescriptor.getFields().length);
    Assert.assertEquals(5, typeDescriptor.getMethods().length);
    Assert.assertEquals("0x1 foo()V", typeDescriptor.getMethods()[0].toString());
  }
View Full Code Here

  @Test
  public void nonReloadableExtract() {
    TypeRegistry tr = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("java.lang.Object");
    TypeDescriptor typeDescriptor = new TypeDescriptorExtractor(tr).extract(bytes, false);
    System.out.println(typeDescriptor.toString());
    Assert.assertEquals("java/lang/Object", typeDescriptor.getName());
    Assert.assertEquals(null, typeDescriptor.getSupertypeName());
    Assert.assertEquals(0, typeDescriptor.getSuperinterfacesName().length);
    Assert.assertEquals(0x21, typeDescriptor.getModifiers());
    Assert.assertEquals(0, typeDescriptor.getFields().length);
    Assert.assertEquals(12, typeDescriptor.getMethods().length);
    Assert.assertNotNull(findMethod("0x104 clone()Ljava/lang/Object; throws java/lang/CloneNotSupportedException",
        typeDescriptor));
  }
View Full Code Here

   */
  @Test
  public void simpleExtractor() {
    TypeRegistry registry = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("data.SimpleClass");
    TypeDescriptor typeDescriptor = new TypeDescriptorExtractor(registry).extract(bytes, true);

    byte[] bytes2 = ClassRenamer.rename("data.SimpleClass", loadBytesForClass("data.SimpleClass002"));
    TypeDescriptor typeDescriptor2 = new TypeDescriptorExtractor(registry).extract(bytes2, true);

    IncrementalTypeDescriptor itd = new IncrementalTypeDescriptor(typeDescriptor);
    itd.setLatestTypeDescriptor(typeDescriptor2);

    List<MethodMember> newMethods = itd.getNewOrChangedMethods();
View Full Code Here

  // regular method deleted
  @Test
  public void deletedMethods() throws Exception {
    TypeRegistry registry = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("typedescriptor.A");
    TypeDescriptor typeDescriptor = new TypeDescriptorExtractor(registry).extract(bytes, true);
    byte[] bytes2 = ClassRenamer.rename("typedescriptor.A", loadBytesForClass("typedescriptor.A2"));
    TypeDescriptor typeDescriptor2 = new TypeDescriptorExtractor(registry).extract(bytes2, true);
    IncrementalTypeDescriptor itd = new IncrementalTypeDescriptor(typeDescriptor);
    itd.setLatestTypeDescriptor(typeDescriptor2);
    Assert.assertEquals(1, itd.getDeletedMethods().size());
    Assert.assertEquals("0x1 m()V", itd.getDeletedMethods().get(0).toString());
  }
View Full Code Here

  // overridden (caught) method deleted
  @Test
  public void deletedMethods2() throws Exception {
    TypeRegistry registry = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("typedescriptor.B");
    TypeDescriptor typeDescriptor = registry.getExtractor().extract(bytes, true);
    byte[] bytes2 = ClassRenamer.rename("typedescriptor.B", loadBytesForClass("typedescriptor.B2"));
    TypeDescriptor typeDescriptor2 = registry.getExtractor().extract(bytes2, true);
    IncrementalTypeDescriptor itd = new IncrementalTypeDescriptor(typeDescriptor);
    itd.setLatestTypeDescriptor(typeDescriptor2);
    List<MethodMember> deleted = itd.getDeletedMethods();
    System.out.println(deleted);
    Assert.assertEquals(1, deleted.size());
View Full Code Here

  // More subtle changes (modifier flags)
  @Test
  public void changedModifiers() throws Exception {
    TypeRegistry registry = getTypeRegistry("");
    byte[] bytes = loadBytesForClass("typedescriptor.C");
    TypeDescriptor typeDescriptor = registry.getExtractor().extract(bytes, true);
    byte[] bytes2 = ClassRenamer.rename("typedescriptor.C", loadBytesForClass("typedescriptor.C2"));
    TypeDescriptor typeDescriptor2 = registry.getExtractor().extract(bytes2, true);
    IncrementalTypeDescriptor itd = new IncrementalTypeDescriptor(typeDescriptor);
    itd.setLatestTypeDescriptor(typeDescriptor2);
    System.out.println(itd.toString(true));
    List<MethodMember> changed = itd.getNewOrChangedMethods();
    MethodMember m = getMethod(changed, "staticMethod");
View Full Code Here

TOP

Related Classes of org.springsource.loaded.TypeDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.