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 Major = "3";
|
||||||
public const string Minor = "5";
|
public const string Minor = "5";
|
||||||
public const string Build = "0";
|
public const string Build = "0";
|
||||||
public const string Revision = "2077";
|
public const string Revision = "2084";
|
||||||
|
|
||||||
public const string MainVersion = Major + "." + Minor;
|
public const string MainVersion = Major + "." + Minor;
|
||||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
%MINOR%=5
|
|
||||||
%REVISION%=2077
|
|
||||||
%COREVERSION%=0
|
%COREVERSION%=0
|
||||||
|
%REVISION%=2084
|
||||||
|
%MINOR%=5
|
||||||
%MAJOR%=3
|
%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.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.namespace_constant_definition ||
|
||||||
si.sym_info.semantic_node_type == semantic_node_type.compiled_function_node ||
|
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_namespace_node ||
|
||||||
si.sym_info.semantic_node_type == semantic_node_type.compiled_variable_definition ||
|
si.sym_info.semantic_node_type == semantic_node_type.compiled_variable_definition ||
|
||||||
si.sym_info.semantic_node_type == semantic_node_type.common_type_node ||
|
si.sym_info.semantic_node_type == semantic_node_type.common_type_node ||
|
||||||
|
|
|
||||||
|
|
@ -3224,7 +3224,8 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
if (id != null)
|
if (id != null)
|
||||||
{
|
{
|
||||||
mc = new SyntaxTree.method_call();
|
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
|
//DarkStar Add
|
||||||
//Добавил т.к. нужно для генерации отладочной инфы
|
//Добавил т.к. нужно для генерации отладочной инфы
|
||||||
mc.source_context = id.source_context;
|
mc.source_context = id.source_context;
|
||||||
|
|
@ -3236,6 +3237,7 @@ namespace PascalABCCompiler.TreeConverter
|
||||||
{
|
{
|
||||||
mc = new SyntaxTree.method_call();
|
mc = new SyntaxTree.method_call();
|
||||||
mc.dereferencing_value = adrv;
|
mc.dereferencing_value = adrv;
|
||||||
|
adrv.Parent = _procedure_call; // fix #891
|
||||||
//DarkStar Add
|
//DarkStar Add
|
||||||
//Добавил т.к. нужно для генерации отладочной инфы
|
//Добавил т.к. нужно для генерации отладочной инфы
|
||||||
mc.source_context = adrv.source_context;
|
mc.source_context = adrv.source_context;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue