I used arithmetic operators (-) in java like this
uvmMap.set("change", -amount);
When trying to compile it with gjavac, an exception is raised:
gjavac.exceptions.GjavacException: not supported jvm opcode LNEG to compile to uvm instruction at gjavac.translater.JavaToUvmTranslator.translateJvmInstruction(JavaToUvmTranslator.kt:1792) at gjavac.translater.JavaToUvmTranslator.translateJvmMethod(JavaToUvmTranslator.kt:1903) at gjavac.translater.JavaToUvmTranslator.translateJvmType(JavaToUvmTranslator.kt:231) at gjavac.translater.JavaToUvmTranslator.translateTopJvmType(JavaToUvmTranslator.kt:147) at gjavac.translater.JavaToUvmTranslator.translateModule(JavaToUvmTranslator.kt:123) at gjavac.MainKt.main(Main.kt:39)
An alternative method to reach '-amount' in Java smart contract is to use '0-amount', but a more elegant way is desired. Need to support LNEG operator in Java smart contract.
I used arithmetic operators (-) in java like this
uvmMap.set("change", -amount);
When trying to compile it with gjavac, an exception is raised:gjavac.exceptions.GjavacException: not supported jvm opcode LNEG to compile to uvm instruction at gjavac.translater.JavaToUvmTranslator.translateJvmInstruction(JavaToUvmTranslator.kt:1792) at gjavac.translater.JavaToUvmTranslator.translateJvmMethod(JavaToUvmTranslator.kt:1903) at gjavac.translater.JavaToUvmTranslator.translateJvmType(JavaToUvmTranslator.kt:231) at gjavac.translater.JavaToUvmTranslator.translateTopJvmType(JavaToUvmTranslator.kt:147) at gjavac.translater.JavaToUvmTranslator.translateModule(JavaToUvmTranslator.kt:123) at gjavac.MainKt.main(Main.kt:39)
An alternative method to reach '-amount' in Java smart contract is to use '0-amount', but a more elegant way is desired. Need to support LNEG operator in Java smart contract.