bug fix #543
This commit is contained in:
parent
de4a4a8a96
commit
ea12ccdd09
|
|
@ -2805,6 +2805,8 @@ namespace PascalABCCompiler.PCU
|
|||
cnfn.ConnectedToType.base_type.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType != null && cnfn.ConnectedToType.is_generic_parameter)
|
||||
cnfn.ConnectedToType.base_type.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType is compiled_type_node && cnfn.ConnectedToType.is_generic_type_instance && cnfn.ConnectedToType.original_generic.Scope != null)
|
||||
cnfn.ConnectedToType.original_generic.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType is compiled_generic_instance_type_node && cnfn.ConnectedToType.original_generic.Scope != null)
|
||||
{
|
||||
cnfn.ConnectedToType.original_generic.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
|
|
@ -2910,6 +2912,8 @@ namespace PascalABCCompiler.PCU
|
|||
cnfn.ConnectedToType.base_type.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType != null && cnfn.ConnectedToType.is_generic_parameter)
|
||||
cnfn.ConnectedToType.base_type.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType is compiled_type_node && cnfn.ConnectedToType.is_generic_type_instance && cnfn.ConnectedToType.original_generic.Scope != null)
|
||||
cnfn.ConnectedToType.original_generic.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
else if (cnfn.ConnectedToType is compiled_generic_instance_type_node && cnfn.ConnectedToType.original_generic.Scope != null)
|
||||
{
|
||||
cnfn.ConnectedToType.original_generic.Scope.AddSymbol(cnfn.name, new SymbolInfo(cnfn));
|
||||
|
|
|
|||
11
TestSuite/extensionmethods24.pas
Normal file
11
TestSuite/extensionmethods24.pas
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
var i: integer;
|
||||
procedure p1(Self: sequence of real); extensionmethod;
|
||||
begin
|
||||
i := 1;
|
||||
end;
|
||||
|
||||
begin
|
||||
var r := new List<real>;
|
||||
r.p1;
|
||||
assert(i = 1);
|
||||
end.
|
||||
|
|
@ -12720,6 +12720,8 @@ namespace PascalABCCompiler.TreeConverter
|
|||
top_function.ConnectedToType.base_type.Scope.AddSymbol(top_function.name, new SymbolInfo(context.top_function));
|
||||
else if (top_function.ConnectedToType.is_generic_parameter)
|
||||
top_function.ConnectedToType.base_type.Scope.AddSymbol(top_function.name, new SymbolInfo(context.top_function));
|
||||
else if (top_function.ConnectedToType is compiled_type_node && top_function.ConnectedToType.is_generic_type_instance && top_function.ConnectedToType.original_generic.Scope != null)
|
||||
top_function.ConnectedToType.original_generic.Scope.AddSymbol(top_function.name, new SymbolInfo(context.top_function));
|
||||
else if (top_function.ConnectedToType is compiled_generic_instance_type_node && top_function.ConnectedToType.original_generic.Scope != null)
|
||||
top_function.ConnectedToType.original_generic.Scope.AddSymbol(top_function.name, new SymbolInfo(context.top_function));
|
||||
else if (top_function.ConnectedToType.IsDelegate && top_function.ConnectedToType.base_type.IsDelegate)
|
||||
|
|
|
|||
Loading…
Reference in a new issue