Package ch.ethz.jvmai

Examples of ch.ethz.jvmai.MethodWeaver


      // 2. Register the field to the MethodWeaver for this method,
      //    if there's a watch for it.
      HotSwapFieldWeaver fw = (HotSwapFieldWeaver) HotSwapFieldWeaver.weaverNames.get( fkey );
      if( null != fw && (HotSwapFieldWeaver.FW_ACCESS_ENABLED & fw.status) > 0 ) {
        // Weave method
        MethodWeaver mw;
        try{ mw = HotSwapClassWeaver.getWeaver( HotSwapAspectInterfaceImpl.getMethodFromString( key ) ); }
        catch(ClassNotFoundException e) { throw new JVMAIRuntimeException( "scanning a class file, but can not find the class: " + e.getMessage() ); }
        mw.addFieldAccessor( fw );
        weave = true;
      }
    }
View Full Code Here


      // 2. Register the field to the MethodWeaver for this method,
      //    if there's a watch for it.
      HotSwapFieldWeaver fw = (HotSwapFieldWeaver) HotSwapFieldWeaver.weaverNames.get( fkey );
      if( null != fw && (HotSwapFieldWeaver.FW_MODIFICATION_ENABLED & fw.status) > 0 ) {
        // Weave method
        MethodWeaver mw;
        try{ mw = HotSwapClassWeaver.getWeaver( HotSwapAspectInterfaceImpl.getMethodFromString( key ) ); }
        catch(ClassNotFoundException e) { throw new JVMAIRuntimeException( "scanning a class file, but can not find the class: " + e.getMessage() ); }
        mw.addFieldModifier( fw );
        weave = true;
      }
    }
View Full Code Here

      while( iter.hasNext() ) {
        String str = (String) iter.next();
        // 1.b Convert each entry in a reflected method object
        Member member = HotSwapAspectInterfaceImpl.getMethodFromString( str );
        // 1.c Get the method weaver for the method
        MethodWeaver mw = HotSwapClassWeaver.getWeaver( member );
        // 1.d Register (or unregister) 'target'
        if( (FW_ACCESS_ENABLED & status) > 0 )
          mw.addFieldAccessor( this );
        else
          mw.removeFieldAccessor( this );
        //System.out.println("FieldWeaver field access changed: " + mw.getTarget().getName() );
      }
    }

    // 2. Set the method weavers for all modifiers
    // 2.a Get the registered entries
    List modifiers = (List) HotSwapClassRegister.knownFieldModifiers.get( key );
    if( null != modifiers ) {
      Iterator iter = modifiers.iterator();
      while( iter.hasNext() ) {
        String str = (String) iter.next();
        // 2.b Convert each entry in a reflected method object
        Member member = HotSwapAspectInterfaceImpl.getMethodFromString( str );
        // 2.c Get the method weaver for the method
        MethodWeaver mw = HotSwapClassWeaver.getWeaver( member );
        // 2.d Register (or unregister) 'target'
        if( (FW_MODIFICATION_ENABLED & status) > 0 )
          mw.addFieldModifier( this );
        else
          mw.removeFieldModifier( this );
        //System.out.println("FieldWeaver field modification changed: " + mw.getTarget().getName() );
      }
    }

    if( ((FW_ACCESS_ENABLED | FW_MODIFICATION_ENABLED) & status) == 0 ) {
View Full Code Here

TOP

Related Classes of ch.ethz.jvmai.MethodWeaver

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.