diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index fbbf0d296..c84a80e36 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -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 = "1806"; + public const string Revision = "1809"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index c3c841a0b..f5fcc0689 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%MINOR%=4 -%REVISION%=1806 %COREVERSION%=2 +%REVISION%=1809 +%MINOR%=4 %MAJOR%=3 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 756624d09..d15dbcdd3 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.4.2.1806' +!define VERSION '3.4.2.1809' diff --git a/TestSuite/questionpoint2.pas b/TestSuite/questionpoint2.pas new file mode 100644 index 000000000..a1f8617ef --- /dev/null +++ b/TestSuite/questionpoint2.pas @@ -0,0 +1,10 @@ +type + TClass = class + function F() := 0; + end; + +begin + var ff1 := new TClass; + var x := ff1?.F; + Assert(x=0); +end. \ No newline at end of file diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index 6f8358a50..af25c8fc1 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -19821,6 +19821,7 @@ namespace PascalABCCompiler.TreeConverter { var qce = av.new_addr_value as SyntaxTree.question_colon_expression; var av_cs = convert_strong(qce.ret_if_false); + try_convert_typed_expression_to_function_call(ref av_cs); if (!type_table.is_with_nil_allowed(av_cs.type)) { var dn = new dot_node(new ident("PABCSystem"), new ident("DQNToNullable"));