bool DoResolveCommon(ResolveContext rc) { var var_expr = VariableType as VarTypeExpression; if (var_expr != null) { ResolvedType = null; } else { ResolvedType = VariableType.ResolveAsType(rc); if (ResolvedType == null) { return(false); } } Variable.type = ResolvedType; rc = rc.AddVariable(Variable); if (Initializer != null) { Initializer = Initializer.DoResolve(rc); if (var_expr != null && Initializer != null && var_expr.InferType(rc, Initializer)) { ResolvedType = var_expr.Type; } } lvr = new LocalVariableExpression(Variable, loc); eclass = ExprClass.Variable; return(true); }