mirror of
https://github.com/revanced/smali.git
synced 2025-05-09 10:54:29 +02:00
Allow arbitrary method names in <>
Kotlin is known to use <anonymous>
This commit is contained in:
parent
cf45978c6a
commit
2a206e6f85
@ -3128,7 +3128,7 @@ public class MethodAnalyzer {
|
|||||||
TypeIdItem methodClass = methodIdItem.getContainingClass();
|
TypeIdItem methodClass = methodIdItem.getContainingClass();
|
||||||
boolean isInit = false;
|
boolean isInit = false;
|
||||||
|
|
||||||
if (methodIdItem.getMethodName().getStringValue().charAt(0) == '<') {
|
if (methodIdItem.getMethodName().getStringValue().equals("<init>")) {
|
||||||
if ((invokeType & INVOKE_DIRECT) != 0) {
|
if ((invokeType & INVOKE_DIRECT) != 0) {
|
||||||
isInit = true;
|
isInit = true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -631,7 +631,7 @@ Type = {PrimitiveType} | {ClassDescriptor} | {ArrayDescriptor}
|
|||||||
{PrimitiveType} {PrimitiveType}+ { return newToken(PARAM_LIST_OR_ID); }
|
{PrimitiveType} {PrimitiveType}+ { return newToken(PARAM_LIST_OR_ID); }
|
||||||
{Type} {Type}+ { return newToken(PARAM_LIST); }
|
{Type} {Type}+ { return newToken(PARAM_LIST); }
|
||||||
{SimpleName} { return newToken(SIMPLE_NAME); }
|
{SimpleName} { return newToken(SIMPLE_NAME); }
|
||||||
"<init>" | "<clinit>" { return newToken(METHOD_NAME); }
|
"<" {SimpleName} ">" { return newToken(METHOD_NAME); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Symbols/Whitespace/EOF*/
|
/*Symbols/Whitespace/EOF*/
|
||||||
|
@ -45,4 +45,5 @@ L[Ljava/lang/String;
|
|||||||
[java/lang/String;
|
[java/lang/String;
|
||||||
[;
|
[;
|
||||||
|
|
||||||
<linit>
|
<linit>
|
||||||
|
<anonymous>
|
@ -45,4 +45,5 @@ INVALID_TOKEN("[") VOID_TYPE("V")
|
|||||||
INVALID_TOKEN("[") SIMPLE_NAME("java") INVALID_TOKEN("/") SIMPLE_NAME("lang") INVALID_TOKEN("/") SIMPLE_NAME("String") INVALID_TOKEN(";")
|
INVALID_TOKEN("[") SIMPLE_NAME("java") INVALID_TOKEN("/") SIMPLE_NAME("lang") INVALID_TOKEN("/") SIMPLE_NAME("String") INVALID_TOKEN(";")
|
||||||
INVALID_TOKEN("[") INVALID_TOKEN(";")
|
INVALID_TOKEN("[") INVALID_TOKEN(";")
|
||||||
|
|
||||||
INVALID_TOKEN("<") SIMPLE_NAME("linit") INVALID_TOKEN(">")
|
METHOD_NAME("<linit>")
|
||||||
|
METHOD_NAME("<anonymous>")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user