I am try to make possible and safe to navigate dynamics using runtime strings,
The first is working, second not.
var a:Dynamic = {
b: {
c: 123
}
};
var aaa=safeget(a.b.c);
trace(aaa);
aaa=safeget(a["b"].c);
trace(aaa);
Error
14 | aaa=safeget(a["b"].c);
| ^^^
| String should be Int
Live example, and macro code;
var getexpr = switch expr.expr {
case EField(e, f):{
//var safe_e=safeget(e);
macro $e?.$f;
}
case EArray(e1,e2):{
macro $e1==null ? null : Reflect.field($e1,$e2);
}
```