Для интересующихся Groovy:
result = 0
myMap = ["asdf": 1 , "qwer" : 2, "sdfg" : 10]= 0
println result
и тот же код после groovyc и jad
import groovy.lang.Binding;
import groovy.lang.Script;
import org.codehaus.groovy.runtime.ScriptBytecodeAdapter;
public class test1 extends Script
{
public test1()
{
}
public test1(Binding context)
{
super.setBinding(context);
}
public static void main(String args[])
{
Object aobj[] = {
test1.class, args
};
ScriptBytecodeAdapter. invokeMethod(org.codehaus.groovy.runtime.InvokerHelper.class, "runScript", ((Object) (aobj)));
}
public Object run()
{
java.util.Map map = ScriptBytecodeAdapter.createMap(new Object[] {
"asdf", new Integer(1), "qwer", new Integer(2), "sdfg", new Integer(10)
});
java.util.Map _tmp = map;
ScriptBytecodeAdapter.setGroovyObjectProperty(map, this, "myMap");
Integer integer = new Integer(0);
Integer _tmp1 = integer;
ScriptBytecodeAdapter.setGroovyObjectProperty(integer, this, "result");
Object aobj[] = {
ScriptBytecodeAdapter.getGroovyObjectProperty(this, "result")
};
return ScriptBytecodeAdapter.invokeMethod(this, "println", ((Object) (aobj)));
}
public static Long __timeStamp;
static
{
Long long1;
Long long2;
long1 = new Long(0x118b2c76d19L);
Long _tmp = long1;
__timeStamp = (Long)long1;
long2 = new Long(0x118b2c76d19L);
Long _tmp1 = long2;
__timeStamp = (Long)long2;
}
}