blob: 977a017732e48b8e6892a26e3ade430c538e8ece [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0) on Wed Dec 24 15:58:27 CET 2014 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ConstructorCodeAdapter (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)</title>
<meta name="date" content="2014-12-24">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ConstructorCodeAdapter (Apache Felix iPOJO ~ JavaDoc 1.12.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConstructorCodeAdapter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/felix/ipojo/manipulation/ClassManipulator.html" title="class in org.apache.felix.ipojo.manipulation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/ipojo/manipulation/InnerClassAdapter.html" title="class in org.apache.felix.ipojo.manipulation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html" target="_top">Frames</a></li>
<li><a href="ConstructorCodeAdapter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.felix.ipojo.manipulation</div>
<h2 title="Class ConstructorCodeAdapter" class="title">Class ConstructorCodeAdapter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.objectweb.asm.MethodVisitor</li>
<li>
<ul class="inheritance">
<li>org.objectweb.asm.commons.LocalVariablesSorter</li>
<li>
<ul class="inheritance">
<li>org.objectweb.asm.commons.GeneratorAdapter</li>
<li>
<ul class="inheritance">
<li>org.apache.felix.ipojo.manipulation.ConstructorCodeAdapter</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.objectweb.asm.Opcodes</dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.40">ConstructorCodeAdapter</a>
extends org.objectweb.asm.commons.GeneratorAdapter
implements org.objectweb.asm.Opcodes</pre>
<div class="block">Constructor Adapter.
This class adds an instance manager argument (so switch variable index).
Moreover, it adapts field accesses to delegate accesses to the instance
manager if needed.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="mailto:dev@felix.apache.org">Felix Project Team</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#m_fields">m_fields</a></span></code>
<div class="block">Set of contained fields.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#m_owner">m_owner</a></span></code>
<div class="block">The class containing the field.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#m_superClass">m_superClass</a></span></code>
<div class="block">The super class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#m_superDetected">m_superDetected</a></span></code>
<div class="block">Is the super call detected ?</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.objectweb.asm.commons.GeneratorAdapter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.objectweb.asm.commons.GeneratorAdapter</h3>
<code>ADD, AND, DIV, EQ, GE, GT, LE, LT, MUL, NE, NEG, OR, REM, SHL, SHR, SUB, USHR, XOR</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.objectweb.asm.commons.LocalVariablesSorter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.objectweb.asm.commons.LocalVariablesSorter</h3>
<code>firstLocal, nextLocal</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.objectweb.asm.MethodVisitor">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.objectweb.asm.MethodVisitor</h3>
<code>api, mv</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.objectweb.asm.Opcodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.objectweb.asm.Opcodes</h3>
<code>AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#ConstructorCodeAdapter-org.objectweb.asm.MethodVisitor-java.lang.String-java.util.Set-int-java.lang.String-java.lang.String-java.lang.String-">ConstructorCodeAdapter</a></span>(org.objectweb.asm.MethodVisitor&nbsp;mv,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
int&nbsp;access,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;superClass)</code>
<div class="block">PropertyCodeAdapter constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>org.objectweb.asm.AnnotationVisitor</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitAnnotation-java.lang.String-boolean-">visitAnnotation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
boolean&nbsp;visible)</code>
<div class="block">Visits an annotation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitFieldInsn-int-java.lang.String-java.lang.String-java.lang.String-">visitFieldInsn</a></span>(int&nbsp;opcode,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc)</code>
<div class="block">Adapts field accesses.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitIincInsn-int-int-">visitIincInsn</a></span>(int&nbsp;var,
int&nbsp;increment)</code>
<div class="block">Visits an increment instruction.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitLocalVariable-java.lang.String-java.lang.String-java.lang.String-org.objectweb.asm.Label-org.objectweb.asm.Label-int-">visitLocalVariable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
org.objectweb.asm.Label&nbsp;start,
org.objectweb.asm.Label&nbsp;end,
int&nbsp;index)</code>
<div class="block">Visits a local variable.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitMaxs-int-int-">visitMaxs</a></span>(int&nbsp;maxStack,
int&nbsp;maxLocals)</code>
<div class="block">Visit max method.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitMethodInsn-int-java.lang.String-java.lang.String-java.lang.String-boolean-">visitMethodInsn</a></span>(int&nbsp;opcode,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
boolean&nbsp;itf)</code>
<div class="block">Visits a method invocation instruction.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>org.objectweb.asm.AnnotationVisitor</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitParameterAnnotation-int-java.lang.String-boolean-">visitParameterAnnotation</a></span>(int&nbsp;parameter,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
boolean&nbsp;visible)</code>
<div class="block">Visits a parameter annotation.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#visitVarInsn-int-int-">visitVarInsn</a></span>(int&nbsp;opcode,
int&nbsp;var)</code>
<div class="block">Visits a variable instruction.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.objectweb.asm.commons.GeneratorAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.objectweb.asm.commons.GeneratorAdapter</h3>
<code>arrayLength, arrayLoad, arrayStore, box, cast, catchException, checkCast, dup, dup2, dup2X1, dup2X2, dupX1, dupX2, endMethod, getField, getLocalType, getStatic, goTo, ifCmp, ifICmp, ifNonNull, ifNull, ifZCmp, iinc, instanceOf, invokeConstructor, invokeDynamic, invokeInterface, invokeStatic, invokeVirtual, loadArg, loadArgArray, loadArgs, loadArgs, loadLocal, loadLocal, loadThis, mark, mark, math, monitorEnter, monitorExit, newArray, newInstance, newLabel, not, pop, pop2, push, push, push, push, push, push, push, push, putField, putStatic, ret, returnValue, setLocalType, storeArg, storeLocal, storeLocal, swap, swap, tableSwitch, tableSwitch, throwException, throwException, unbox, valueOf</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.objectweb.asm.commons.LocalVariablesSorter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.objectweb.asm.commons.LocalVariablesSorter</h3>
<code>newLocal, newLocalMapping, updateNewLocals, visitFrame, visitLocalVariableAnnotation</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.objectweb.asm.MethodVisitor">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.objectweb.asm.MethodVisitor</h3>
<code>visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLookupSwitchInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="m_owner">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_owner</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.46">m_owner</a></pre>
<div class="block">The class containing the field.
m_owner : String</div>
</li>
</ul>
<a name="m_superDetected">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_superDetected</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.51">m_superDetected</a></pre>
<div class="block">Is the super call detected ?</div>
</li>
</ul>
<a name="m_superClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_superClass</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.56">m_superClass</a></pre>
<div class="block">The super class.</div>
</li>
</ul>
<a name="m_fields">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_fields</h4>
<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.61">m_fields</a></pre>
<div class="block">Set of contained fields.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ConstructorCodeAdapter-org.objectweb.asm.MethodVisitor-java.lang.String-java.util.Set-int-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ConstructorCodeAdapter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.75">ConstructorCodeAdapter</a>(org.objectweb.asm.MethodVisitor&nbsp;mv,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
int&nbsp;access,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;superClass)</pre>
<div class="block">PropertyCodeAdapter constructor.
A new FiledCodeAdapter should be create for each method visit.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mv</code> - the MethodVisitor</dd>
<dd><code>owner</code> - the name of the class</dd>
<dd><code>fields</code> - the list of contained fields</dd>
<dd><code>access</code> - the constructor access</dd>
<dd><code>desc</code> - the constructor descriptor</dd>
<dd><code>name</code> - the name</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="visitAnnotation-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitAnnotation</h4>
<pre>public&nbsp;org.objectweb.asm.AnnotationVisitor&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.95">visitAnnotation</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
boolean&nbsp;visible)</pre>
<div class="block">Visits an annotation.
If the annotation is visible, the annotation is removed. In fact
the annotation was already moved to the method replacing this one.
If the annotation is not visible, this annotation is kept on this method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitAnnotation</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.MethodVisitor</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the annotation</dd>
<dd><code>visible</code> - the annotation visibility</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>null</code> if the annotation is visible, otherwise returns
<code>MethodVisitor.visitAnnotation(String, boolean)</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>MethodVisitor.visitAnnotation(java.lang.String, boolean)</code></dd>
</dl>
</li>
</ul>
<a name="visitParameterAnnotation-int-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitParameterAnnotation</h4>
<pre>public&nbsp;org.objectweb.asm.AnnotationVisitor&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.117">visitParameterAnnotation</a>(int&nbsp;parameter,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
boolean&nbsp;visible)</pre>
<div class="block">Visits a parameter annotation.
Parameter annotations are moved to replacing constructor except
they are injection annotations(-@Property and -@Requires).
Because injection annotations shouldn't be copied to generated one
in case of re-manipulation, since this is caused to wrong type resolution
of injected parameters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitParameterAnnotation</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.MethodVisitor</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameter</code> - parameter index</dd>
<dd><code>desc</code> - annotation description(annotation name)</dd>
<dd><code>visible</code> - is parameter annotation visible</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>@AnnotationVisitor</dd>
</dl>
</li>
</ul>
<a name="visitFieldInsn-int-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitFieldInsn</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.150">visitFieldInsn</a>(int&nbsp;opcode,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc)</pre>
<div class="block">Adapts field accesses.
If the field is owned by the visited class:
<ul>
<li><code>GETFIELD</code> are changed to a <code>__getX</code> invocation.</li>
<li><code>SETFIELD</code> are changed to a <code>__setX</code> invocation.</li>
</ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitFieldInsn</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.MethodVisitor</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opcode</code> - the visited operation code</dd>
<dd><code>owner</code> - the owner of the field</dd>
<dd><code>name</code> - the name of the field</dd>
<dd><code>desc</code> - the descriptor of the field</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>MethodVisitor.visitFieldInsn(int, String, String, String)</code></dd>
</dl>
</li>
</ul>
<a name="visitMethodInsn-int-java.lang.String-java.lang.String-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitMethodInsn</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.181">visitMethodInsn</a>(int&nbsp;opcode,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;owner,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
boolean&nbsp;itf)</pre>
<div class="block">Visits a method invocation instruction.
After the super constructor invocation, insert the _setComponentManager invocation.
Otherwise, the method invocation doesn't change</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitMethodInsn</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.MethodVisitor</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opcode</code> - the opcode</dd>
<dd><code>owner</code> - the class owning the invoked method</dd>
<dd><code>name</code> - the method name</dd>
<dd><code>desc</code> - the method descriptor</dd>
<dd><code>itf</code> - if the method's owner class is an interface</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>MethodVisitor.visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)</code></dd>
</dl>
</li>
</ul>
<a name="visitVarInsn-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitVarInsn</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.222">visitVarInsn</a>(int&nbsp;opcode,
int&nbsp;var)</pre>
<div class="block">Visits a variable instruction.
This method increments the variable index if
it is not <code>this</code> (i.e. 0). This increment
is due to the instance manager parameter added in the method
signature.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitVarInsn</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.commons.LocalVariablesSorter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opcode</code> - the opcode</dd>
<dd><code>var</code> - the variable index</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LocalVariablesSorter.visitVarInsn(int, int)</code></dd>
</dl>
</li>
</ul>
<a name="visitIincInsn-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitIincInsn</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.243">visitIincInsn</a>(int&nbsp;var,
int&nbsp;increment)</pre>
<div class="block">Visits an increment instruction.
This method increments the variable index if
it is not <code>this</code> (i.e. 0). This increment
is due to the instance manager parameter added in the method
signature.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitIincInsn</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.commons.LocalVariablesSorter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>var</code> - the variable index</dd>
<dd><code>increment</code> - the increment</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LocalVariablesSorter.visitIincInsn(int, int)</code></dd>
</dl>
</li>
</ul>
<a name="visitLocalVariable-java.lang.String-java.lang.String-java.lang.String-org.objectweb.asm.Label-org.objectweb.asm.Label-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitLocalVariable</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.265">visitLocalVariable</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desc,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;signature,
org.objectweb.asm.Label&nbsp;start,
org.objectweb.asm.Label&nbsp;end,
int&nbsp;index)</pre>
<div class="block">Visits a local variable.
Adds _manager and increment others variable indexes.
This variable has the same scope than <code>this</code> and
has the <code>1</code> index.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitLocalVariable</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.commons.LocalVariablesSorter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the variable name</dd>
<dd><code>desc</code> - the variable descriptor</dd>
<dd><code>signature</code> - the variable signature</dd>
<dd><code>start</code> - the beginning label</dd>
<dd><code>end</code> - the ending label</dd>
<dd><code>index</code> - the variable index</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LocalVariablesSorter.visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)</code></dd>
</dl>
</li>
</ul>
<a name="visitMaxs-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>visitMaxs</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html#line.283">visitMaxs</a>(int&nbsp;maxStack,
int&nbsp;maxLocals)</pre>
<div class="block">Visit max method.
The stack size is incremented of 1. The
local variable count is incremented of 2.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>visitMaxs</code>&nbsp;in class&nbsp;<code>org.objectweb.asm.commons.LocalVariablesSorter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxStack</code> - the stack size.</dd>
<dd><code>maxLocals</code> - the local variable count.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LocalVariablesSorter.visitMaxs(int, int)</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConstructorCodeAdapter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/felix/ipojo/manipulation/ClassManipulator.html" title="class in org.apache.felix.ipojo.manipulation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/felix/ipojo/manipulation/InnerClassAdapter.html" title="class in org.apache.felix.ipojo.manipulation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/felix/ipojo/manipulation/ConstructorCodeAdapter.html" target="_top">Frames</a></li>
<li><a href="ConstructorCodeAdapter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2014. All rights reserved.</small></p>
</body>
</html>