in lib/generator.js [2054:2082]
visitPropertyAccess(ast, level, env) {
assert.equal(ast.type, 'property_access');
var id = _name(ast.id);
var expr = '';
if (id === '__response') {
expr += RESPONSE;
} else if (id === '__request') {
expr += REQUEST;
} else {
expr += _avoidReserveName(id);
}
var current = ast.id.inferred;
for (var i = 0; i < ast.propertyPath.length; i++) {
var name = _name(ast.propertyPath[i]);
if (current.type === 'model') {
expr += `.${_upperFirst(name)}`;
} else if (current.type === 'map') {
expr += `.Get("${name}")`;
} else {
expr += `["${name}"]`;
}
current = ast.propertyPathTypes[i];
}
this.emit(expr);
}