_name()

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 });
      }
    }