diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index b6e984ffb..0964c6e17 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 = "0"; - public const string Revision = "1747"; + public const string Revision = "1749"; 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 b2218a0a6..b5887348e 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ %COREVERSION%=0 -%REVISION%=1747 +%REVISION%=1749 %MINOR%=4 %MAJOR%=3 diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index 05aa806ab..0b079bc4b 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.4.0.1747' +!define VERSION '3.4.0.1749' diff --git a/TestSuite/CompilationSamples/PABCSystem.pas b/TestSuite/CompilationSamples/PABCSystem.pas index a232a073e..5e9d6ad19 100644 --- a/TestSuite/CompilationSamples/PABCSystem.pas +++ b/TestSuite/CompilationSamples/PABCSystem.pas @@ -6304,7 +6304,10 @@ begin else if t = typeof(string) then begin - Result := f.br.ReadString(); + var len := f.br.ReadByte(); + var chh := f.br.ReadChars(len); + + Result := new string(chh); if (f is TypedFile) and ((f as TypedFile).offsets <> nil) and ((f as TypedFile).offsets.Length > 0) then begin f.br.BaseStream.Seek((f as TypedFile).offsets[ind] - (Result as string).Length, SeekOrigin.Current); diff --git a/TreeConverter/SymbolTable/DSST/SymbolTable.cs b/TreeConverter/SymbolTable/DSST/SymbolTable.cs index 85edb7454..36de9cc88 100644 --- a/TreeConverter/SymbolTable/DSST/SymbolTable.cs +++ b/TreeConverter/SymbolTable/DSST/SymbolTable.cs @@ -900,7 +900,7 @@ namespace SymbolTable ((to.symbol_kind == symbol_kind.sk_overload_function) && (add.symbol_kind == symbol_kind.sk_overload_function)) || ((to.symbol_kind == symbol_kind.sk_overload_procedure) && (add.symbol_kind == symbol_kind.sk_overload_procedure)) - || to.sym_info != add.sym_info && to.sym_info is PascalABCCompiler.TreeRealization.function_node && add.sym_info is PascalABCCompiler.TreeRealization.function_node && (to.sym_info as PascalABCCompiler.TreeRealization.function_node).is_extension_method && (add.sym_info as PascalABCCompiler.TreeRealization.function_node).is_extension_method + || to.sym_info != add.sym_info && to.sym_info is PascalABCCompiler.TreeRealization.function_node && add.sym_info is PascalABCCompiler.TreeRealization.function_node /*&& (to.sym_info as PascalABCCompiler.TreeRealization.function_node).is_extension_method*/ && (add.sym_info as PascalABCCompiler.TreeRealization.function_node).is_extension_method ); } diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas index 5e9d6ad19..2176c301e 100644 --- a/bin/Lib/PABCSystem.pas +++ b/bin/Lib/PABCSystem.pas @@ -6297,7 +6297,7 @@ begin elem := Activator.CreateInstance(t); fa := t.GetFields; for var i := 0 to fa.Length - 1 do - if not fa[i].IsStatic then + if not fa[i].IsStatic and not fa[i].IsLiteral then fa[i].SetValue(elem, AbstractBinaryFileReadT(f, fa[i].FieldType, ind, in_arr)); Result := elem; end @@ -6390,7 +6390,7 @@ begin fa := t.GetFields; for var i := 0 to fa.Length - 1 do begin - if not fa[i].IsStatic then + if not fa[i].IsStatic and not fa[i].IsLiteral then Write(f, fa[i].GetValue(val), true, ind, in_arr); end; end @@ -10820,7 +10820,7 @@ begin fa := t.GetFields; Result := 0; for var i := 0 to fa.Length - 1 do - if not fa[i].IsStatic then + if not fa[i].IsStatic and not fa[i].IsLiteral then Result := Result + RunTimeSizeOf(fa[i].FieldType) end else if t = typeof(string) then