fix #891
This commit is contained in:
parent
92b0bf4cc2
commit
1d9a27d08a
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "5";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "2077";
|
||||
public const string Revision = "2084";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=5
|
||||
%REVISION%=2077
|
||||
%COREVERSION%=0
|
||||
%REVISION%=2084
|
||||
%MINOR%=5
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.5.0.2077'
|
||||
!define VERSION '3.5.0.2084'
|
||||
|
|
|
|||
20
TestSuite/lambda_capture_local_and_proc_noparams_call.pas
Normal file
20
TestSuite/lambda_capture_local_and_proc_noparams_call.pas
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
type
|
||||
t1 = class
|
||||
public procedure p0 := exit;
|
||||
public i: integer := 2;
|
||||
|
||||
public procedure p1;
|
||||
begin
|
||||
var v := 0;
|
||||
var p: procedure := ()->begin
|
||||
v := v;
|
||||
Assert(i=2);
|
||||
p0;
|
||||
end;
|
||||
p;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
t1.Create.p1;
|
||||
end.
|
||||
|
|
@ -164,7 +164,7 @@ namespace TreeConverter.LambdaExpressions.Closure
|
|||
si.sym_info.semantic_node_type == semantic_node_type.common_namespace_function_node ||
|
||||
si.sym_info.semantic_node_type == semantic_node_type.namespace_constant_definition ||
|
||||
si.sym_info.semantic_node_type == semantic_node_type.compiled_function_node ||
|
||||
si.sym_info.semantic_node_type == semantic_node_type.common_method_node || // SSM bug fix #167
|
||||
//si.sym_info.semantic_node_type == semantic_node_type.common_method_node || // SSM bug fix #167 - SSM 30.05.19 эта строчка не влияет на #167 и я её закомментировал
|
||||
si.sym_info.semantic_node_type == semantic_node_type.compiled_namespace_node ||
|
||||
si.sym_info.semantic_node_type == semantic_node_type.compiled_variable_definition ||
|
||||
si.sym_info.semantic_node_type == semantic_node_type.common_type_node ||
|
||||
|
|
|
|||
|
|
@ -3224,7 +3224,8 @@ namespace PascalABCCompiler.TreeConverter
|
|||
if (id != null)
|
||||
{
|
||||
mc = new SyntaxTree.method_call();
|
||||
mc.dereferencing_value = id;
|
||||
mc.dereferencing_value = id; // дело в том, что это присваивание перенаправляет Parent на method_call, которого нет в синтаксическом дереве.
|
||||
id.Parent = _procedure_call; // fix #891 вернули Parent назад
|
||||
//DarkStar Add
|
||||
//Добавил т.к. нужно для генерации отладочной инфы
|
||||
mc.source_context = id.source_context;
|
||||
|
|
@ -3236,6 +3237,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
{
|
||||
mc = new SyntaxTree.method_call();
|
||||
mc.dereferencing_value = adrv;
|
||||
adrv.Parent = _procedure_call; // fix #891
|
||||
//DarkStar Add
|
||||
//Добавил т.к. нужно для генерации отладочной инфы
|
||||
mc.source_context = adrv.source_context;
|
||||
|
|
|
|||
Loading…
Reference in a new issue