Package org.springsource.loaded

Examples of org.springsource.loaded.TypeDescriptor


      return Utils.arrayCopyOf(cs, i);
    } else {
      CurrentLiveVersion liveVersion = rtype.getLiveVersion();
      // Reloaded type
      Constructor<?>[] clazzCs = null;
      TypeDescriptor desc = rtype.getLatestTypeDescriptor();
      MethodMember[] members = desc.getConstructors();
      Constructor<?>[] cs = new Constructor<?>[members.length];
      for (int i = 0; i < cs.length; i++) {
        MethodMember m = members[i];
        if (!liveVersion.hasConstructorChanged(m)) {
          if (clazzCs == null) {
View Full Code Here


      throw new IllegalStateException("Couldn't create j.l.Constructor for " + m, e);
    }
  }

  private static void fixModifiers(ReloadableType rtype, Field[] fields) {
    TypeDescriptor typeDesc = rtype.getLatestTypeDescriptor();
    for (Field field : fields) {
      fixModifier(typeDesc, field);
    }
  }
View Full Code Here

        // SpringLoaded changes modifiers, so must fix them
        fixModifier(rtype, c);
        return c;
      } else {
        // Reloaded type
        TypeDescriptor desc = rtype.getLatestTypeDescriptor();
        MethodMember[] members = desc.getConstructors();
        String searchFor = Utils.toConstructorDescriptor(params);
        for (MethodMember m : members) {
          if (m.getDescriptor().equals(searchFor)) {
            return newConstructor(rtype, m);
          }
View Full Code Here

  private static boolean isDeleted(Constructor<?> c) {
    ReloadableType rtype = getReloadableTypeIfHasBeenReloaded(c.getDeclaringClass());
    if (rtype == null) {
      return false;
    } else {
      TypeDescriptor desc = rtype.getLatestTypeDescriptor();
      MethodMember currentConstructor = desc.getConstructor(Type.getConstructorDescriptor(c));
      if (currentConstructor == null) {
        //TODO: test case with a deleted constructor
        return true; // Method not there, consider it deleted
      } else {
        return false;
View Full Code Here

  private static boolean isDeleted(Field field) {
    ReloadableType rtype = getReloadableTypeIfHasBeenReloaded(field.getDeclaringClass());
    if (rtype == null) {
      return false;
    } else {
      TypeDescriptor desc = rtype.getLatestTypeDescriptor();
      FieldMember currentField = desc.getField(field.getName());
      if (currentField == null) {
        return true; // Method not there, consider it deleted
      } else {
        return false;
      }
View Full Code Here

        fields = removeMetaFields(fields);
        fixModifiers(rtype, fields);
        return fields;
      } else {
        // Was reloaded, it's up to us to create the field objects
        TypeDescriptor typeDesc = rtype.getLatestTypeDescriptor();
        FieldMember[] members = typeDesc.getFields();
        fields = new Field[members.length];
        int i = 0;
        for (FieldMember f : members) {
          String fieldTypeDescriptor = f.getDescriptor();
          Class<?> type;
View Full Code Here

   */
  @Test
  public void simpleExtraction() {
    TypeRegistry registry = getTypeRegistry(null);
    byte[] classBytes = loadBytesForClass("data.SimpleClass");
    TypeDescriptor td = new TypeDescriptorExtractor(registry).extract(classBytes, true);
    // @formatter:off
    checkType(classBytes,
        "CLASS: data/SimpleClass v50 0x0020(synchronized) super java/lang/Object\n" +
        "SOURCE: SimpleClass.java null\n"+
        "METHOD: 0x0000() <init>()V\n" +
View Full Code Here

  @Test
  public void varietyOfMethods() {
    TypeRegistry registry = getTypeRegistry(null);
    byte[] classBytes = loadBytesForClass("data.SimpleClassFour");
    TypeDescriptor td = new TypeDescriptorExtractor(registry).extract(classBytes, true);
    byte[] bytes = InterfaceExtractor.extract(classBytes, registry, td);
    // @formatter:off
    checkType(bytes,
        "CLASS: data/SimpleClassFour__I v50 0x0601(public abstract interface) super java/lang/Object\n"+
        "METHOD: 0x0401(public abstract) ___init___(Ldata/SimpleClassFour;I)V\n" +
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.