4

I'm trying to get a deep understanding of smali language. I found a page talking about opcodes online, but it never talks about these special symbols, which is L, ; and [, e.g

invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

So, what does these symbols mean here? e.g [Ljava/lang/Object; and Ljava/lang/String;

karthikr
  • 97,368
  • 26
  • 197
  • 188
daisy
  • 22,498
  • 29
  • 129
  • 265

1 Answers1

8

[Ljava.lang.Object; is the String returned from Object#String for an Object array class, similarly for String

[ signifies an array

L signifies a class or interface

; is end of type

Class#getName

Element Type         Encoding
boolean              Z
byte                 B
char                 C
class or interface   Lclassname;
double               D
float                F
int                  I
long                 J
short                S
Reimeus
  • 158,255
  • 15
  • 216
  • 276