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
  • 92,866
  • 25
  • 190
  • 186
daisy
  • 21,114
  • 28
  • 118
  • 236

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
  • 155,977
  • 14
  • 207
  • 269