Так работает:
def fieldName = $"_$name";
builder.Define(<[decl: private mutable $(fieldName: usesite): System.Int32 ]>);
И так работает:
def rawType = "int";
def fieldName = $"_$name";
builder.Define(<[decl: private mutable $(fieldName: usesite): $(rawType: usesite) ]>);
А вот так — не работает:
def rawType = "System.Int32";
def fieldName = $"_$name";
builder.Define(<[decl: private mutable $(fieldName: usesite): $(rawType: usesite) ]>);
error : unbound type name `System.Int32'
Похоже, полные имена типов надо как-то по особому передавать?