Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
8bf1e53
[Compiler tests] - Adjusted NetCore runtime folder in automated tests…
Aug 22, 2026
a45b1d0
[Compiler tests]- Indeed C548 was one of the culprits, moved it last …
Aug 22, 2026
3ee7c92
[Compiler tests] All automated tests should be now passing both compi…
Aug 22, 2026
f08b4e3
Fix SYSMETRIC() by going through GetSystemMetrics() (#2065)
Irwin1985 Aug 22, 2026
f60c07b
[VsIntegration] Fix reference resolution: marshal AddPendingReference…
fforay Aug 22, 2026
99eca37
Add tests for numeric properties in DEFINE CLASS (#2067)
Irwin1985 Aug 24, 2026
0125d49
[VSIntegration] Add WinForms Designer shadow-file bridge for SDK-styl…
fforay Aug 25, 2026
82dca6e
[VSIntegration] Update comments and Docs
fforay Aug 26, 2026
b8db1ea
[VSIntegration] Fix ViewForm routing, auto-detect HasDesigner and its…
fforay Aug 26, 2026
d6c26a9
[VSIntegration] Add auto-sync-on-save, cleanup-on-close, fix referenc…
fforay Aug 26, 2026
892a183
Logging Exception with stacktrace and as arror (#2071)
hpetriffer Aug 27, 2026
7a9517c
[VSIntegration] Nest the shadow companion project in a Solution Folde…
fforay Aug 27, 2026
d4a60bd
Implement XMLTOCURSOR() (#2070)
Irwin1985 Aug 27, 2026
b2c0640
[VSIntegration] Fix event-handler caret positioning. Fix old ShadowDe…
fforay Aug 29, 2026
538d20b
Merge remote-tracking branch 'remotes/origin/feature/shadow-designer-…
RobertvanderHulst Aug 29, 2026
448d892
Prevent double licking on designer.prg from opening the form designer
RobertvanderHulst Aug 29, 2026
8589207
Generate comments in InitializeComponent
RobertvanderHulst Aug 30, 2026
a3bedcf
[CodedomProvider] Fix handling of System.Single types
RobertvanderHulst Aug 30, 2026
ce9e297
Fix namespaces which are different between .net framework and .net 8
hpetriffer Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/CompilerTests/Applications/R870/Prg/R870.prg
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ c := "a" +;

? c
? StackFrame{true}:GetFileLineNumber()
xAssert(StackFrame{true}:GetFileLineNumber() == 12)
PROC xAssert(l AS LOGIC) AS VOID
IF l
xAssert(StackFrame{true}:GetFileLineNumber() , 12)

PROC xAssert(nResult AS INT, nExpected AS INT) AS VOID
IF nExpected == nResult
? "Assertion passed"
ELSE
THROW Exception{"Incorrect result"}
THROW Exception{ System.String.Format("Incorrect result, expected {0}, returned {1}", nExpected, nResult)}
END IF
RETURN

11 changes: 7 additions & 4 deletions src/CompilerTests/Applications/RuntimeTests/Prg/RuntimeTests.prg
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ FUNCTION Start() AS INT
"C427", "C433", "C434", "C435", "C437", "C441", "C444", "C445", "C446", "C448", ;
"C450", "C452", "C457", "C460", /*"C475",*/ "C478", "C479", "C484", "C499", "C504", ;
"C505", "C506", "C507", "C508", "C509", "C515", "C519", "C520", "C521", "C527", ;
"C528", "C536", "C538", /*"C541",*/ "C542", "C543", "C548", "C552", "C557", "C558", ;
"C528", "C536", "C538", /*"C541",*/ "C542", "C543", "C552", "C557", "C558", ;
"C560", "C564", "C567", "C573", "C578", "C579", "C582", "C588", "C590", "C591", ;
"C599", "C602", "C604", "C606", "C607", "C609", "C610", "C611", "C612", "C613", "C615", ;
"C616", "C617", "C618", "C621", "C628", "C629", "C630", "C631", "C632", "C635", ;
Expand All @@ -42,7 +42,7 @@ FUNCTION Start() AS INT
"R711", "R712", "R725", "R729", "R730", "R732","R735", "R736","R741","R742","R743",;
"R750", "R751", "R752", "R753", "R754", "R755","R756", "R757","R759","R763", "R765",;
"R771", "R772", "R773", "R774", "R776", "R777", "R779","R780","R782", "R784", "R787", ;
"R788", "R789", "R790", "R791", "R793", "R795", "R796", "R799", "R800","R803", ;
/*"R788", */"R789", "R790", "R791", "R793", "R795", "R796", "R799", "R800","R803", ;
"R820", "R821", /*"R822",*/ "R823", "R824", "R827", "R828", "R829", "R830", "R831","R832",;
"R835", "R836", "R839", "R840", "R842", "R848", "R849", "R850", "R855", "R856", "R858",;
"R861", "R862", "R863", "R864", "R865", "R868", "R870", "R871", "R872", "R873", ;
Expand All @@ -62,10 +62,13 @@ FUNCTION Start() AS INT
aTests:Remove("C418")
aTests:Remove("C479")
aTests:Remove("C521")

// uses StackFrame to get the line of code, but automated tests are running in release mode an this is not available
aTests:Remove("R870")
#endif

#warning Removed C729 because it uses macrocompiler substitution which fails in the the tests
aTests:Remove("C729")
aTests:Remove("C729") // Removed C729 because it uses macrocompiler substitution which fails in the the tests
aTests:Add( "C548" ) // Added C548 at the end because for some reason causes several tests following it to fail


// TODO Must fail: "C135"
Expand Down
7 changes: 3 additions & 4 deletions src/CompilerTests/Automated/CompilerTests.prg
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ FUNCTION Start() AS VOID

gcCompilerFilename := "C:\Program Files (x86)\XSharp\Bin\xsc.exe"
cProjectFile := "C:\xSharp\Dev\src\CompilerTests\xSharp Tests30.viproj"
gcRuntimeFolder := "C:\xSharp\Dev\Artifacts\Release\net46"
// gcNetCoreRuntimeFolder := "C:\xSharp\Dev\Artifacts\Release"
gcNetCoreRuntimeFolder := "C:\Program Files (x86)\XSharp\Redist\net8.0"
gcRuntimeFolder := "C:\xSharp\Dev\src\CompilerTests\Runtime"
gcNetCoreRuntimeFolder := gcRuntimeFolder + "Net8"
cTestTheFixedOnes := "TRUE"
cConfigName := "DEBUG"
cLogFilename := "C:\xSharp\Dev\src\CompilerTests\Automated\log.txt"
Expand All @@ -53,7 +52,7 @@ FUNCTION Start() AS VOID
gcCompilerFilename := Environment.GetEnvironmentVariable("XSCOMPILER")?:Trim()
cProjectFile := Environment.GetEnvironmentVariable("XSTESTPROJECT")?:Trim()
gcRuntimeFolder := Environment.GetEnvironmentVariable("XSRUNTIMEFOLDER")?:Trim()
gcNetCoreRuntimeFolder := Environment.GetEnvironmentVariable("XSRUNTIMEFOLDER")?:Trim()
gcNetCoreRuntimeFolder := gcRuntimeFolder + "Net8"
cTestTheFixedOnes := Environment.GetEnvironmentVariable("XSFIXEDTESTS")?:Trim()
cConfigName := Environment.GetEnvironmentVariable("XSCONFIG")?:Trim()
cLogFilename := Environment.GetEnvironmentVariable("XSLOGFILE")?:Trim()
Expand Down
Binary file modified src/CompilerTests/Runtime/XSharp.Harbour.dll
Binary file not shown.
Binary file modified src/CompilerTests/Runtime/XSharp.RT.dll
Binary file not shown.
Binary file modified src/CompilerTests/Runtime/XSharp.VFP.dll
Binary file not shown.
Binary file modified src/CompilerTests/Runtime/XSharp.VO.dll
Binary file not shown.
Binary file modified src/CompilerTests/Runtime/XSharp.XPP.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion src/CompilerTests/xSharp Tests30.viproj
Original file line number Diff line number Diff line change
Expand Up @@ -146894,7 +146894,7 @@ AppConfig = Release,22222222-2222-2222-2222-222222222222
Optimize=0
ENDApplication = D002 - Primary Constructor VO Dialect

ApplicationGroup = B9CFE839-D401-428D-94E9-E9D21E9F772D
ApplicationGroup = 70E3DAB7-5F3E-45A2-B617-437A91064B55
; ************** APPLICATION D003 - Primary Constructor NetCore VO Dialect *************
Application = D003 - Primary Constructor NetCore VO Dialect
IDEVersion = 1.06
Expand Down
20 changes: 6 additions & 14 deletions src/Runtime/XSharp.Core/Language/Generic.resx
Original file line number Diff line number Diff line change
Expand Up @@ -2831,19 +2831,11 @@
<data name="VFP_COLLECTION_INCORRECT_KEYSORT" xml:space="preserve">
<value>Keysort on {0} is not supported for collections ordered by {1}</value>
</data>












<data name="VFP_XML_PARSE_ERROR" xml:space="preserve">
<value>XML Parse error: {0}</value>
</data>
<data name="VFP_XML_NOSCHEMA" xml:space="preserve">
<value>Unable to infer XML schema.</value>
</data>
<!-- End of FoxPro runtime-->


</root>
2 changes: 2 additions & 0 deletions src/Runtime/XSharp.Data/FoxPro/Enums.prg
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,6 @@ ENUM XSharp.VFPErrors
MEMBER VFP_INVALID_PARAMETER
MEMBER VFP_FOR_CONDITION_MUST_BE_LOGIC
MEMBER VFP_INVALID_DATE_SETTING
MEMBER VFP_XML_PARSE_ERROR
MEMBER VFP_XML_NOSCHEMA
END ENUM
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\Runtime.Sdk.Props" />
<PropertyGroup>
<RootNamespace>XSharp</RootNamespace>
<RootNamespace>XSharp.Debugger</RootNamespace>
<AssemblyName>XSharp.RT.Debugger</AssemblyName>
<UseWindowsForms>true</UseWindowsForms>
<Dialect>Core</Dialect>
Expand Down
2 changes: 1 addition & 1 deletion src/Runtime/XSharp.RT/XSharp.RT.Next.xsproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="..\Runtime.Sdk.Props" />
<PropertyGroup>
<OutputType>Library</OutputType>
<RootNamespace>XSharp</RootNamespace>
<RootNamespace>XSharp.RT</RootNamespace>
<AssemblyName>XSharp.RT</AssemblyName>
<Dialect>VO</Dialect>
<Unsafe>True</Unsafe>
Expand Down
39 changes: 39 additions & 0 deletions src/Runtime/XSharp.VFP.Tests/OOPTests.prg
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//
// Copyright (c) XSharp B.V. All Rights Reserved.
// Licensed under the Apache License, Version 2.0.
// See License.txt in the project root for license information.
//


using System
using XUnit

begin namespace XSharp.VFP.Tests
class OOPTests
static constructor
XSharp.RuntimeState.Dialect := XSharpDialect.FoxPro
end constructor

[Fact, Trait("Category", "OOP")];
method NumericPropertyIsUsableInArithmetic as void
local oCircle := Circle{} as Circle
oCircle:Ratio := 5
Assert.Equal(31.4, (real8)oCircle:Perimeter(), 2)
end method

[Fact, Trait("Category", "OOP")];
method NumericPropertyRoundTripsThroughLateBoundAccess as void
local oCircle := Circle{} as Usual
oCircle:Ratio := 5
Assert.Equal(10, (int)(oCircle:Ratio * 2))
end method
end class

define class Circle as Custom
ratio = 0

procedure Perimeter()
return 2 * 3.14 * this.ratio
endproc
enddefine
end namespace
2 changes: 2 additions & 0 deletions src/Runtime/XSharp.VFP.Tests/XSharp.VFP.Tests.xsproj
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
<Compile Include="IndexOnTrimTests.prg" />
<Compile Include="IntrospectionTests.prg" />
<Compile Include="KeyMatchLookupTests.prg" />
<Compile Include="OOPTests.prg" />
<Compile Include="ReplaceScopeTests.prg" />
<Compile Include="SetDateCommandTests.prg" />
<Compile Include="SQLStatementTests.prg" />
Expand All @@ -122,6 +123,7 @@
<Compile Include="VfpStringFunctionsTests.prg" />
<Compile Include="WaitCommandTests.prg" />
<Compile Include="WrappedStubsTests.prg" />
<Compile Include="XmlToCursorTests.prg" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
Expand Down
Loading