ParameterData pd = GetParameterData (candidate);
Parameters ps = GetFullParameters (candidate);
-
if (ps == null) {
ps_count = 0;
po_count = 0;
a = new Argument ((Expression) a.Expr, Argument.AType.Expression);
ArrayList args = new ArrayList();
args.Add (a);
- string param_name = param_type.Name;
+ string param_name = pd.ParameterDesc(i).Replace('+', '.');
Expression pname = MonoBASIC.Parser.DecomposeQI (param_name, Location.Null);
+
New temp_new = new New ((Expression)pname, args, Location.Null);
Expression del_temp = temp_new.DoResolve(ec);
a = new Argument ((Expression) a.Expr, Argument.AType.Expression);
ArrayList args = new ArrayList();
args.Add (a);
- string param_name = param_type.Name;
+ string param_name = pd.ParameterDesc(i).Replace('+', '.');
Expression pname = MonoBASIC.Parser.DecomposeQI (param_name, Location.Null);
New temp_new = new New ((Expression)pname, args, Location.Null);
if (expr is SimpleName){
SimpleName child_expr = (SimpleName) expr;
-
+
Expression new_expr = new SimpleName (child_expr.Name + "." + Identifier, loc);
- return new_expr.Resolve (ec, flags | ResolveFlags.MethodGroup);
+ if ((flags & ResolveFlags.MaskExprClass) == ResolveFlags.Type)
+ return new_expr.Resolve (ec, flags);
+ else
+ return new_expr.Resolve (ec, flags | ResolveFlags.MethodGroup | ResolveFlags.VariableOrValue);
}
int errors = Report.Errors;