Exemple #1
0
        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);
        }