aboutsummaryrefslogtreecommitdiff
path: root/src/devices/tech/dalvik/dalvik-bytecode.jd
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/tech/dalvik/dalvik-bytecode.jd')
-rw-r--r--src/devices/tech/dalvik/dalvik-bytecode.jd14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/devices/tech/dalvik/dalvik-bytecode.jd b/src/devices/tech/dalvik/dalvik-bytecode.jd
index f449bceb..f018fa31 100644
--- a/src/devices/tech/dalvik/dalvik-bytecode.jd
+++ b/src/devices/tech/dalvik/dalvik-bytecode.jd
@@ -774,14 +774,22 @@ page.title=Dalvik bytecode
<p><code>invoke-virtual</code> is used to invoke a normal virtual
method (a method that is not <code>private</code>, <code>static</code>,
or <code>final</code>, and is also not a constructor).</p>
- <p><code>invoke-super</code> is used to invoke the closest superclass's
+ <p>When the <code>method_id</code> references a method of a non-interface
+ class, <code>invoke-super</code> is used to invoke the closest superclass's
virtual method (as opposed to the one with the same <code>method_id</code>
in the calling class). The same method restrictions hold as for
<code>invoke-virtual</code>.</p>
+ <p>In Dex files version <code>037</code> or later, if the
+ <code>method_id</code> refers to an interface method,
+ <code>invoke-super</code> is used to invoke the most specific,
+ non-overridden version of that method defined on that interface. The same
+ method restrictions hold as for <code>invoke-virtual</code>. In Dex files
+ prior to version <code>037</code>, having an interface
+ <code>method_id</code> is illegal and undefined.</p>
<p><code>invoke-direct</code> is used to invoke a non-<code>static</code>
direct method (that is, an instance method that is by its nature
- non-overridable, namely either a <code>private</code> instance method
- or a constructor).</p>
+ non-overridable, namely either a <code>private</code> instance method or a
+ constructor).</p>
<p><code>invoke-static</code> is used to invoke a <code>static</code>
method (which is always considered a direct method).</p>
<p><code>invoke-interface</code> is used to invoke an