Package net.sf.joafip.store.entity.bytecode

Examples of net.sf.joafip.store.entity.bytecode.MethodMap


  }

  private void run() throws IOException {
    final ClassReader classReader = new ClassReader(
        ForMaxLocals.class.getName());
    final MethodMap methodMap = new MethodMap();
    final Set<String> syntheticFieldSet = new TreeSet<String>();
    final ClassVisitorForStorable classVisitorForStorable = new ClassVisitorForStorable();
    classVisitorForStorable.setMethodMap(methodMap, syntheticFieldSet);
    // must not skip code to compute max locals
    classReader.accept(classVisitorForStorable, /* ClassReader.SKIP_CODE | */
        ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);
    final Set<Entry<MethodMapKey, Integer>> entrySet = methodMap.entrySet();
    for (Entry<MethodMapKey, Integer> entry : entrySet) {
      final MethodMapKey key = entry.getKey();
      System.out.println("maxs local " + key.getMethodName() + " "// NOPMD
          + key.getMethodDesc() + " " + entry.getValue());
    }
View Full Code Here


  public byte[] generate(final String className, final byte[] originalCode,
      final int off, final int len) {

    final EnumTransformationType transformationTypeFromProperties = transformAttribute(className);
    final ClassReader classReader = new ClassReader(originalCode, off, len);
    final IMethodMap methodMap = new MethodMap();
    final Set<String> syntheticFieldSet = new TreeSet<String>();
    final ClassVisitorForStorable classVisitorForStorable = new ClassVisitorForStorable();
    classVisitorForStorable.setMethodMap(methodMap, syntheticFieldSet);
    // must not skip code to compute max locals
    classReader.accept(classVisitorForStorable, /* ClassReader.SKIP_CODE | */
        ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);

    // annotation override instrumentation properties
    transformationAttribute = classVisitorForStorable
        .getTransformationType();
    if (transformationAttribute == null) {
      transformationAttribute = transformationTypeFromProperties;
    }

    final String[] splitedClassName = className.split(POINT_REGEX);
    final PackageNode node = packageMgr.addPackage(splitedClassName, 0,
        splitedClassName.length, transformationAttribute);

    byte[] code = null;
    if (EnumTransformationType.NONE.equals(transformationAttribute)
        && !methodMap.hasMethodToTransform()) {
      transformed = false;
    } else {
      transformed = true;
    }

View Full Code Here

TOP

Related Classes of net.sf.joafip.store.entity.bytecode.MethodMap

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.