blob: eea3b156b307052b531385e7173386d38b1cd782 [file] [log] [blame]
package org.jf.smalidea.findUsages;
import com.intellij.usages.impl.rules.UsageType;
public class MethodUsageTypeTest extends UsageTypeTest {
public MethodUsageTypeTest() {
super(new SmaliUsageTypeProvider());
}
public void testMethodUsageTypes() throws Exception {
doTest("blah.smali", "" +
".class public Lblah;\n" +
".super Ljava/lang/Object;\n" +
"\n" +
".annotation runtime Lblah;\n" +
" element = Lblah;->bl<ref:1>ah()V;\n" +
".end annotation\n" +
"\n" +
".method public blah()V\n" +
" .registers 2\n" +
"\n" +
" invoke-direct {v0}, Lblah;->bl<ref:2>ah()V\n" +
" invoke-direct/empty {v0}, Lblah;->bl<ref:3>ah()V\n" +
" invoke-direct/range {v0}, Lblah;->bl<ref:4>ah()V\n" +
" invoke-interface {v0}, Lblah;->bl<ref:5>ah()V\n" +
" invoke-interface/range {v0}, Lblah;->bl<ref:6>ah()V\n" +
" invoke-object-init/range {v0}, Lblah;->bl<ref:7>ah()V\n" +
" invoke-static {v0}, Lblah;->bl<ref:8>ah()V\n" +
" invoke-static/range {v0}, Lblah;->bl<ref:9>ah()V\n" +
" invoke-super {v0}, Lblah;->bl<ref:10>ah()V\n" +
" invoke-super/range {v0}, Lblah;->bl<ref:11>ah()V\n" +
" invoke-virtual {v0}, Lblah;->bl<ref:12>ah()V\n" +
" invoke-virtual/range {v0}, Lblah;->bl<ref:13>ah()V\n" +
"\n" +
" throw-verification-error generic-error, Lblah;->bl<ref:14>ah()V\n" +
"\n" +
" return-void\n" +
".end method\n",
1, SmaliUsageTypeProvider.LITERAL,
2, UsageType.UNCLASSIFIED,
3, UsageType.UNCLASSIFIED,
4, UsageType.UNCLASSIFIED,
5, UsageType.UNCLASSIFIED,
6, UsageType.UNCLASSIFIED,
7, UsageType.UNCLASSIFIED,
8, UsageType.UNCLASSIFIED,
9, UsageType.UNCLASSIFIED,
10, UsageType.UNCLASSIFIED,
11, UsageType.UNCLASSIFIED,
12, UsageType.UNCLASSIFIED,
13, UsageType.UNCLASSIFIED,
14, SmaliUsageTypeProvider.VERIFICATION_ERROR);
}
}