Z jakého důvodu se v bajtkódu add funkce ukládají nully na pozice parametrů?
0: aload_1
1: aconst_null
2: astore_1
3: aload_2
4: aconst_null
5: astore_2
6: invokestatic #34; //Method clojure/lang/Numbers.add:(Ljava/lang/Objec
t;Ljava/lang/Object;)Ljava/lang/Number;
9: areturn
Jinak opět musím poděkovat za opravdu skvělý seriál. Mezi českými IT weby je dosti unikátní.
Me to taky prekvapilo, ale zda se, ze je v tomto prekladac Clojure docela konzistentni, takze se *snad* jedna o to, ze kdyz se reference vlastne vymazou, tak se zaruci, ze na ne nikdo nezavola settery a tim se zaruci nemenitelnost. Dalsi moznost je jen kontrola, jestli nekdo po instrukci cislo 6 nesaha spatne na lokalni parametry, protoze by to vyvolalo NPE.