Жасмин выкидывает ошибку за неправильные агрументы для iastore - PullRequest
0 голосов
/ 28 ноября 2018

В настоящее время я пишу компилятор для данного языка, который должен компилироваться в виртуальную машину Java.

В настоящее время я работаю с массивами, и у меня возникла следующая проблема для следующего кода на моем языке

package foo
func main() {
    var i int[2];
    i[0] = 5;
}

И в настоящее время он компилируется в

.class  public  test
.super  java/lang/Object
.method  public static  main([Ljava/lang/String;)V
ldc 2
newarray    int
astore  0
aload   0
ldc 0
ldc 5
iastore 0
return
.limit  locals  2    ;over estimate
.limit  stack  20    ;over estimate
.end    method

И выдается следующая ошибка

test.j:11: JAS Error Bad arguments for instruction iastore.
    r
     ^

Теперь в соответствии с https://cs.au.dk/~mis/dOvs/jvmspec/ref--20.htmlстек должен выглядеть следующим образом:

|  value  |
|  index  | 
|array ref|
 _________

Что я и сделал, поэтому мой вопрос: к чему относится эта ошибка?

...