This commit is contained in:
Бондарев Иван 2017-10-15 18:36:15 +02:00
parent c3bb2ed953
commit 59973c9535
2 changed files with 3 additions and 12 deletions

View file

@ -1021,7 +1021,6 @@ namespace CodeCompletion
{
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
is_realization = true;
@ -1031,7 +1030,6 @@ namespace CodeCompletion
{
pr = new ProcRealization(ps, impl_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
is_realization = true;
pr.head_loc = loc;
@ -1071,7 +1069,6 @@ namespace CodeCompletion
topScope.AddExtensionMethod(meth_name, ps, ts);
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
if (impl_scope != null)
@ -1114,7 +1111,6 @@ namespace CodeCompletion
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
pr.loc = cur_loc;
ps.proc_realization = pr;
pr.head_loc = loc;
is_realization = true;
cur_scope.AddName("$method", pr);
@ -1127,7 +1123,7 @@ namespace CodeCompletion
ss = cur_scope.FindName(meth_name);
if (ss != null && ss is ProcScope)
{
if ((ss as ProcScope).is_forward)
if ((ss as ProcScope).is_forward && ss == select_function_definition(ss as ProcScope, _procedure_header.parameters, null, null))
{
//if ((ss as ProcScope).parameters.Count != 0 && _procedure_header.parameters != null) (ss as ProcScope).parameters.Clear();
pr = new ProcRealization(ss as ProcScope, cur_scope);
@ -1328,7 +1324,6 @@ namespace CodeCompletion
{
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
is_realization = true;
pr.head_loc = loc;
@ -1338,7 +1333,6 @@ namespace CodeCompletion
{
pr = new ProcRealization(ps, impl_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
is_realization = true;
@ -1384,7 +1378,6 @@ namespace CodeCompletion
TypeTable.obj_type.AddExtensionMethod(meth_name, ps, ts);*/
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
if (impl_scope != null)
@ -1424,7 +1417,6 @@ namespace CodeCompletion
pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
pr.loc = cur_loc;
ps.proc_realization = pr;
pr.head_loc = loc;
is_realization = true;
cur_scope.AddName("$method", pr);
@ -1437,7 +1429,7 @@ namespace CodeCompletion
ss = cur_scope.FindName(meth_name);
if (ss != null && ss is ProcScope)
{
if ((ss as ProcScope).is_forward)
if ((ss as ProcScope).is_forward && ss == select_function_definition(ss as ProcScope, _function_header.parameters, (ss as ProcScope).return_type, null, true))
{
//if ((ss as ProcScope).parameters.Count != 0 && _function_header.parameters != null) (ss as ProcScope).parameters.Clear();
pr = new ProcRealization(ss as ProcScope, cur_scope);
@ -3556,7 +3548,6 @@ namespace CodeCompletion
{
ProcRealization pr = new ProcRealization(ps, cur_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
is_realization = true;
@ -3567,7 +3558,6 @@ namespace CodeCompletion
{
ProcRealization pr = new ProcRealization(ps, impl_scope);
pr.already_defined = true;
ps.proc_realization = pr;
pr.loc = cur_loc;
pr.head_loc = loc;
is_realization = true;

View file

@ -1403,6 +1403,7 @@ namespace CodeCompletion
{
this.def_proc = def_proc;
this.top_mod_scope = top_mod_scope;
def_proc.proc_realization = this;
if (def_proc != null)
this.topScope = def_proc.topScope;
this.si = new SymInfo(def_proc.si.name, def_proc.si.kind, def_proc.si.description);