in lib/generator.js [3337:3372]
_name(ast.left.inferred.valueType) === 'any') {
this.visitObject(ast.expr, level, env, 'map[string]interface{}');
} else {
if ((ast.left.inferred.name === 'number' || ast.left.inferred.name === 'integer') && ast.expr.inferred.name === 'int32') {
this.emit(`${pointer ? 'dara.ToInt(' : 'int('}`);
this.visitExpr(ast.expr, level, env, { pointer });
this.emit(`)`);
} else if (ast.expr.type !== 'number' && (ast.expr.inferred.name === 'number' || ast.expr.inferred.name === 'integer') && ast.left.inferred.name === 'int32') {
this.emit(`${pointer ? 'dara.ToInt32(' : 'int32('}`);
this.visitExpr(ast.expr, level, env, { pointer });
this.emit(`)`);
} else if(ast.expr.type === 'call'){
if(hasThrowCall && ast.left.type === 'variable') {
this.visitExpr(ast.expr, level, env, { pointer });
if(setFunc) {
this.emit('\n');
let name = _name(ast.left.id);
this.emit(`${name} = ${setFunc}${name}Tmp)`, level);
}
} else {
let dealFunc = this.getVarDealFunc(ast.expr, { pointer });
setFunc = dealFunc && dealFunc(_name(ast.expr.inferred));
if(setFunc) {
this.emit(`${setFunc}`);
}
this.visitExpr(ast.expr, level, env, { pointer });
if(setFunc) {
this.emit(')');
}
}
} else {
this.visitExpr(ast.expr, level, env, { pointer });
}
}