fix #1897
This commit is contained in:
parent
4e45e59d4a
commit
75609986e1
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "4";
|
||||
public const string Build = "2";
|
||||
public const string Revision = "2018";
|
||||
public const string Revision = "2023";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=4
|
||||
%REVISION%=2018
|
||||
%COREVERSION%=2
|
||||
%REVISION%=2023
|
||||
%MINOR%=4
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.4.2.2018'
|
||||
!define VERSION '3.4.2.2023'
|
||||
|
|
|
|||
|
|
@ -1709,6 +1709,7 @@ namespace PascalABCCompiler.SyntaxTree
|
|||
|
||||
public partial class expression
|
||||
{
|
||||
//public object semantic_ex;
|
||||
public expression Plus(expression e)
|
||||
{
|
||||
return new bin_expr(this, e, Operators.Plus);
|
||||
|
|
|
|||
9
TestSuite/loopn.pas
Normal file
9
TestSuite/loopn.pas
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
begin
|
||||
var n := 10;
|
||||
loop n do
|
||||
Assert(n=n);
|
||||
var p: procedure;
|
||||
p := ()->begin
|
||||
Assert(n=n);
|
||||
end;
|
||||
end.
|
||||
|
|
@ -848,7 +848,10 @@ namespace PascalABCCompiler.TreeConverter
|
|||
motivation_keeper.reset(); // Это можно закомментировать - все тесты проходят SSM 2/1/17
|
||||
//\ssyy
|
||||
expression_node en = ret.visit(expr);
|
||||
//expr.semantic_ex = en; // SSM 3.1.17 кешируем для последующего обращения
|
||||
|
||||
//if (lambdaProcessingState == LambdaProcessingState.FinishPhase)
|
||||
// expr.semantic_ex = en; // SSM 3.1.17 кешируем для последующего обращения
|
||||
|
||||
if (en == null)
|
||||
AddError(get_location(expr), "EXPRESSION_EXPECTED");
|
||||
//en.loc=get_location(expr);
|
||||
|
|
@ -20160,6 +20163,7 @@ namespace PascalABCCompiler.TreeConverter
|
|||
AddError(get_location(st), "MISSED_SEMANTIC_CHECK_FOR_SUGARED_NODE_{0}", (st.typ as System.Type)?.Name ?? "Unknown");
|
||||
}
|
||||
ret.reset(); // обязательно очистить - этот узел в семантику ничего не должен приносить!
|
||||
ReplaceUsingParent(st, new PascalABCCompiler.SyntaxTree.empty_statement());
|
||||
}
|
||||
|
||||
public override void visit(SyntaxTree.semantic_check_sugared_var_def_statement_node st)
|
||||
|
|
|
|||
Loading…
Reference in a new issue