bug fix #758
This commit is contained in:
parent
1359323205
commit
0556f57729
|
|
@ -719,6 +719,7 @@ namespace CodeCompletion
|
|||
_dot_node.left.visit(this);
|
||||
search_all = tmp2;
|
||||
by_dot = tmp;
|
||||
|
||||
if (returned_scope != null && returned_scope is ElementScope && (returned_scope as ElementScope).sc is ProcScope)
|
||||
{
|
||||
if (((returned_scope as ElementScope).sc as ProcScope).return_type != null)
|
||||
|
|
@ -728,6 +729,7 @@ namespace CodeCompletion
|
|||
}
|
||||
else if (returned_scope != null && returned_scope is ProcScope)
|
||||
{
|
||||
|
||||
ProcScope ps = returned_scope as ProcScope;
|
||||
if (ps.return_type == null)
|
||||
{
|
||||
|
|
@ -1030,6 +1032,8 @@ namespace CodeCompletion
|
|||
(_method_call.dereferencing_value as dot_node).left.visit(this);
|
||||
if (returned_scope is ElementScope)
|
||||
returned_scope = (returned_scope as ElementScope).sc;
|
||||
else if (returned_scope is ProcScope)
|
||||
returned_scope = (returned_scope as ProcScope).return_type;
|
||||
obj = returned_scope as TypeScope;
|
||||
by_dot = tmp;
|
||||
if (obj != null && proc.parameters != null && proc.parameters.Count > 0 && !(proc.parameters[0].sc is TemplateParameterScope || proc.parameters[0].sc is UnknownScope))
|
||||
|
|
|
|||
|
|
@ -2004,20 +2004,20 @@ namespace CodeCompletion
|
|||
int ind = this.template_parameters.IndexOf((parameter.sc as TypeScope).Name);
|
||||
ElementScope inst_param = null;
|
||||
if (gen_args.Count > ind && ind != -1)
|
||||
inst_param = new ElementScope(parameter.si, gen_args[ind], parameter.topScope);
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), gen_args[ind], parameter.topScope);
|
||||
else
|
||||
inst_param = new ElementScope(parameter.si, parameter.sc, parameter.topScope);
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), parameter.sc, parameter.topScope);
|
||||
instance.parameters.Add(inst_param);
|
||||
}
|
||||
else
|
||||
{
|
||||
ElementScope inst_param = null;
|
||||
if ((parameter.sc as TypeScope).IsGeneric)
|
||||
inst_param = new ElementScope(parameter.si, (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
else if ((parameter.sc as TypeScope).GetElementType() != null && (parameter.sc as TypeScope).GetElementType().IsGenericParameter)
|
||||
inst_param = new ElementScope(parameter.si, (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), (parameter.sc as TypeScope).GetInstance(gen_args), parameter.topScope);
|
||||
else
|
||||
inst_param = new ElementScope(parameter.si, parameter.sc, parameter.topScope);
|
||||
inst_param = new ElementScope(new SymInfo(parameter.si.name, parameter.si.kind, parameter.si.description), parameter.sc, parameter.topScope);
|
||||
instance.parameters.Add(inst_param);
|
||||
}
|
||||
if (parameter.param_kind == parametr_kind.params_parametr && i < gen_args.Count)
|
||||
|
|
|
|||
Loading…
Reference in a new issue