From 94bb523217deafb3d3816eb2ff0fa7b9aba65db4 Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Wed, 6 Mar 2019 18:10:52 +0000 Subject: [PATCH] fcl-passrc: test helper for double git-svn-id: trunk@41621 - --- packages/fcl-passrc/src/pscanner.pp | 4 ++-- packages/fcl-passrc/tests/tcresolver.pas | 27 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/packages/fcl-passrc/src/pscanner.pp b/packages/fcl-passrc/src/pscanner.pp index ec72c906ff..ab1f2e00b6 100644 --- a/packages/fcl-passrc/src/pscanner.pp +++ b/packages/fcl-passrc/src/pscanner.pp @@ -2733,9 +2733,9 @@ begin FCurSourceFile := FileResolver.FindSourceFile(AFilename); FCurFilename := AFilename; AddFile(FCurFilename); -{$IFDEF HASFS} + {$IFDEF HASFS} FileResolver.BaseDirectory := IncludeTrailingPathDelimiter(ExtractFilePath(FCurFilename)); -{$ENDIF} + {$ENDIF} if LogEvent(sleFile) then DoLog(mtInfo,nLogOpeningFile,SLogOpeningFile,[FormatPath(AFileName)],True); end; diff --git a/packages/fcl-passrc/tests/tcresolver.pas b/packages/fcl-passrc/tests/tcresolver.pas index 149534807d..05867c33fb 100644 --- a/packages/fcl-passrc/tests/tcresolver.pas +++ b/packages/fcl-passrc/tests/tcresolver.pas @@ -934,6 +934,7 @@ type Procedure TestTypeHelper_String; Procedure TestTypeHelper_Boolean; Procedure TestTypeHelper_Double; + Procedure TestTypeHelper_DoubleAlias; Procedure TestTypeHelper_Constructor_NewInstance; Procedure TestTypeHelper_Interface; Procedure TestTypeHelper_Interface_ConstructorFail; @@ -17583,6 +17584,32 @@ begin end; procedure TTestResolver.TestTypeHelper_Double; +begin + StartProgram(false); + Add([ + '{$modeswitch typehelpers}', + 'type', + ' Float = double;', + ' THelper = type helper for float', + ' const NPI = 3.141592;', + ' function ToStr: String;', + ' end;', + 'function THelper.ToStr: String;', + 'begin', + 'end;', + 'var', + ' a,b: Float;', + ' s: string;', + 'begin', + ' s:=(a * b.NPI).ToStr;', + ' s:=(a * float.NPI).ToStr;', + ' s:=float.NPI.ToStr;', + ' s:=3.2.ToStr;', + '']); + ParseProgram; +end; + +procedure TTestResolver.TestTypeHelper_DoubleAlias; begin StartProgram(false); Add([