org.codehaus.aspectwerkz.transform.inlining.weaver
Class ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter

java.lang.Object
  extended by org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotationHelper.NullClassAdapter
      extended by org.codehaus.aspectwerkz.transform.inlining.weaver.ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor
Enclosing class:
ConstructorCallVisitor

public static class ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter
extends AsmAnnotationHelper.NullClassAdapter

Lookahead index of NEW instruction for NEW + DUP + INVOKESPECIAL instructions Remember the NEW instruction index

Special case when withincode ctor of called ctor:

public Foo() { super(new Foo()); }
In such a case, it is not possible to intercept the call to new Foo() since this cannot be referenced as long as this(..) or super(..) has not been called.

Author:
Alexandre Vasseur

Field Summary
 gnu.trove.TLongObjectHashMap m_newInvocationsByCallerMemberHash
           
 
Fields inherited from class org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotationHelper.NullClassAdapter
NULL_CLASS_ADAPTER
 
Constructor Summary
ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter(gnu.trove.TLongObjectHashMap newInvocations)
           
 
Method Summary
 org.objectweb.asm.CodeVisitor visitMethod(int access, String name, String desc, String[] exceptions, org.objectweb.asm.Attribute attrs)
           
 
Methods inherited from class org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotationHelper.NullClassAdapter
visit, visitAttribute, visitEnd, visitField, visitInnerClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_newInvocationsByCallerMemberHash

public gnu.trove.TLongObjectHashMap m_newInvocationsByCallerMemberHash
Constructor Detail

ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter

public ConstructorCallVisitor.LookaheadNewDupInvokeSpecialInstructionClassAdapter(gnu.trove.TLongObjectHashMap newInvocations)
Method Detail

visitMethod

public org.objectweb.asm.CodeVisitor visitMethod(int access,
                                                 String name,
                                                 String desc,
                                                 String[] exceptions,
                                                 org.objectweb.asm.Attribute attrs)
Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor
Overrides:
visitMethod in class AsmAnnotationHelper.NullClassAdapter


Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.