├── .gitattributes ├── .gitignore ├── .paket └── paket.bootstrapper.exe ├── .travis.yml ├── LICENSE ├── README.md ├── RELEASE_NOTES.md ├── Unity3d.FSharp.Compiler.Service.sln ├── appveyor.yml ├── build.cmd ├── build.fsx ├── build.sh ├── docs ├── content │ ├── caches.fsx │ ├── compiler.fsx │ ├── corelib.fsx │ ├── devnotes.md │ ├── editor.fsx │ ├── filesystem.fsx │ ├── fsharp-readme.md │ ├── index.md │ ├── interactive.fsx │ ├── ja │ │ ├── compiler.fsx │ │ ├── devnotes.md │ │ ├── editor.fsx │ │ ├── filesystem.fsx │ │ ├── fsharp-readme.md │ │ ├── index.md │ │ ├── interactive.fsx │ │ ├── project.fsx │ │ ├── symbols.fsx │ │ ├── tokenizer.fsx │ │ └── untypedtree.fsx │ ├── project.fsx │ ├── queue.fsx │ ├── symbols.fsx │ ├── tokenizer.fsx │ ├── typedtree.fsx │ └── untypedtree.fsx ├── files │ ├── content │ │ ├── fcs.css │ │ └── style.ja.css │ └── images │ │ ├── en.png │ │ ├── ja.png │ │ └── logo.png └── tools │ ├── generate.fsx │ ├── generate.ja.fsx │ ├── packages.config │ └── templates │ ├── ja │ └── template.cshtml │ └── template.cshtml ├── lib └── bootstrap │ └── 4.0 │ ├── FSharp.Core.dll │ ├── FSharp.SRGen.Build.Tasks.dll │ ├── FSharp.SRGen.Build.Tasks.dll.config │ ├── FSharp.SRGen.targets │ ├── FsLexYacc.Build.Tasks.dll │ ├── FsLexYacc.Build.Tasks.dll.config │ ├── FsLexYacc.targets │ ├── fslex.exe │ ├── fslex.exe.config │ ├── fssrgen.exe │ ├── fssrgen.exe.config │ ├── fsyacc.exe │ └── fsyacc.exe.config ├── misc ├── logo.pdn └── logo.png ├── nuget ├── FSharp.Compiler.Service.nuspec └── publish.cmd ├── paket.dependencies ├── paket.lock ├── samples ├── EditorService │ └── Program.fs └── FscExe │ └── FscMain.fs ├── src ├── absil │ ├── bytes.fs │ ├── bytes.fsi │ ├── il.fs │ ├── il.fsi │ ├── ilascii.fs │ ├── ilascii.fsi │ ├── ilbinary.fs │ ├── ilbinary.fsi │ ├── ildiag.fs │ ├── ildiag.fsi │ ├── illex.fsl │ ├── illib.fs │ ├── ilmorph.fs │ ├── ilmorph.fsi │ ├── ilpars.fsy │ ├── ilprint.fs │ ├── ilprint.fsi │ ├── ilread.fs │ ├── ilread.fsi │ ├── ilreflect.fs │ ├── ilsupp.fs │ ├── ilsupp.fsi │ ├── ilwrite.fs │ ├── ilwrite.fsi │ ├── ilx.fs │ ├── ilx.fsi │ ├── zmap.fs │ ├── zmap.fsi │ ├── zset.fs │ └── zset.fsi ├── assemblyinfo │ ├── assemblyinfo.FSharp.Compiler.Service.dll.fs │ ├── assemblyinfo.FSharp.Interactive.Service.dll.fs │ ├── assemblyinfo.fsc.exe.fs │ └── assemblyinfo.fsi.exe.fs ├── fsharp │ ├── AugmentWithHashCompare.fs │ ├── AugmentWithHashCompare.fsi │ ├── CheckFormatStrings.fs │ ├── CheckFormatStrings.fsi │ ├── CompileOps.fs │ ├── CompileOps.fsi │ ├── CompileOptions.fs │ ├── CompileOptions.fsi │ ├── ConstraintSolver.fs │ ├── ConstraintSolver.fsi │ ├── DetupleArgs.fs │ ├── DetupleArgs.fsi │ ├── ErrorLogger.fs │ ├── ExtensionTyping.fs │ ├── ExtensionTyping.fsi │ ├── FSComp.txt │ ├── FSInteractiveSettings.txt │ ├── FSStrings.resx │ ├── FSharp.Compiler.Service │ │ ├── InstallationDummyFile.txt │ │ ├── Unity3d.FSharp.Compiler.Service.fsproj │ │ ├── paket.references │ │ ├── pplex.fs │ │ ├── pppars.fs │ │ └── pppars.fsi │ ├── FSharp.Compiler.Unittests │ │ ├── FSharp.Compiler.Unittests.fsproj │ │ └── paket.references │ ├── FindUnsolved.fs │ ├── FlatList.fs │ ├── IlxGen.fs │ ├── IlxGen.fsi │ ├── InnerLambdasToTopLevelFuncs.fs │ ├── InnerLambdasToTopLevelFuncs.fsi │ ├── InternalCollections.fs │ ├── InternalCollections.fsi │ ├── LexFilter.fs │ ├── LowerCallsAndSeqs.fs │ ├── NameResolution.fs │ ├── NameResolution.fsi │ ├── NicePrint.fs │ ├── Optimizer.fs │ ├── Optimizer.fsi │ ├── PatternMatchCompilation.fs │ ├── PatternMatchCompilation.fsi │ ├── PostInferenceChecks.fs │ ├── PostInferenceChecks.fsi │ ├── PrettyNaming.fs │ ├── QueueList.fs │ ├── QuotationPickler.fs │ ├── QuotationPickler.fsi │ ├── QuotationTranslator.fs │ ├── QuotationTranslator.fsi │ ├── ReferenceResolution.fs │ ├── ReferenceResolution.fsi │ ├── TastOps.fs │ ├── TastOps.fsi │ ├── TastPickle.fs │ ├── TastPickle.fsi │ ├── TcGlobals.fs │ ├── TraceCall.fs │ ├── TraceCall.fsi │ ├── TypeChecker.fs │ ├── TypeChecker.fsi │ ├── TypeRelations.fs │ ├── UnicodeLexing.fs │ ├── UnicodeLexing.fsi │ ├── ast.fs │ ├── autobox.fs │ ├── ccuthunk.fs │ ├── fsc.fs │ ├── fsc.fsi │ ├── fsi │ │ ├── FSIstrings.txt │ │ ├── fsi.fs │ │ ├── fsi.fsi │ │ ├── fsi.ico │ │ ├── fsi.rc │ │ ├── fsi.res │ │ └── fsiAnyCPU.exe.config │ ├── fsiattrs.fs │ ├── fsiaux.fs │ ├── fsiaux.fsi │ ├── import.fs │ ├── import.fsi │ ├── infos.fs │ ├── layout.fs │ ├── layout.fsi │ ├── lex.fsl │ ├── lexhelp.fs │ ├── lexhelp.fsi │ ├── lib.fs │ ├── msft.pubkey │ ├── pars.fsy │ ├── pplex.fsl │ ├── pppars.fsy │ ├── range.fs │ ├── range.fsi │ ├── rational.fs │ ├── rational.fsi │ ├── sr.fs │ ├── sr.fsi │ ├── tainted.fs │ ├── tainted.fsi │ ├── tast.fs │ ├── test.pub │ ├── test.snk │ └── vs │ │ ├── Exprs.fs │ │ ├── Exprs.fsi │ │ ├── IncrementalBuild.fs │ │ ├── IncrementalBuild.fsi │ │ ├── Reactor.fs │ │ ├── Reactor.fsi │ │ ├── ServiceConstants.fs │ │ ├── ServiceDeclarations.fs │ │ ├── ServiceDeclarations.fsi │ │ ├── ServiceLexing.fs │ │ ├── ServiceLexing.fsi │ │ ├── ServiceNavigation.fs │ │ ├── ServiceNavigation.fsi │ │ ├── ServiceParamInfoLocations.fs │ │ ├── ServiceParamInfoLocations.fsi │ │ ├── ServiceParseTreeWalk.fs │ │ ├── ServiceUntypedParse.fs │ │ ├── ServiceUntypedParse.fsi │ │ ├── SimpleServices.fs │ │ ├── SimpleServices.fsi │ │ ├── Symbols.fs │ │ ├── Symbols.fsi │ │ ├── service.fs │ │ └── service.fsi ├── ilx │ ├── EraseClosures.fs │ ├── EraseClosures.fsi │ ├── EraseUnions.fs │ ├── EraseUnions.fsi │ └── ilxsettings.fs └── utils │ ├── CompilerLocationUtils.fs │ ├── HashMultiMap.fs │ ├── HashMultiMap.fsi │ ├── ResizeArray.fs │ ├── ResizeArray.fsi │ ├── TaggedCollections.fs │ ├── TaggedCollections.fsi │ ├── ThreeList.fs │ ├── filename.fs │ ├── filename.fsi │ ├── prim-lexing.fs │ ├── prim-lexing.fsi │ ├── prim-parsing.fs │ ├── prim-parsing.fsi │ ├── sformat.fs │ ├── sformat.fsi │ └── unity3d.fs └── tests ├── projects ├── Sample_MonoDevelop_3_2_8_Console │ ├── Sample_MonoDevelop_3_2_8_Console.sln │ └── Sample_MonoDevelop_3_2_8_Console │ │ ├── AssemblyInfo.fs │ │ ├── Program.fs │ │ └── Sample_MonoDevelop_3_2_8_Console.fsproj ├── Sample_VS2010_FSharp_ConsoleApp_net35 │ ├── SampleVisualStudio2010FSharpConsoleApp.sln │ └── SampleVisualStudio2010FSharpConsoleApp │ │ ├── Program.fs │ │ └── SampleVisualStudio2010FSharpConsoleApp.fsproj ├── Sample_VS2010_FSharp_ConsoleApp_net40 │ ├── SampleVisualStudio2010FSharpConsoleApp.sln │ └── SampleVisualStudio2010FSharpConsoleApp │ │ ├── Program.fs │ │ └── SampleVisualStudio2010FSharpConsoleApp.fsproj ├── Sample_VS2012_FSharp_ConsoleApp_net35 │ ├── SampleVisualStudio2010FSharpConsoleApp.sln │ └── SampleVisualStudio2010FSharpConsoleApp │ │ ├── Program.fs │ │ └── SampleVisualStudio2010FSharpConsoleApp.fsproj ├── Sample_VS2012_FSharp_ConsoleApp_net40 │ ├── Sample_VS2012_FSharp_ConsoleApp_net40.sln │ └── Sample_VS2012_FSharp_ConsoleApp_net40 │ │ ├── App.config │ │ ├── Program.fs │ │ └── Sample_VS2012_FSharp_ConsoleApp_net40.fsproj ├── Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013 │ ├── Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013.sln │ └── Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013 │ │ ├── App.config │ │ ├── Program.fs │ │ └── Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013.fsproj ├── Sample_VS2012_FSharp_ConsoleApp_net45 │ ├── Sample_VS2012_FSharp_ConsoleApp_net45.sln │ └── Sample_VS2012_FSharp_ConsoleApp_net45 │ │ ├── App.config │ │ ├── Program.fs │ │ └── Sample_VS2012_FSharp_ConsoleApp_net45.fsproj ├── Sample_VS2012_FSharp_ConsoleApp_net45_with_resource │ ├── NOTE.txt │ ├── Sample_VS2012_FSharp_ConsoleApp_net45.sln │ └── Sample_VS2012_FSharp_ConsoleApp_net45 │ │ ├── App.config │ │ ├── Program.fs │ │ ├── Sample_VS2012_FSharp_ConsoleApp_net45.fsproj │ │ ├── content.txt │ │ └── resource.txt ├── Sample_VS2012_FSharp_Portable_Library │ ├── PortableLibrary1.fs │ ├── Sample_VS2012_FSharp_Portable_Library.fsproj │ ├── Sample_VS2012_FSharp_Portable_Library.sln │ └── Script.fsx ├── Sample_VS2012_FSharp_Portable_Library_upgraded_2013 │ ├── PortableLibrary1.fs │ ├── Sample_VS2012_FSharp_Portable_Library_upgraded_2013.fsproj │ ├── Sample_VS2012_FSharp_Portable_Library_upgraded_2013.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_ConsoleApp_net40 │ ├── App.config │ ├── Program.fs │ ├── Sample_VS2013_FSharp_ConsoleApp_net40.fsproj │ └── Sample_VS2013_FSharp_ConsoleApp_net40.sln ├── Sample_VS2013_FSharp_ConsoleApp_net45 │ ├── App.config │ ├── Program.fs │ ├── Sample_VS2013_FSharp_ConsoleApp_net45.fsproj │ └── Sample_VS2013_FSharp_ConsoleApp_net45.sln ├── Sample_VS2013_FSharp_ConsoleApp_net451 │ ├── App.config │ ├── Program.fs │ ├── Sample_VS2013_FSharp_ConsoleApp_net451.fsproj │ └── Sample_VS2013_FSharp_ConsoleApp_net451.sln ├── Sample_VS2013_FSharp_Library_net40 │ ├── Library1.fs │ ├── Sample_VS2013_FSharp_Library_net40.fsproj │ ├── Sample_VS2013_FSharp_Library_net40.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Library_net45 │ ├── Library1.fs │ ├── Sample_VS2013_FSharp_Library_net45.fsproj │ ├── Sample_VS2013_FSharp_Library_net45.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Library_net451 │ ├── Library1.fs │ ├── Sample_VS2013_FSharp_Library_net451.fsproj │ ├── Sample_VS2013_FSharp_Library_net451.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net40 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net40.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net40.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net45 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net45.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net45.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net451 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net451.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_Legacy_net451.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_net45 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_net45.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_net45.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_net451 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_net451.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_net451.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile259 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_net451.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_net451.sln │ └── Script.fsx ├── Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile78 │ ├── PortableLibrary1.fs │ ├── Sample_VS2013_FSharp_Portable_Library_net451.fsproj │ ├── Sample_VS2013_FSharp_Portable_Library_net451.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Console_App_net40 │ ├── App.config │ ├── AssemblyInfo.fs │ ├── Program.fs │ ├── Sample_VS2015_FSharp_Console_App_net40.fsproj │ └── Sample_VS2015_FSharp_Console_App_net40.sln ├── Sample_VS2015_FSharp_Console_App_net45 │ ├── App.config │ ├── AssemblyInfo.fs │ ├── Program.fs │ ├── Sample_VS2015_FSharp_Console_App_net45.fsproj │ └── Sample_VS2015_FSharp_Console_App_net45.sln ├── Sample_VS2015_FSharp_Console_App_net451 │ ├── App.config │ ├── AssemblyInfo.fs │ ├── Program.fs │ ├── Sample_VS2015_FSharp_Console_App_net451.fsproj │ └── Sample_VS2015_FSharp_Console_App_net451.sln ├── Sample_VS2015_FSharp_Console_App_net452 │ ├── App.config │ ├── AssemblyInfo.fs │ ├── Program.fs │ ├── Sample_VS2015_FSharp_Console_App_net452.fsproj │ └── Sample_VS2015_FSharp_Console_App_net452.sln ├── Sample_VS2015_FSharp_Console_App_net46 │ ├── App.config │ ├── AssemblyInfo.fs │ ├── Program.fs │ ├── Sample_VS2015_FSharp_Console_App_net46.fsproj │ └── Sample_VS2015_FSharp_Console_App_net46.sln ├── Sample_VS2015_FSharp_Library_net40 │ ├── AssemblyInfo.fs │ ├── Library1.fs │ ├── Sample_VS2015_FSharp_Library_net40.fsproj │ ├── Sample_VS2015_FSharp_Library_net40.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Library_net45 │ ├── AssemblyInfo.fs │ ├── Library1.fs │ ├── Sample_VS2015_FSharp_Library_net45.fsproj │ ├── Sample_VS2015_FSharp_Library_net45.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Library_net45_fsharp_30 │ ├── AssemblyInfo.fs │ ├── Library1.fs │ ├── Sample_VS2015_FSharp_Library_net45_fsharp_30.fsproj │ ├── Sample_VS2015_FSharp_Library_net45_fsharp_30.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Library_net45_fsharp_31 │ ├── AssemblyInfo.fs │ ├── Library1.fs │ ├── Sample_VS2015_FSharp_Library_net45_fsharp_31.fsproj │ ├── Sample_VS2015_FSharp_Library_net45_fsharp_31.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Portable259_Library │ ├── AssemblyInfo.fs │ ├── PortableLibrary1.fs │ ├── Sample_VS2015_FSharp_Portable259_Library.fsproj │ ├── Sample_VS2015_FSharp_Portable259_Library.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Portable47_Library │ ├── AssemblyInfo.fs │ ├── PortableLibrary1.fs │ ├── Sample_VS2015_FSharp_Portable47_Library.fsproj │ ├── Sample_VS2015_FSharp_Portable47_Library.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Portable78_Library │ ├── AssemblyInfo.fs │ ├── PortableLibrary1.fs │ ├── Sample_VS2015_FSharp_Portable78_Library.fsproj │ ├── Sample_VS2015_FSharp_Portable78_Library.sln │ └── Script.fsx ├── Sample_VS2015_FSharp_Portable7_Library │ ├── AssemblyInfo.fs │ ├── PortableLibrary1.fs │ ├── Sample_VS2015_FSharp_Portable7_Library.fsproj │ ├── Sample_VS2015_FSharp_Portable7_Library.sln │ └── Script.fsx └── build.sh └── service ├── CSharpProjectAnalysis.fs ├── Common.fs ├── EditorTests.fs ├── ExprTests.fs ├── FSharp.Compiler.Interactive.Settings.dll ├── FSharp.Compiler.Service.Tests.fsproj ├── FSharp.Data.DesignTime.dll ├── FSharp.Data.dll ├── FileSystemTests.fs ├── FsUnit.fs ├── FscTests.fs ├── FsiTests.fs ├── InteractiveCheckerTests.fs ├── MultiProjectAnalysisTests.fs ├── PerfTests.fs ├── ProjectAnalysisTests.fs ├── ProjectOptionsTests.fs ├── System.Data.dll ├── TokenizerTests.fs ├── app.config ├── data ├── CSharp_Analysis │ ├── CSharpClass.cs │ ├── CSharp_Analysis.csproj │ └── Properties │ │ └── AssemblyInfo.cs ├── DifferingOutputDir │ ├── Dir1 │ │ └── Test1.fsproj │ └── Dir2 │ │ └── Test2.fsproj ├── Malformed.fsproj ├── MultiLanguageProject │ ├── ConsoleApplication1.fsproj │ ├── ConsoleApplication2.fsproj │ └── ConsoleApplication3.csproj ├── Test1.fsproj ├── Test2.fsproj ├── ToolsVersion12.fsproj ├── TypeProviderConsole │ ├── Program.fs │ └── TypeProviderConsole.fsproj ├── TypeProviderLibrary │ ├── Library1.fs │ └── TypeProviderLibrary.fsproj └── sqlite-net-spike │ ├── Program.fs │ ├── packages.config │ ├── paket.references │ └── sqlite-net-spike.fsproj └── paket.references /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs text diff=csharp 6 | *.sln text eol=crlf merge=union 7 | *.csproj text merge=union 8 | *.vbproj text merge=union 9 | *.fsproj text merge=union 10 | *.dbproj text merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | 24 | targets.make text eol=lf 25 | install-sh text eol=lf 26 | *.in text eol=lf 27 | *.ac text eol=lf 28 | *.sh text eol=lf 29 | -------------------------------------------------------------------------------- /.paket/paket.bootstrapper.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/.paket/paket.bootstrapper.exe -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: csharp 2 | 3 | install: 4 | 5 | script: 6 | - ./build.sh 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | F# Compiler Service 2 | =================== 3 | 4 | The F# compiler services package contains a custom build of the F# compiler that 5 | exposes additional functionality for implementing F# language bindings, additional 6 | tools based on the compiler or refactoring tools. The package also includes F# 7 | interactive service that can be used for embedding F# scripting into your applications. 8 | 9 | Documentation 10 | ------------- 11 | 12 | For more information about the project, see: 13 | 14 | * [F# Compiler Service documentation](http://fsharp.github.io/FSharp.Compiler.Service/) 15 | * [Developer notes explain the project structure](http://fsharp.github.io/FSharp.Compiler.Service/devnotes.html) 16 | 17 | Build Status 18 | ------------ 19 | 20 | Head (branch ``master``), Mono 3.x, OSX + unit tests (Travis) [![Build Status](https://travis-ci.org/fsharp/FSharp.Compiler.Service.png?branch=master)](https://travis-ci.org/fsharp/FSharp.Compiler.Service/branches) 21 | 22 | Head (branch ``master``), Windows Server 2012 R2 + unit tests (AppVeyor) [![Build status](https://ci.appveyor.com/api/projects/status/3yllu2qh19brk61d)](https://ci.appveyor.com/project/fsgit/fsharp-compiler-service) 23 | 24 | NuGet Feed 25 | ------------ 26 | 27 | Stable builds are available in the NuGet Gallery: 28 | [https://www.nuget.org/packages/FSharp.Compiler.Service](https://www.nuget.org/packages/FSharp.Compiler.Service) 29 | 30 | All AppVeyor builds are available using the NuGet feed: https://ci.appveyor.com/nuget/fsgit-fsharp-compiler-service 31 | 32 | If using Paket, add the source at the top of `paket.dependencies`. 33 | 34 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Windows Server 2012 R2 2 | init: 3 | - git config --global core.autocrlf input 4 | build_script: 5 | - cmd: build.cmd NuGet 6 | test: off 7 | version: '{build}' 8 | artifacts: 9 | - path: bin\*.nupkg 10 | -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | .paket\paket.bootstrapper.exe 3 | if errorlevel 1 ( 4 | exit /b %errorlevel% 5 | ) 6 | 7 | .paket\paket.exe restore 8 | if errorlevel 1 ( 9 | exit /b %errorlevel% 10 | ) 11 | 12 | packages\FAKE\tools\FAKE.exe build.fsx %* 13 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ ! -e ~/.config/.mono/certs ]]; 4 | then 5 | mozroots --import --sync --quiet 6 | fi 7 | 8 | mono .paket/paket.bootstrapper.exe 9 | exit_code=$? 10 | if [ $exit_code -ne 0 ]; then 11 | exit $exit_code 12 | fi 13 | 14 | mono .paket/paket.exe restore 15 | exit_code=$? 16 | if [ $exit_code -ne 0 ]; then 17 | exit $exit_code 18 | fi 19 | 20 | mono --runtime=v4.0 packages/FAKE/tools/FAKE.exe build.fsx -d:MONO "$@" -------------------------------------------------------------------------------- /docs/content/compiler.fsx: -------------------------------------------------------------------------------- 1 | (*** hide ***) 2 | #I "../../bin/v4.5/" 3 | (** 4 | Hosted Compiler 5 | =============== 6 | 7 | This tutorial demonstrates how to host the F# compiler. 8 | 9 | > **NOTE:** The FSharp.Compiler.Service API is subject to change when later versions of the nuget package are published 10 | *) 11 | 12 | (** 13 | > **NOTE:** There are several options for hosting the F# compiler. The easiest one is to use the 14 | `fsc.exe` process and pass arguments. 15 | *) 16 | 17 | (** 18 | 19 | > **NOTE:** By default [compilations using FSharp.Compiler.Service reference FSharp.Core 4.3.0.0](https://github.com/fsharp/FSharp.Compiler.Service/issues/156) (matching F# 3.0). You can override 20 | this choice by passing a reference to FSharp.Core for 4.3.1.0 or later explicitly in your command-line arguments. 21 | 22 | *) 23 | 24 | (** 25 | --------------------------- 26 | 27 | First, we need to reference the libraries that contain F# interactive service: 28 | *) 29 | 30 | #r "FSharp.Compiler.Service.dll" 31 | open Microsoft.FSharp.Compiler.SimpleSourceCodeServices 32 | open System.IO 33 | 34 | let scs = SimpleSourceCodeServices() 35 | 36 | (** 37 | Now write content to a temporary file: 38 | 39 | *) 40 | let fn = Path.GetTempFileName() 41 | let fn2 = Path.ChangeExtension(fn, ".fs") 42 | let fn3 = Path.ChangeExtension(fn, ".dll") 43 | 44 | File.WriteAllText(fn2, """ 45 | module M 46 | 47 | type C() = 48 | member x.P = 1 49 | 50 | let x = 3 + 4 51 | """) 52 | 53 | (** 54 | Now invoke the compiler: 55 | *) 56 | 57 | let errors1, exitCode1 = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |]) 58 | 59 | (** 60 | 61 | If errors occur you can see this in the 'exitCode' and the returned array of errors: 62 | 63 | *) 64 | File.WriteAllText(fn2, """ 65 | module M 66 | 67 | let x = 1.0 + "" // a type error 68 | """) 69 | 70 | let errors1b, exitCode1b = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |]) 71 | 72 | (** 73 | 74 | Compiling to a dynamic assembly 75 | =============================== 76 | 77 | You can also compile to a dynamic assembly, which uses the F# Interactive code generator. 78 | This can be useful if you are, for example, in a situation where writing to the file system 79 | is not really an option. 80 | 81 | You still have to pass the "-o" option to name the output file, but the output file is not actually written to disk. 82 | 83 | The 'None' option indicates that the initiatlization code for the assembly is not executed. 84 | *) 85 | let errors2, exitCode2, dynAssembly2 = 86 | scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], execute=None) 87 | 88 | (* 89 | Passing 'Some' for the 'execute' parameter executes the initiatlization code for the assembly. 90 | *) 91 | let errors3, exitCode3, dynAssembly3 = 92 | scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], Some(stdout,stderr)) 93 | 94 | -------------------------------------------------------------------------------- /docs/content/ja/compiler.fsx: -------------------------------------------------------------------------------- 1 | (*** hide ***) 2 | #I "../../../bin/v4.5/" 3 | (** 4 | コンパイラの組み込み 5 | ==================== 6 | 7 | このチュートリアルではF#コンパイラをホストする方法を紹介します。 8 | 9 | > **注意:** 以下で使用しているAPIは実験的なもので、 10 | 新しいnugetパッケージの公開に伴って変更される可能性があります。 11 | 12 | > **注意:** F#コンパイラをホストする方法はいくつかあります。 13 | 一番簡単な方法は `fsc.exe` のプロセスを使って引数を渡す方法です。 14 | 15 | --------------------------- 16 | 17 | まず、F# Interactiveサービスを含むライブラリへの参照を追加します: 18 | *) 19 | 20 | #r "FSharp.Compiler.Service.dll" 21 | open Microsoft.FSharp.Compiler.SimpleSourceCodeServices 22 | open System.IO 23 | 24 | let scs = SimpleSourceCodeServices() 25 | 26 | (** 27 | 次に、一時ファイルへコンテンツを書き込みます: 28 | 29 | *) 30 | let fn = Path.GetTempFileName() 31 | let fn2 = Path.ChangeExtension(fn, ".fs") 32 | let fn3 = Path.ChangeExtension(fn, ".dll") 33 | 34 | File.WriteAllText(fn2, """ 35 | module M 36 | 37 | type C() = 38 | member x.P = 1 39 | 40 | let x = 3 + 4 41 | """) 42 | 43 | (** 44 | そしてコンパイラを呼び出します: 45 | *) 46 | 47 | let errors1, exitCode1 = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |]) 48 | 49 | (** 50 | 51 | エラーが発生した場合は「終了コード」とエラーの配列から原因を特定できます: 52 | 53 | *) 54 | File.WriteAllText(fn2, """ 55 | module M 56 | 57 | let x = 1.0 + "" // a type error 58 | """) 59 | 60 | let errors1b, exitCode1b = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |]) 61 | 62 | if exitCode1b <> 0 then 63 | errors1b 64 | |> Array.iter (printfn "%A") 65 | 66 | (** 67 | 68 | 動的アセンブリへのコンパイル 69 | ============================ 70 | 71 | コードを動的アセンブリとしてコンパイルすることもできます。 72 | 動的アセンブリはF# Interactiveコードジェネレータでも使用されています。 73 | 74 | この機能はたとえばファイルシステムが必ずしも利用できないような状況で役に立ちます。 75 | 76 | 出力ファイルの名前を指定する "-o" オプションを指定することは可能ですが、 77 | 実際には出力ファイルがディスク上に書き込まれることはありません。 78 | 79 | 'execute' 引数に 'None' を指定するとアセンブリ用の初期化コードが実行されません。 80 | *) 81 | let errors2, exitCode2, dynAssembly2 = 82 | scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], execute=None) 83 | 84 | (** 85 | 'Some' を指定するとアセンブリ用の初期化コードが実行されます。 86 | *) 87 | let errors3, exitCode3, dynAssembly3 = 88 | scs.CompileToDynamicAssembly([| "-o"; fn3; "-a"; fn2 |], Some(stdout,stderr)) 89 | 90 | -------------------------------------------------------------------------------- /docs/content/ja/devnotes.md: -------------------------------------------------------------------------------- 1 | 開発者用メモ 2 | ============ 3 | 4 | F#コンパイラの修正版クローンではクライアントの編集機能やF#コンパイラの埋め込み、 5 | F# Interactiveをサービスとして動作させるための機能が追加されています。 6 | 7 | ## コンポーネント 8 | 9 | まず `FSharp.Compiler.Service.dll` というコンポーネントがあります。 10 | このコンポーネントにはリファクタリングやその他の編集ツールが完全なF# ASTやパーサ機能を利用できるように 11 | 可視性を変更するというマイナーな変更だけが加えられています。 12 | 主な狙いとしては、メインコンパイラの安定版かつドキュメントが備えられたフォークを用意することにより、 13 | このコンポーネントにある共通コードを様々なツールで共有できるようにすることです。 14 | 15 | 2つ目のコンポーネントはF# Interactiveをサービスとして組み込めるようにするためのもので、 16 | `fsi.exe` のソースコードに多数の変更が加えられており、 17 | `EvalExpression` や `EvalInteraction` といった関数が追加されています。 18 | 19 | このレポジトリは以下の点を除けば 'fsharp' と **同一** です: 20 | 21 | - `FSharp.Compiler.Service.dll` のビルド、特に以下の点に関する変更: 22 | - アセンブリ名の変更 23 | - `FSharp.Compiler.Service.dll` のみビルドされる 24 | - ブートストラッパーやプロトコンパイラを使用しない。 25 | F#コンパイラがインストール済みであることを想定。 26 | 27 | - FAKEを使用するビルドスクリプト。 28 | すべてのコードのビルドとNuGetパッケージ、ドキュメントの生成、 29 | NuGetパッケージの配布に必要なファイルの生成などがFAKEによって行われる。 30 | ([F# プロジェクト スキャフォールド](https://github.com/fsprojects/FSharp.ProjectScaffold) に準拠) 31 | 32 | - 新機能追加のためにコンパイラのソースコードを変更。 33 | また、評価用関数を実装するためにF# Interactiveサービスに対する変更を追加。 34 | 35 | - F#編集用クライアントで使用されるAPIを改善するためにコンパイラのソースコードを変更。 36 | 37 | - コンパイラサービスAPIに新機能を追加するためにコンパイラのソースコードを変更。 38 | 39 | `fsharp/fsharp` のレポジトリに言語あるいはコンパイラが追加コミットされた場合、 40 | それらはこのレポジトリにもマージされるべきで、同時に新しいNuGetパッケージもリリースする必要があります。 41 | 42 | ## ビルドとNuGet 43 | 44 | ビルドの手順は [F# プロジェクト スキャフォールド](https://github.com/fsprojects/FSharp.ProjectScaffold) 45 | で推奨されているものに準じます。 46 | プロジェクトを独自にビルドする場合、以下の手順に従ってください: 47 | 48 | [lang=text] 49 | git clone https://github.com/fsharp/FSharp.Compiler.Service 50 | cd FSharp.Compiler.Service 51 | 52 | 次に、(Windowsであれば) `build.cmd` または(LinuxやMac OSであれば) `build.sh` を実行してすべてをビルドします。 53 | ファイルは `bin` ディレクトリ内に出力されます。 54 | ドキュメントやNuGetパッケージもビルドしたい場合には `build Release` を実行します 55 | (このコマンドはGitHub上のドキュメントを更新しようとしますが、GitHubのレポジトリに適切な権限を持っている場合にのみ有効です)。 56 | 57 | ## クライアント 58 | 59 | このコンポーネントは以下のようなツールで使用されています: 60 | 61 | * [Fantomas](https://github.com/dungpa/fantomas) - F# コードフォーマットツール 62 | * [Fsharp-Refactor](https://github.com/Lewix/fsharp-refactor) - F#用リファクタリングツール 63 | * [FSharpbinding](https://github.com/fsharp/fsharpbinding) - Xamarin Studio バインディング 64 | * [F# Snippets web site](http://fssnip.net/) - F# 版のpastebin 65 | * [F# ACE Code Editor](https://github.com/BayardRock/FSharpWebIntellisense/) - Web上のF#編集ツール 66 | -------------------------------------------------------------------------------- /docs/content/ja/index.md: -------------------------------------------------------------------------------- 1 | F# コンパイラサービス 2 | ===================== 3 | 4 | F# コンパイラサービスパッケージはF# コンパイラのソースコードから派生したコンポーネントです。 5 | このソースコードにはF# 言語バインディングを実装するための機能や、 6 | コンパイラやリファクタリングツールを元にしたツールを作成するための機能が追加されています。 7 | また、パッケージには自身のアプリケーションにF# スクリプトを埋め込む際に利用できるような 8 | F# インタラクティブサービスも含まれています。 9 | 10 |
11 |
12 |
13 |
14 | F# コンパイラサービスパッケージは NuGet経由でインストールできます: 15 |
PM> Install-Package FSharp.Compiler.Service
16 |
17 |
18 |
19 |
20 | 21 | 利用可能なサービス 22 | ------------------ 23 | 24 | プロジェクトには現在以下のサービスがあり、いずれもテストされ、 25 | このページから参照可能なドキュメントがあります。 26 | ライブラリには他にも使用可能な公開APIがありますが、 27 | ここではドキュメント化されていません。 28 | 29 | * [** F# 言語トークナイザ **](tokenizer.html) - F#ソースコードをトークンのストリームへと変換します。 30 | この機能はソースコードを色つき表示したり、基本的なツールを作成するような場合に有効です。 31 | ネストされたコメントや文字列なども適切に処理できます。 32 | 33 | * [** 型無しASTの処理 **](untypedtree.html) - この機能を使うことで型無し抽象構文木(AST: abstract syntax tree)にアクセスできます。 34 | 型無しASTとは型情報を含まない解析済みのF#の文法を表すもので、 35 | コードフォーマットやその他様々な単純処理に利用できます。 36 | 37 | * [** エディタ (IDE) サービスの使用 **](editor.html) - 自動補完やツールチップ、 38 | 引数の情報などを表示するための機能があります。 39 | この機能を使うと、F#サポート機能をエディタに追加したり、F#コードから 40 | 何らかの型情報を取得したりすることができるようになります。 41 | 42 | * [** シグネチャや型、解決済みのシンボルの処理 **](symbols.html) - 43 | 解決済みのシンボルや推測された型の表現、アセンブリ全体のシグネチャなどを 44 | 型のチェック時に返すような多数のサービスがあります。 45 | 46 | * [** 複数プロジェクトやプロジェクト全体の処理 **](project.html) - 47 | すべてのプロジェクトに対するチェックを実行することにより、 48 | プロジェクト全体の解析結果を使って\[すべての参照の検索\] のような 49 | 機能を実現できます。 50 | 51 | * [** F# Interactive のホスティング **](interactive.html) - 自身の.NETコードから 52 | F# Interactiveを.NETライブラリとして呼び出すことができるようになります。 53 | このAPIを使用すると、自身のプロジェクト内でF#をスクリプト言語として 54 | 埋め込むことができるようになります。 55 | 56 | * [** F#コンパイラのホスティング **](compiler.html) - F# コンパイラを 57 | 呼び出すコードを組み込むことができます。 58 | 59 | * [** ファイルシステムAPI **](filesystem.html) - `FSharp.Compiler.Service` コンポーネントには 60 | ファイルシステムを表すグローバル変数が定義されています。 61 | この変数を設定することによって、ファイルシステムが使用できない状況であっても 62 | コンパイラをホストすることができるようになります。 63 | 64 | > **注釈:** FSharp.Compiler.Service.dll には既存のものと重複する機能が多数あるため、 65 | 将来的にはもっときちんとした形に変更されます。 66 | そのため、これらのサービスを使用するAPIには破壊的変更が加えられる可能性があります。 67 | 68 | 貢献および著作権について 69 | ------------------------ 70 | 71 | このプロジェクトは [fsharp/fsharp](https://github.com/fsharp/fsharp) からフォークしたもので、 72 | そこへさらにエディタやF#用ツール、F# Interactiveの組み込みに必要となる機能を 73 | 追加したものです。 74 | 75 | F# ソースコードの著作権はMicrosoft Corporationおよび貢献者に、 76 | 拡張機能の著作権は Dave Thomas, Anh-Dung Phan, Tomas Petricek および 77 | その他の貢献者にあります。 78 | ソースコードは [Apache 2.0 ライセンス](https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE) の元に公開されています。 79 | -------------------------------------------------------------------------------- /docs/files/content/fcs.css: -------------------------------------------------------------------------------- 1 | /* Animated gifs on the homepage */ 2 | #anim-holder { 3 | overflow:hidden; 4 | position:relative; 5 | border-radius:5px; 6 | } 7 | 8 | #wbtn, #jbtn, #cbtn { 9 | cursor:pointer; 10 | border-style:none; 11 | color:#f0f8ff; 12 | border-radius:5px; 13 | background:#415d60; 14 | opacity:0.7; 15 | width:90px; 16 | height:23px; 17 | font-size:80%; 18 | text-align:center; 19 | padding-top:2px; 20 | position:absolute; 21 | top:10px; 22 | } 23 | 24 | #anim-holder a img { 25 | min-width:800px; 26 | } 27 | 28 | .nav-list > li > a.nflag { 29 | float:right; 30 | padding:0px; 31 | } 32 | .nav-list > li > a.nflag2 { 33 | margin-right:18px; 34 | } -------------------------------------------------------------------------------- /docs/files/images/en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/docs/files/images/en.png -------------------------------------------------------------------------------- /docs/files/images/ja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/docs/files/images/ja.png -------------------------------------------------------------------------------- /docs/files/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/docs/files/images/logo.png -------------------------------------------------------------------------------- /docs/tools/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /lib/bootstrap/4.0/FSharp.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/FSharp.Core.dll -------------------------------------------------------------------------------- /lib/bootstrap/4.0/FSharp.SRGen.Build.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/FSharp.SRGen.Build.Tasks.dll -------------------------------------------------------------------------------- /lib/bootstrap/4.0/FSharp.SRGen.Build.Tasks.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /lib/bootstrap/4.0/FsLexYacc.Build.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/FsLexYacc.Build.Tasks.dll -------------------------------------------------------------------------------- /lib/bootstrap/4.0/FsLexYacc.Build.Tasks.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fslex.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/fslex.exe -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fslex.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fssrgen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/fssrgen.exe -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fssrgen.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fsyacc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/lib/bootstrap/4.0/fsyacc.exe -------------------------------------------------------------------------------- /lib/bootstrap/4.0/fsyacc.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /misc/logo.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/misc/logo.pdn -------------------------------------------------------------------------------- /misc/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/misc/logo.png -------------------------------------------------------------------------------- /nuget/FSharp.Compiler.Service.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @project@ 5 | @build.number@ 6 | @authors@ 7 | @authors@ 8 | https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE 9 | https://github.com/fsharp/FSharp.Compiler.Service 10 | https://raw.github.com/fsharp/FSharp.Compiler.Service/master/misc/logo.png 11 | false 12 | @summary@ 13 | @description@ 14 | @releaseNotes@ 15 | Copyright 2013 16 | @tags@ 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /nuget/publish.cmd: -------------------------------------------------------------------------------- 1 | @for %%f in (..\bin\*.nupkg) do @..\.nuget\NuGet.exe push %%f -------------------------------------------------------------------------------- /paket.dependencies: -------------------------------------------------------------------------------- 1 | source https://www.nuget.org/api/v2/ 2 | 3 | nuget FsPowerpack.Community 4 | nuget NUnit 2.6.3 5 | nuget NUnit.Runners 2.6.3 6 | nuget SQLite.Net-PCL 3.0.5 7 | nuget SQLite.Net.Platform.Generic 2.4.1 8 | 9 | # build dependencies 10 | nuget NuGet.CommandLine 11 | nuget FAKE 12 | nuget FSharp.Formatting 13 | nuget SourceLink.Fake 14 | nuget TaskParallelLibrary 15 | github fsharp/FAKE modules/Octokit/Octokit.fsx 16 | -------------------------------------------------------------------------------- /paket.lock: -------------------------------------------------------------------------------- 1 | NUGET 2 | remote: https://www.nuget.org/api/v2 3 | specs: 4 | FAKE (4.1.0) 5 | FSharp.Compiler.Service (1.4.0.1) 6 | FSharp.Formatting (2.10.0) 7 | FSharp.Compiler.Service (>= 0.0.87) 8 | FSharpVSPowerTools.Core (1.8.0) 9 | FSharpVSPowerTools.Core (1.8.0) 10 | FSharp.Compiler.Service (>= 0.0.87) 11 | FSPowerPack.Community (3.0.0.0) 12 | FSPowerPack.Linq.Community 13 | FSPowerPack.Metadata.Community 14 | FSPowerPack.Parallel.Seq.Community 15 | FSPowerPack.Core.Community (3.0.0.0) 16 | FSPowerPack.Linq.Community (3.0.0.0) 17 | FSPowerPack.Core.Community 18 | FSPowerPack.Metadata.Community (3.0.0.0) 19 | FSPowerPack.Core.Community 20 | FSPowerPack.Parallel.Seq.Community (3.0.0.0) 21 | FSPowerPack.Core.Community 22 | NuGet.CommandLine (2.8.5) 23 | Microsoft.Bcl (1.1.10) 24 | Microsoft.Bcl.Build (>= 1.0.14) 25 | Microsoft.Bcl.Build (1.0.21) 26 | Microsoft.Net.Http (2.2.29) 27 | Microsoft.Bcl (>= 1.1.10) 28 | Microsoft.Bcl.Build (>= 1.0.14) 29 | NuGet.CommandLine (2.8.6) 30 | NUnit (2.6.3) 31 | NUnit.Runners (2.6.3) 32 | Octokit (0.14.0) - framework: wpv8.0 33 | Microsoft.Net.Http 34 | SourceLink.Fake (1.0.0) 35 | sqlite-net-wp8 (3.8.5) - framework: wpv8.0 36 | SQLite.Net-PCL (3.0.5) 37 | sqlite-net-wp8 (>= 3.8.5) - framework: wpv8.0 38 | SQLite.Net.Platform.Generic (2.4.1) 39 | SQLite.Net-PCL 40 | TaskParallelLibrary (1.0.2856.0) 41 | 42 | GITHUB 43 | remote: fsharp/FAKE 44 | specs: 45 | modules/Octokit/Octokit.fsx (16296d960f02a6192baa9e3f9facb32aca7184bb) 46 | Octokit 47 | -------------------------------------------------------------------------------- /samples/EditorService/Program.fs: -------------------------------------------------------------------------------- 1 | // Open the namespace with InteractiveChecker type 2 | open System 3 | open Microsoft.FSharp.Compiler 4 | open Microsoft.FSharp.Compiler.SourceCodeServices 5 | 6 | // Create an interactive checker instance (ignore notifications) 7 | let checker = FSharpChecker.Create() 8 | 9 | let parseWithTypeInfo (file, input) = 10 | let checkOptions = checker.GetProjectOptionsFromScript(file, input) |> Async.RunSynchronously 11 | let untypedRes = checker.ParseFileInProject(file, input, checkOptions) |> Async.RunSynchronously 12 | 13 | match checker.CheckFileInProject(untypedRes, file, 0, input, checkOptions) |> Async.RunSynchronously with 14 | | FSharpCheckFileAnswer.Succeeded(res) -> untypedRes, res 15 | | res -> failwithf "Parsing did not finish... (%A)" res 16 | 17 | // ---------------------------------------------------------------------------- 18 | // Example 19 | // ---------------------------------------------------------------------------- 20 | 21 | let input = 22 | """ 23 | let foo() = 24 | let msg = "Hello world" 25 | if true then 26 | printfn "%s" msg. 27 | """ 28 | let inputLines = input.Split('\n') 29 | let file = "/home/user/Test.fsx" 30 | 31 | let identTokenTag = FSharpTokenTag.Identifier 32 | let untyped, parsed = parseWithTypeInfo (file, input) 33 | // Get tool tip at the specified location 34 | let tip = parsed.GetToolTipTextAlternate(2, 7, inputLines.[1], [ "foo" ], identTokenTag) 35 | 36 | printfn "%A" tip 37 | 38 | // Get declarations (autocomplete) for a location 39 | let decls = 40 | parsed.GetDeclarationListInfo(Some untyped, 5, 23, inputLines.[4], [], "msg") 41 | |> Async.RunSynchronously 42 | 43 | for item in decls.Items do 44 | printfn " - %s" item.Name 45 | -------------------------------------------------------------------------------- /src/absil/bytes.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Blobs of bytes, cross-compiling 4 | namespace Microsoft.FSharp.Compiler.AbstractIL.Internal 5 | 6 | open Internal.Utilities 7 | 8 | open Microsoft.FSharp.Compiler.AbstractIL 9 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 10 | 11 | 12 | module internal Bytes = 13 | /// returned int will be 0 <= x <= 255 14 | val get: byte[] -> int -> int 15 | val zeroCreate: int -> byte[] 16 | /// each int must be 0 <= x <= 255 17 | val ofInt32Array: int[] -> byte[] 18 | /// each int will be 0 <= x <= 255 19 | 20 | val blit: byte[] -> int -> byte[] -> int -> int -> unit 21 | 22 | val stringAsUnicodeNullTerminated: string -> byte[] 23 | val stringAsUtf8NullTerminated: string -> byte[] 24 | 25 | 26 | /// Imperative buffers and streams of byte[] 27 | [] 28 | type internal ByteBuffer = 29 | member Close : unit -> byte[] 30 | member EmitIntAsByte : int -> unit 31 | member EmitIntsAsBytes : int[] -> unit 32 | member EmitByte : byte -> unit 33 | member EmitBytes : byte[] -> unit 34 | member EmitInt32 : int32 -> unit 35 | member EmitInt64 : int64 -> unit 36 | member FixupInt32 : pos: int -> value: int32 -> unit 37 | member EmitInt32AsUInt16 : int32 -> unit 38 | member EmitBoolAsByte : bool -> unit 39 | member EmitUInt16 : uint16 -> unit 40 | member Position : int 41 | static member Create : int -> ByteBuffer 42 | 43 | 44 | [] 45 | type internal ByteStream = 46 | member ReadByte : unit -> byte 47 | member ReadBytes : int -> byte[] 48 | member ReadUtf8String : int -> string 49 | member Position : int 50 | static member FromBytes : byte[] * start:int * length:int -> ByteStream 51 | 52 | #if LAZY_UNPICKLE 53 | member CloneAndSeek : int -> ByteStream 54 | member Skip : int -> unit 55 | #endif 56 | -------------------------------------------------------------------------------- /src/absil/il.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/absil/il.fs -------------------------------------------------------------------------------- /src/absil/ilascii.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Various constants and utilities used when parsing the ILASM format for IL 4 | module internal Microsoft.FSharp.Compiler.AbstractIL.Internal.AsciiConstants 5 | 6 | open Internal.Utilities 7 | 8 | open Microsoft.FSharp.Compiler.AbstractIL 9 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 10 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.Types 11 | open Microsoft.FSharp.Compiler.AbstractIL.IL 12 | 13 | // -------------------------------------------------------------------- 14 | // IL Parser state - must be initialized before parsing a module 15 | // -------------------------------------------------------------------- 16 | 17 | val parseILGlobals: ILGlobals ref 18 | 19 | // -------------------------------------------------------------------- 20 | // IL Lexer and pretty-printer tables 21 | // -------------------------------------------------------------------- 22 | 23 | type NoArgInstr = unit -> ILInstr 24 | type Int32Instr = int32 -> ILInstr 25 | type Int32Int32Instr = int32 * int32 -> ILInstr 26 | type Int64Instr = int64 -> ILInstr 27 | type DoubleInstr = ILConst -> ILInstr 28 | type MethodSpecInstr = ILMethodSpec * ILVarArgs -> ILInstr 29 | type TypeInstr = ILType -> ILInstr 30 | type IntTypeInstr = int * ILType -> ILInstr 31 | type ValueTypeInstr = ILType -> ILInstr 32 | type StringInstr = string -> ILInstr 33 | type TokenInstr = ILToken -> ILInstr 34 | type SwitchInstr = ILCodeLabel list * ILCodeLabel -> ILInstr 35 | 36 | type InstrTable<'T> = (string list * 'T) list 37 | type LazyInstrTable<'T> = Lazy> 38 | 39 | val NoArgInstrs: LazyInstrTable 40 | val Int64Instrs: LazyInstrTable 41 | val Int32Instrs: LazyInstrTable 42 | val Int32Int32Instrs: LazyInstrTable 43 | val DoubleInstrs: LazyInstrTable 44 | val MethodSpecInstrs: LazyInstrTable 45 | val StringInstrs: LazyInstrTable 46 | val TokenInstrs: LazyInstrTable 47 | val TypeInstrs: LazyInstrTable 48 | val IntTypeInstrs: LazyInstrTable 49 | val ValueTypeInstrs: LazyInstrTable 50 | 51 | #if DEBUG 52 | val wordsOfNoArgInstr : (ILInstr -> string list) 53 | val isNoArgInstr : (ILInstr -> bool) 54 | #endif 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/absil/ildiag.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Configurable AppDomain-global diagnostics channel for the Abstract IL library 4 | /// 5 | /// REVIEW: review if we should just switch to System.Diagnostics 6 | module internal Microsoft.FSharp.Compiler.AbstractIL.Diagnostics 7 | 8 | open Internal.Utilities 9 | 10 | open Microsoft.FSharp.Compiler.AbstractIL 11 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 12 | 13 | let diagnosticsLog = ref (Some stdout) 14 | let dflushn () = match !diagnosticsLog with None -> () | Some d -> d.WriteLine(); d.Flush() 15 | let dflush () = match !diagnosticsLog with None -> () | Some d -> d.Flush() 16 | let dprintn (s:string) = 17 | match !diagnosticsLog with None -> () | Some d -> d.Write s; d.Write "\n"; dflush() 18 | 19 | let dprintf (fmt: Format<_,_,_,_>) = 20 | Printf.kfprintf dflush (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt 21 | 22 | let dprintfn (fmt: Format<_,_,_,_>) = 23 | Printf.kfprintf dflushn (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt 24 | 25 | let setDiagnosticsChannel s = diagnosticsLog := s 26 | -------------------------------------------------------------------------------- /src/absil/ildiag.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Diagnostics from the AbsIL toolkit. You can reset the diagnostics 4 | /// stream to point elsewhere, or turn it 5 | /// off altogether by setting it to 'None'. The logging channel initally 6 | /// points to stderr. All functions call flush() automatically. 7 | /// 8 | /// REVIEW: review if we should just switch to System.Diagnostics 9 | module internal Microsoft.FSharp.Compiler.AbstractIL.Diagnostics 10 | 11 | open System.IO 12 | open Microsoft.FSharp.Compiler.AbstractIL 13 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 14 | open Microsoft.FSharp.Core.Printf 15 | 16 | val public setDiagnosticsChannel: TextWriter option -> unit 17 | 18 | val public dprintfn: TextWriterFormat<'a> -> 'a 19 | val public dprintf: TextWriterFormat<'a> -> 'a 20 | 21 | val public dprintn: string -> unit 22 | 23 | -------------------------------------------------------------------------------- /src/absil/ilmorph.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// A set of "IL rewrites" ("morphs"). These map each sub-construct 4 | /// of particular ILTypeDefs. The morphing functions are passed 5 | /// some details about the context in which the item being 6 | /// morphed occurs, e.g. the module being morphed itself, the 7 | /// ILTypeDef (possibly nested) where the item occurs, 8 | /// the ILMethodDef (if any) where the item occurs. etc. 9 | module internal Microsoft.FSharp.Compiler.AbstractIL.Morphs 10 | 11 | open Internal.Utilities 12 | open Microsoft.FSharp.Compiler.AbstractIL 13 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 14 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.Types 15 | open Microsoft.FSharp.Compiler.AbstractIL.IL 16 | 17 | type 'T morph = 'T -> 'T 18 | 19 | /// Morph each scope reference inside a type signature 20 | val morphILScopeRefsInILTypeRef: ILScopeRef morph -> ILTypeRef -> ILTypeRef 21 | 22 | val morphILMethodDefs: ILMethodDef morph -> ILMethodDefs -> ILMethodDefs 23 | /// nb. does not do nested tdefs 24 | val morphILTypeDefs: ILTypeDef morph -> ILTypeDefs -> ILTypeDefs 25 | 26 | val morphExpandILTypeDefs: (ILTypeDef -> ILTypeDef list) -> ILTypeDefs -> ILTypeDefs 27 | 28 | /// Morph all tables of ILTypeDefs in "ILModuleDef" 29 | val morphILTypeDefsInILModule: ILTypeDefs morph -> ILModuleDef -> ILModuleDef 30 | 31 | /// Morph all type references throughout an entire module. 32 | val morphILTypeRefsInILModuleMemoized: ILGlobals -> ILTypeRef morph -> ILModuleDef -> ILModuleDef 33 | 34 | val morphILScopeRefsInILModuleMemoized: ILGlobals -> ILScopeRef morph -> ILModuleDef -> ILModuleDef 35 | 36 | val morphILMethodBody: ILMethodBody morph -> ILLazyMethodBody -> ILLazyMethodBody 37 | val morphIlxClosureInfo: ILMethodBody morph -> IlxClosureInfo -> IlxClosureInfo 38 | val morphILInstrsInILCode: (ILInstr -> ILInstr list) -> ILCode -> ILCode 39 | 40 | [] 41 | type InstrMorph = 42 | new : ILInstr list -> InstrMorph 43 | new : ILCode -> InstrMorph 44 | 45 | val morphExpandILInstrsInILCode: (ILCodeLabel -> ILCodeLabel -> ILInstr -> InstrMorph) -> ILCode -> ILCode 46 | 47 | // REVIEW: Consider removing Post-Dev11 M3 48 | val enablemorphCustomAttributeData : unit -> unit 49 | val disablemorphCustomAttributeData : unit -> unit 50 | -------------------------------------------------------------------------------- /src/absil/ilprint.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Printer for the abstract syntax. 4 | module internal Microsoft.FSharp.Compiler.AbstractIL.ILAsciiWriter 5 | 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.IL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 9 | open System.IO 10 | 11 | #if DEBUG 12 | val public output_module : TextWriter -> ILModuleDef -> unit 13 | #endif 14 | 15 | -------------------------------------------------------------------------------- /src/absil/ilwrite.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/absil/ilwrite.fs -------------------------------------------------------------------------------- /src/absil/ilwrite.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// The IL Binary writer 4 | module internal Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter 5 | 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 8 | open Microsoft.FSharp.Compiler.AbstractIL.IL 9 | 10 | [] 11 | type ILStrongNameSigner = 12 | member PublicKey: byte[] 13 | static member OpenPublicKeyFile: string -> ILStrongNameSigner 14 | static member OpenPublicKey: byte[] -> ILStrongNameSigner 15 | static member OpenKeyPairFile: string -> ILStrongNameSigner 16 | static member OpenKeyContainer: string -> ILStrongNameSigner 17 | 18 | type options = 19 | { ilg: ILGlobals 20 | pdbfile: string option 21 | signer : ILStrongNameSigner option 22 | fixupOverlappingSequencePoints : bool 23 | emitTailcalls: bool 24 | showTimes : bool 25 | dumpDebugInfo : bool } 26 | 27 | /// Write a binary to the file system. Extra configuration parameters can also be specified. 28 | val WriteILBinary: filename: string * options: options * input: ILModuleDef * noDebugData: bool -> unit 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/absil/zmap.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.AbstractIL.Internal 4 | 5 | open Internal.Utilities 6 | open Internal.Utilities.Collections.Tagged 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library 8 | open System.Collections.Generic 9 | 10 | /// Maps with a specific comparison function 11 | type internal Zmap<'Key,'T> = Internal.Utilities.Collections.Tagged.Map<'Key,'T> 12 | 13 | [] 14 | module internal Zmap = 15 | 16 | let empty (ord: IComparer<'T>) = Map<_,_,_>.Empty(ord) 17 | 18 | let add k v (m:Zmap<_,_>) = m.Add(k,v) 19 | let find k (m:Zmap<_,_>) = m.[k] 20 | let tryFind k (m:Zmap<_,_>) = m.TryFind(k) 21 | let remove k (m:Zmap<_,_>) = m.Remove(k) 22 | let mem k (m:Zmap<_,_>) = m.ContainsKey(k) 23 | let iter f (m:Zmap<_,_>) = m.Iterate(f) 24 | let first f (m:Zmap<_,_>) = m.First(fun k v -> if f k v then Some (k,v) else None) 25 | let exists f (m:Zmap<_,_>) = m.Exists(f) 26 | let forall f (m:Zmap<_,_>) = m.ForAll(f) 27 | let map f (m:Zmap<_,_>) = m.MapRange(f) 28 | let mapi f (m:Zmap<_,_>) = m.Map(f) 29 | let fold f (m:Zmap<_,_>) x = m.Fold f x 30 | let toList (m:Zmap<_,_>) = m.ToList() 31 | let foldSection lo hi f (m:Zmap<_,_>) x = m.FoldSection lo hi f x 32 | 33 | let isEmpty (m:Zmap<_,_>) = m.IsEmpty 34 | 35 | let foldMap f z (m:Zmap<_,_>) = 36 | let m,z = m.FoldAndMap (fun k v z -> let z,v' = f z k v in v',z) z in 37 | z,m 38 | 39 | let choose f (m:Zmap<_,_>) = m.First(f) 40 | 41 | let chooseL f (m:Zmap<_,_>) = 42 | m.Fold (fun k v s -> match f k v with None -> s | Some x -> x::s) [] 43 | 44 | let ofList m xs = List.fold (fun m (k,v) -> add k v m) (empty m) xs 45 | let ofFlatList m xs = FlatList.fold (fun m (k,v) -> add k v m) (empty m) xs 46 | 47 | let keys m = chooseL (fun k _ -> Some k) m 48 | let values m = chooseL (fun _ v -> Some v) m 49 | 50 | let memberOf m k = mem k m 51 | -------------------------------------------------------------------------------- /src/absil/zmap.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.AbstractIL.Internal 4 | 5 | open Internal.Utilities 6 | open Internal.Utilities.Collections.Tagged 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library 8 | open System.Collections.Generic 9 | 10 | /// Maps with a specific comparison function 11 | type internal Zmap<'Key,'T> = Internal.Utilities.Collections.Tagged.Map<'Key,'T> 12 | 13 | [] 14 | module internal Zmap = 15 | 16 | val empty : IComparer<'Key> -> Zmap<'Key,'T> 17 | val isEmpty : Zmap<'Key,'T> -> bool 18 | 19 | val add : 'Key -> 'T -> Zmap<'Key,'T> -> Zmap<'Key,'T> 20 | val remove : 'Key -> Zmap<'Key,'T> -> Zmap<'Key,'T> 21 | val mem : 'Key -> Zmap<'Key,'T> -> bool 22 | val memberOf : Zmap<'Key,'T> -> 'Key -> bool 23 | val tryFind : 'Key -> Zmap<'Key,'T> -> 'T option 24 | val find : 'Key -> Zmap<'Key,'T> -> 'T // raises KeyNotFoundException 25 | 26 | val map : mapping:('T -> 'U) -> Zmap<'Key,'T> -> Zmap<'Key,'U> 27 | val mapi : ('Key -> 'T -> 'U) -> Zmap<'Key,'T> -> Zmap<'Key,'U> 28 | val fold : ('Key -> 'T -> 'U -> 'U) -> Zmap<'Key,'T> -> 'U -> 'U 29 | val foldMap : ('State -> 'Key -> 'T -> 'State * 'U) -> 'State -> Zmap<'Key,'T> -> 'State * Zmap<'Key,'U> 30 | val iter : action:('T -> 'U -> unit) -> Zmap<'T, 'U> -> unit 31 | 32 | val foldSection: 'Key -> 'Key -> ('Key -> 'T -> 'U -> 'U) -> Zmap<'Key,'T> -> 'U -> 'U 33 | 34 | val first : ('Key -> 'T -> bool) -> Zmap<'Key,'T> -> ('Key * 'T) option 35 | val exists : ('Key -> 'T -> bool) -> Zmap<'Key,'T> -> bool 36 | val forall : ('Key -> 'T -> bool) -> Zmap<'Key,'T> -> bool 37 | 38 | val choose : ('Key -> 'T -> 'U option) -> Zmap<'Key,'T> -> 'U option 39 | val chooseL : ('Key -> 'T -> 'U option) -> Zmap<'Key,'T> -> 'U list 40 | 41 | val toList : Zmap<'Key,'T> -> ('Key * 'T) list 42 | val ofList : IComparer<'Key> -> ('Key * 'T) list -> Zmap<'Key,'T> 43 | val ofFlatList : IComparer<'Key> -> FlatList<'Key * 'T> -> Zmap<'Key,'T> 44 | 45 | val keys : Zmap<'Key,'T> -> 'Key list 46 | val values : Zmap<'Key,'T> -> 'T list 47 | -------------------------------------------------------------------------------- /src/absil/zset.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.AbstractIL.Internal 4 | 5 | open Microsoft.FSharp.Compiler.AbstractIL 6 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library 8 | open Internal.Utilities 9 | open Internal.Utilities.Collections.Tagged 10 | open System.Collections.Generic 11 | 12 | /// Sets with a specific comparison function 13 | type internal Zset<'T> = Internal.Utilities.Collections.Tagged.Set<'T> 14 | 15 | [] 16 | module internal Zset = 17 | 18 | let empty (ord : IComparer<'T>) = Internal.Utilities.Collections.Tagged.Set<_,_>.Empty(ord) 19 | 20 | let isEmpty (s:Zset<_>) = s.IsEmpty 21 | 22 | let contains x (s:Zset<_>) = s.Contains(x) 23 | let add x (s:Zset<_>) = s.Add(x) 24 | let addList xs a = List.fold (fun a x -> add x a) a xs 25 | let addFlatList xs a = FlatList.fold (fun a x -> add x a) a xs 26 | 27 | let singleton ord x = add x (empty ord) 28 | let remove x (s:Zset<_>) = s.Remove(x) 29 | 30 | let fold (f : 'T -> 'b -> 'b) (s:Zset<_>) b = s.Fold f b 31 | let iter f (s:Zset<_>) = s.Iterate f 32 | let forall p (s:Zset<_>) = s.ForAll p 33 | let count (s:Zset<_>) = s.Count 34 | let exists p (s:Zset<_>) = s.Exists p 35 | let subset (s1:Zset<_>) (s2:Zset<_>) = s1.IsSubsetOf s2 36 | let equal (s1:Zset<_>) (s2:Zset<_>) = Internal.Utilities.Collections.Tagged.Set<_,_>.Equality(s1,s2) 37 | let elements (s:Zset<_>) = s.ToList() 38 | let filter p (s:Zset<_>) = s.Filter p 39 | 40 | let union (s1:Zset<_>) (s2:Zset<_>) = Internal.Utilities.Collections.Tagged.Set<_,_>.Union(s1,s2) 41 | let inter (s1:Zset<_>) (s2:Zset<_>) = Internal.Utilities.Collections.Tagged.Set<_,_>.Intersection(s1,s2) 42 | let diff (s1:Zset<_>) (s2:Zset<_>) = Internal.Utilities.Collections.Tagged.Set<_,_>.Difference(s1,s2) 43 | 44 | let memberOf m k = contains k m 45 | -------------------------------------------------------------------------------- /src/absil/zset.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.AbstractIL.Internal 4 | 5 | open Internal.Utilities 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library 8 | open System.Collections.Generic 9 | 10 | /// Sets with a specific comparison function 11 | type internal Zset<'T> = Internal.Utilities.Collections.Tagged.Set<'T> 12 | 13 | 14 | [] 15 | module internal Zset = 16 | 17 | val empty : IComparer<'T> -> Zset<'T> 18 | val isEmpty : Zset<'T> -> bool 19 | val contains : 'T -> Zset<'T> -> bool 20 | val memberOf : Zset<'T> -> 'T -> bool 21 | val add : 'T -> Zset<'T> -> Zset<'T> 22 | val addList : 'T list -> Zset<'T> -> Zset<'T> 23 | val addFlatList : FlatList<'T> -> Zset<'T> -> Zset<'T> 24 | val singleton : IComparer<'T> -> 'T -> Zset<'T> 25 | val remove : 'T -> Zset<'T> -> Zset<'T> 26 | 27 | val count : Zset<'T> -> int 28 | val union : Zset<'T> -> Zset<'T> -> Zset<'T> 29 | val inter : Zset<'T> -> Zset<'T> -> Zset<'T> 30 | val diff : Zset<'T> -> Zset<'T> -> Zset<'T> 31 | val equal : Zset<'T> -> Zset<'T> -> bool 32 | val subset : Zset<'T> -> Zset<'T> -> bool 33 | val forall : predicate:('T -> bool) -> Zset<'T> -> bool 34 | val exists : predicate:('T -> bool) -> Zset<'T> -> bool 35 | val filter : predicate:('T -> bool) -> Zset<'T> -> Zset<'T> 36 | 37 | val fold : ('T -> 'State -> 'State) -> Zset<'T> -> 'State -> 'State 38 | val iter : ('T -> unit) -> Zset<'T> -> unit 39 | 40 | val elements : Zset<'T> -> 'T list 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/assemblyinfo/assemblyinfo.FSharp.Interactive.Service.dll.fs: -------------------------------------------------------------------------------- 1 | #light 2 | namespace Microsoft.FSharp 3 | open System.Reflection 4 | [] 5 | [] 6 | [] 7 | [] 8 | do() 9 | -------------------------------------------------------------------------------- /src/assemblyinfo/assemblyinfo.fsc.exe.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | #light 4 | namespace Microsoft.FSharp 5 | open System.Reflection 6 | open System.Runtime.InteropServices 7 | 8 | [] 9 | [] 10 | [] 11 | [] 12 | [] 13 | [] 14 | 15 | [] 16 | do() 17 | -------------------------------------------------------------------------------- /src/assemblyinfo/assemblyinfo.fsi.exe.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | #light 4 | namespace Microsoft.FSharp 5 | open System.Reflection 6 | [] 7 | [] 8 | [] 9 | [] 10 | [] 11 | do() 12 | 13 | 14 | do() 15 | -------------------------------------------------------------------------------- /src/fsharp/AugmentWithHashCompare.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Generate the hash/compare functions we add to user-defined types by default. 4 | module internal Microsoft.FSharp.Compiler.AugmentWithHashCompare 5 | 6 | open Internal.Utilities 7 | open Microsoft.FSharp.Compiler.AbstractIL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 9 | open Microsoft.FSharp.Compiler 10 | 11 | open Microsoft.FSharp.Compiler.Tast 12 | open Microsoft.FSharp.Compiler.TcGlobals 13 | 14 | val CheckAugmentationAttribs : bool -> TcGlobals -> Import.ImportMap -> Tycon -> unit 15 | val TyconIsCandidateForAugmentationWithCompare : TcGlobals -> Tycon -> bool 16 | val TyconIsCandidateForAugmentationWithEquals : TcGlobals -> Tycon -> bool 17 | val TyconIsCandidateForAugmentationWithHash : TcGlobals -> Tycon -> bool 18 | 19 | val MakeValsForCompareAugmentation : TcGlobals -> TyconRef -> Val * Val 20 | val MakeValsForCompareWithComparerAugmentation : TcGlobals -> TyconRef -> Val 21 | val MakeValsForEqualsAugmentation : TcGlobals -> TyconRef -> Val * Val 22 | val MakeValsForEqualityWithComparerAugmentation : TcGlobals -> TyconRef -> Val * Val * Val 23 | 24 | val MakeBindingsForCompareAugmentation : TcGlobals -> Tycon -> Binding list 25 | val MakeBindingsForCompareWithComparerAugmentation : TcGlobals -> Tycon -> Binding list 26 | val MakeBindingsForEqualsAugmentation : TcGlobals -> Tycon -> Binding list 27 | val MakeBindingsForEqualityWithComparerAugmentation : TcGlobals -> Tycon -> Binding list 28 | 29 | /// This predicate can be used once type inference is complete, before then it is an approximation 30 | /// that doesn't assert any new constraints 31 | val TypeDefinitelyHasEquality : TcGlobals -> TType -> bool 32 | 33 | -------------------------------------------------------------------------------- /src/fsharp/CheckFormatStrings.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Parse "printf-style" format specifiers at compile time, producing 4 | /// a list of items that specify the types of the things that follow. 5 | /// 6 | /// Must be updated if the Printf runtime component is updated. 7 | 8 | module internal Microsoft.FSharp.Compiler.CheckFormatStrings 9 | 10 | open Internal.Utilities 11 | open Microsoft.FSharp.Compiler 12 | open Microsoft.FSharp.Compiler.Tast 13 | open Microsoft.FSharp.Compiler.TcGlobals 14 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 15 | 16 | val ParseFormatString : Range.range -> TcGlobals -> source: string option -> fmt: string -> bty: TType -> cty: TType -> dty: TType -> (TType * TType) * Range.range list 17 | -------------------------------------------------------------------------------- /src/fsharp/DetupleArgs.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Microsoft.FSharp.Compiler.Detuple 4 | 5 | open Internal.Utilities 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 8 | open Microsoft.FSharp.Compiler 9 | open Microsoft.FSharp.Compiler.Tast 10 | open Microsoft.FSharp.Compiler.TcGlobals 11 | 12 | 13 | 14 | (* detuple pass: *) 15 | val DetupleImplFile : CcuThunk -> TcGlobals -> TypedImplFile -> TypedImplFile 16 | 17 | module GlobalUsageAnalysis = 18 | val GetValsBoundInExpr : Expr -> Zset 19 | 20 | type accessor 21 | 22 | /// Results is "expr information". 23 | /// This could extend to be a full graph view of the expr. 24 | /// Later could support "safe" change operations, and optimisations could be in terms of those. 25 | type Results = 26 | { /// v -> context / APP inst args 27 | Uses : Zmap; 28 | /// v -> binding repr 29 | Defns : Zmap; 30 | /// bound in a decision tree? 31 | DecisionTreeBindings : Zset; 32 | /// v -> recursive? * v list -- the others in the mutual binding 33 | RecursiveBindings : Zmap; 34 | /// val not defined under lambdas 35 | TopLevelBindings : Zset; 36 | /// top of expr toplevel? (true) 37 | IterationIsAtTopLevel : bool; 38 | } 39 | val GetUsageInfoOfImplFile : TcGlobals -> TypedImplFile -> Results 40 | -------------------------------------------------------------------------------- /src/fsharp/FSInteractiveSettings.txt: -------------------------------------------------------------------------------- 1 | # FS Interactive.Settings resource strings -------------------------------------------------------------------------------- /src/fsharp/FSharp.Compiler.Service/InstallationDummyFile.txt: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/fsharp/FSharp.Compiler.Service/paket.references: -------------------------------------------------------------------------------- 1 | TaskParallelLibrary 2 | FsPowerpack.Community -------------------------------------------------------------------------------- /src/fsharp/FSharp.Compiler.Service/pppars.fsi: -------------------------------------------------------------------------------- 1 | // Signature file for parser generated by fsyacc 2 | module internal Microsoft.FSharp.Compiler.PPParser 3 | open Microsoft.FSharp.Compiler 4 | type token = 5 | | OP_NOT 6 | | OP_AND 7 | | OP_OR 8 | | LPAREN 9 | | RPAREN 10 | | PRELUDE 11 | | EOF 12 | | ID of (string) 13 | type tokenId = 14 | | TOKEN_OP_NOT 15 | | TOKEN_OP_AND 16 | | TOKEN_OP_OR 17 | | TOKEN_LPAREN 18 | | TOKEN_RPAREN 19 | | TOKEN_PRELUDE 20 | | TOKEN_EOF 21 | | TOKEN_ID 22 | | TOKEN_end_of_input 23 | | TOKEN_error 24 | type nonTerminalId = 25 | | NONTERM__startstart 26 | | NONTERM_start 27 | | NONTERM_Recover 28 | | NONTERM_Full 29 | | NONTERM_Expr 30 | /// This function maps integers indexes to symbolic token ids 31 | val tagOfToken: token -> int 32 | 33 | /// This function maps integers indexes to symbolic token ids 34 | val tokenTagToTokenId: int -> tokenId 35 | 36 | /// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production 37 | val prodIdxToNonTerminal: int -> nonTerminalId 38 | 39 | /// This function gets the name of a token as a string 40 | val token_to_string: token -> string 41 | val start : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> ( LexerIfdefExpression ) 42 | -------------------------------------------------------------------------------- /src/fsharp/FSharp.Compiler.Unittests/paket.references: -------------------------------------------------------------------------------- 1 | TaskParallelLibrary -------------------------------------------------------------------------------- /src/fsharp/InnerLambdasToTopLevelFuncs.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Microsoft.FSharp.Compiler.InnerLambdasToTopLevelFuncs 4 | 5 | open Microsoft.FSharp.Compiler 6 | open Microsoft.FSharp.Compiler.TcGlobals 7 | 8 | val MakeTLRDecisions : Tast.CcuThunk -> TcGlobals -> Tast.TypedImplFile -> Tast.TypedImplFile 9 | #if TLR_LIFT 10 | val liftTLR : bool ref 11 | #endif 12 | -------------------------------------------------------------------------------- /src/fsharp/LowerCallsAndSeqs.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/LowerCallsAndSeqs.fs -------------------------------------------------------------------------------- /src/fsharp/PatternMatchCompilation.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Microsoft.FSharp.Compiler.PatternMatchCompilation 4 | 5 | open Internal.Utilities 6 | open Microsoft.FSharp.Compiler 7 | open Microsoft.FSharp.Compiler.AbstractIL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 9 | open Microsoft.FSharp.Compiler.Tast 10 | open Microsoft.FSharp.Compiler.Tastops 11 | open Microsoft.FSharp.Compiler.TcGlobals 12 | open Microsoft.FSharp.Compiler.Range 13 | 14 | 15 | 16 | /// What should the decision tree contain for any incomplete match? 17 | type ActionOnFailure = 18 | | ThrowIncompleteMatchException 19 | | IgnoreWithWarning 20 | | Throw 21 | | Rethrow 22 | | FailFilter 23 | 24 | [] 25 | /// Represents the typechecked, elaborated form of a pattern, prior to pattern-match compilation. 26 | type Pattern = 27 | | TPat_const of Const * range 28 | | TPat_wild of range 29 | | TPat_as of Pattern * PatternValBinding * range 30 | | TPat_disjs of Pattern list * range 31 | | TPat_conjs of Pattern list * range 32 | | TPat_query of (Expr * TType list * (ValRef * TypeInst) option * int * PrettyNaming.ActivePatternInfo) * Pattern * range 33 | | TPat_unioncase of UnionCaseRef * TypeInst * Pattern list * range 34 | | TPat_exnconstr of TyconRef * Pattern list * range 35 | | TPat_tuple of Pattern list * TType list * range 36 | | TPat_array of Pattern list * TType * range 37 | | TPat_recd of TyconRef * TypeInst * Pattern list * range 38 | | TPat_range of char * char * range 39 | | TPat_null of range 40 | | TPat_isinst of TType * TType * PatternValBinding option * range 41 | member Range : range 42 | 43 | and PatternValBinding = 44 | | PBind of Val * TypeScheme 45 | 46 | and TypedMatchClause = 47 | | TClause of Pattern * Expr option * DecisionTreeTarget * range 48 | 49 | /// Compile a pattern into a decision tree and a set of targets. 50 | val internal CompilePattern : 51 | TcGlobals -> 52 | DisplayEnv -> 53 | Import.ImportMap -> 54 | // range of the expression we are matching on 55 | range -> 56 | // range to report "incomplete match" on 57 | range -> 58 | // warn on unused? 59 | bool -> 60 | ActionOnFailure -> 61 | // the value being matched against, perhaps polymorphic 62 | Val * Typars -> 63 | // input type-checked syntax of pattern matching 64 | TypedMatchClause list -> 65 | // input type 66 | TType -> 67 | // result type 68 | TType -> 69 | // produce TAST nodes 70 | DecisionTree * DecisionTreeTarget list 71 | 72 | exception internal MatchIncomplete of bool * (string * bool) option * range 73 | exception internal RuleNeverMatched of range 74 | -------------------------------------------------------------------------------- /src/fsharp/PostInferenceChecks.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Implements a set of checks on the TAST for a file that can only be performed after type inference 4 | /// is complete. 5 | module internal Microsoft.FSharp.Compiler.PostTypeCheckSemanticChecks 6 | 7 | open Microsoft.FSharp.Compiler 8 | open Microsoft.FSharp.Compiler.TcGlobals 9 | 10 | val testFlagMemberBody : bool ref 11 | val CheckTopImpl : TcGlobals * Import.ImportMap * bool * Infos.InfoReader * Tast.CompilationPath list * Tast.CcuThunk * Tastops.DisplayEnv * Tast.ModuleOrNamespaceExprWithSig * Tast.Attribs * bool -> bool 12 | -------------------------------------------------------------------------------- /src/fsharp/QuotationTranslator.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | // Convert quoted TAST data structures to structures ready for pickling 4 | 5 | module internal Microsoft.FSharp.Compiler.QuotationTranslator 6 | 7 | open Microsoft.FSharp.Compiler 8 | open Microsoft.FSharp.Compiler.Range 9 | open Microsoft.FSharp.Compiler.Import 10 | open Microsoft.FSharp.Compiler.Tast 11 | open Microsoft.FSharp.Compiler.TcGlobals 12 | open Microsoft.FSharp.Compiler.Tastops 13 | open Microsoft.FSharp.Compiler.AbstractIL.IL 14 | 15 | [] 16 | type QuotationTranslationEnv = 17 | static member Empty : QuotationTranslationEnv 18 | member BindTypars : Typars -> QuotationTranslationEnv 19 | 20 | exception InvalidQuotedTerm of exn 21 | exception IgnoringPartOfQuotedTermWarning of string * Range.range 22 | 23 | [] 24 | type IsReflectedDefinition = 25 | | Yes 26 | | No 27 | 28 | [] 29 | type QuotationSerializationFormat = 30 | /// Indicates that type references are emitted as integer indexes into a supplied table 31 | | FSharp_40_Plus 32 | | FSharp_20_Plus 33 | 34 | [] 35 | type QuotationGenerationScope = 36 | static member Create: TcGlobals * ImportMap * CcuThunk * IsReflectedDefinition -> QuotationGenerationScope 37 | member Close: unit -> ILTypeRef list * (TType * range) list * (Expr * range) list 38 | static member ComputeQuotationFormat : TcGlobals -> QuotationSerializationFormat 39 | 40 | val ConvExprPublic : QuotationGenerationScope -> QuotationTranslationEnv -> Expr -> QuotationPickler.ExprData 41 | val ConvMethodBase : QuotationGenerationScope -> QuotationTranslationEnv -> string * Val -> QuotationPickler.MethodBaseData 42 | 43 | 44 | val (|ModuleValueOrMemberUse|_|) : TcGlobals -> Expr -> (ValRef * ValUseFlag * Expr * TType * TypeInst * Expr list) option 45 | val (|SimpleArrayLoopUpperBound|_|) : Expr -> unit option 46 | val (|SimpleArrayLoopBody|_|) : TcGlobals -> Expr -> (Expr * TType * Expr) option 47 | val (|ObjectInitializationCheck|_|) : TcGlobals -> Expr -> unit option 48 | val isSplice : TcGlobals -> ValRef -> bool 49 | 50 | -------------------------------------------------------------------------------- /src/fsharp/TastOps.fs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/TastOps.fs -------------------------------------------------------------------------------- /src/fsharp/TraceCall.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Internal.Utilities.Debug 4 | module internal TraceInterop = 5 | type MessageBeepType = 6 | | Default = -1 7 | | Ok = 0 8 | | Error = 16 9 | | Question = 32 10 | | Warning = 48 11 | | Information = 64 12 | val MessageBeep : MessageBeepType -> bool 13 | [] 14 | type internal Trace = 15 | static member Beep : loggingClass:string -> unit 16 | static member BeepError : loggingClass:string -> unit 17 | static member BeepOk : loggingClass:string -> unit 18 | static member Call : loggingClass:string * functionName:string * descriptionFunc:(unit->string) -> System.IDisposable 19 | static member CallByThreadNamed : loggingClass:string * functionName:string * threadName:string * descriptionFunc:(unit->string) -> System.IDisposable 20 | static member Print : loggingClass:string * messageFunc:(unit->string) -> unit 21 | static member PrintLine : loggingClass:string * messageFunc:(unit->string) -> unit 22 | static member ShouldLog : loggingClass:string -> bool 23 | static member Log : string with get, set 24 | static member Out : System.IO.TextWriter with get, set 25 | 26 | -------------------------------------------------------------------------------- /src/fsharp/UnicodeLexing.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Microsoft.FSharp.Compiler.UnicodeLexing 4 | 5 | open Microsoft.FSharp.Text 6 | open Internal.Utilities.Text.Lexing 7 | 8 | type Lexbuf = LexBuffer 9 | val internal StringAsLexbuf : string -> Lexbuf 10 | val public FunctionAsLexbuf : (char [] * int * int -> int) -> Lexbuf 11 | val public UnicodeFileAsLexbuf :string * int option * (*retryLocked*) bool -> Lexbuf 12 | -------------------------------------------------------------------------------- /src/fsharp/ccuthunk.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler 4 | 5 | open Internal.Utilities 6 | open Microsoft.FSharp.Compiler 7 | open Microsoft.FSharp.Compiler.AbstractIL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Diagnostics 9 | 10 | open Microsoft.FSharp.Compiler.Ast 11 | open Microsoft.FSharp.Compiler.Lib 12 | 13 | -------------------------------------------------------------------------------- /src/fsharp/fsi/fsi.fsi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/fsi/fsi.fsi -------------------------------------------------------------------------------- /src/fsharp/fsi/fsi.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/fsi/fsi.ico -------------------------------------------------------------------------------- /src/fsharp/fsi/fsi.rc: -------------------------------------------------------------------------------- 1 | // compile fsi.res by running Windows SDK tool rc.exe like so 2 | // > rc.exe /i "C:\Program Files (x86)\MSBuild\12.0\Bin" /r fsi.rc 3 | // (can replace msbuild path with any path containing default.win32manifest) 4 | 1 ICON "fsi.ico" 5 | 1 24 "default.win32manifest" -------------------------------------------------------------------------------- /src/fsharp/fsi/fsi.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/fsi/fsi.res -------------------------------------------------------------------------------- /src/fsharp/fsi/fsiAnyCPU.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/fsharp/fsiattrs.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module Microsoft.FSharp.Compiler.Interactive.Attributes 4 | [] 5 | do() 6 | 7 | -------------------------------------------------------------------------------- /src/fsharp/msft.pubkey: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/msft.pubkey -------------------------------------------------------------------------------- /src/fsharp/pplex.fsl: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | { 4 | 5 | module internal Microsoft.FSharp.Compiler.PPLexer 6 | 7 | open System 8 | 9 | open Microsoft.FSharp.Compiler.Ast 10 | open Microsoft.FSharp.Compiler.ErrorLogger 11 | open Microsoft.FSharp.Compiler.Lexhelp 12 | 13 | open Internal.Utilities.Text.Lexing 14 | 15 | let lexeme (lexbuf : UnicodeLexing.Lexbuf) = UnicodeLexing.Lexbuf.LexemeString lexbuf 16 | 17 | let fail (args : lexargs) (lexbuf:UnicodeLexing.Lexbuf) e = 18 | let m = lexbuf.LexemeRange 19 | args.errorLogger.ErrorR(Error(e,m)) 20 | PPParser.EOF 21 | } 22 | 23 | let letter = '\Lu' | '\Ll' | '\Lt' | '\Lm' | '\Lo' | '\Nl' 24 | let digit = '\Nd' 25 | let connecting_char = '\Pc' 26 | let combining_char = '\Mn' | '\Mc' 27 | let formatting_char = '\Cf' 28 | 29 | let ident_start_char = 30 | letter | '_' 31 | 32 | let ident_char = 33 | letter 34 | | connecting_char 35 | | combining_char 36 | | formatting_char 37 | | digit 38 | | ['\''] 39 | 40 | let ident = ident_start_char ident_char* 41 | let comment = "//" _* 42 | let mcomment = "(*" _* 43 | let whitespace = [' ' '\t'] 44 | 45 | rule tokenstream args = parse 46 | // -------------------------- 47 | | "#if" { PPParser.PRELUDE } 48 | | "#elif" { PPParser.PRELUDE } 49 | | ident { PPParser.ID(lexeme lexbuf) } 50 | // -------------------------- 51 | | "!" { PPParser.OP_NOT } 52 | | "&&" { PPParser.OP_AND } 53 | | "||" { PPParser.OP_OR } 54 | | "(" { PPParser.LPAREN } 55 | | ")" { PPParser.RPAREN } 56 | // -------------------------- 57 | | whitespace { tokenstream args lexbuf } 58 | // -------------------------- 59 | | comment { PPParser.EOF } 60 | | mcomment { fail args lexbuf (FSComp.SR.pplexExpectedSingleLineComment()) } 61 | | _ { 62 | let lex = lexeme lexbuf 63 | let _ = rest lexbuf 64 | fail args lexbuf (FSComp.SR.pplexUnexpectedChar(lex)) 65 | } 66 | | eof { PPParser.EOF } 67 | // -------------------------- 68 | and rest = parse 69 | | _ { rest lexbuf } 70 | | eof { () } 71 | -------------------------------------------------------------------------------- /src/fsharp/pppars.fsy: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | %{ 4 | open Microsoft.FSharp.Compiler.Ast 5 | open Microsoft.FSharp.Compiler.ErrorLogger 6 | 7 | let dummy = IfdefId("DUMMY") 8 | 9 | let doNothing _ dflt= 10 | dflt 11 | 12 | let fail (ps : Internal.Utilities.Text.Parsing.IParseState) i e = 13 | let f,t = ps.InputRange i 14 | let m = mkSynRange f t 15 | errorR(Error(e,m)) 16 | dummy 17 | %} 18 | 19 | 20 | %start start 21 | 22 | %token ID 23 | %token OP_NOT OP_AND OP_OR LPAREN RPAREN PRELUDE EOF 24 | 25 | %nonassoc RPAREN 26 | %nonassoc PRELUDE 27 | %left OP_OR 28 | %left OP_AND 29 | %left OP_NOT 30 | %nonassoc LPAREN 31 | %nonassoc ID 32 | 33 | %type < LexerIfdefExpression > start 34 | 35 | %% 36 | 37 | start: Full { $1 } 38 | 39 | Recover: 40 | | error { doNothing parseState () } 41 | 42 | Full: 43 | | PRELUDE Expr EOF { $2 } 44 | | Recover { fail parseState 1 (FSComp.SR.ppparsMissingToken("#if/#elif")) } 45 | 46 | Expr: 47 | | LPAREN Expr RPAREN { $2 } 48 | | ID { IfdefId($1) } 49 | | OP_NOT Expr { IfdefNot($2) } 50 | | Expr OP_AND Expr { IfdefAnd($1,$3) } 51 | | Expr OP_OR Expr { IfdefOr($1,$3) } 52 | 53 | | OP_AND Recover { fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("&&")) } 54 | | OP_OR Recover { fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("||")) } 55 | | OP_NOT Recover { fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("!")) } 56 | | LPAREN error RPAREN { doNothing parseState dummy } 57 | | LPAREN Expr Recover { fail parseState 3 (FSComp.SR.ppparsMissingToken(")")) } 58 | | LPAREN Recover { fail parseState 2 (FSComp.SR.ppparsIncompleteExpression()) } 59 | | RPAREN Recover { fail parseState 1 (FSComp.SR.ppparsUnexpectedToken(")")) } 60 | | Expr Recover { fail parseState 2 (FSComp.SR.ppparsIncompleteExpression()) } 61 | | EOF { fail parseState 1 (FSComp.SR.ppparsIncompleteExpression()) } 62 | -------------------------------------------------------------------------------- /src/fsharp/rational.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Rational arithmetic, used for exponents on units-of-measure 4 | module internal Microsoft.FSharp.Compiler.Rational 5 | 6 | open System.Numerics 7 | 8 | type Rational = { 9 | numerator: BigInteger; 10 | denominator: BigInteger 11 | } 12 | 13 | let rec gcd a (b: BigInteger) = 14 | if b = BigInteger.Zero then a else 15 | gcd b (a % b) 16 | let lcm a b = 17 | (a * b) / (gcd a b) 18 | 19 | let mkRational p q = 20 | let p, q = 21 | if q = BigInteger.Zero then raise(System.DivideByZeroException()) 22 | let g = gcd q p in 23 | p/g, q/g 24 | 25 | let p, q = 26 | if q > BigInteger.Zero then p, q else -p, -q 27 | 28 | in 29 | { numerator = p; 30 | denominator = q 31 | } 32 | 33 | let intToRational (p:int) = mkRational (BigInteger(p)) BigInteger.One 34 | let ZeroRational = mkRational BigInteger.Zero BigInteger.One 35 | let OneRational = mkRational BigInteger.One BigInteger.One 36 | 37 | let AddRational m n = 38 | let d = gcd m.denominator n.denominator 39 | let m' = m.denominator / d 40 | let n' = n.denominator / d 41 | mkRational (m.numerator * n' + n.numerator * m') (m.denominator * n') 42 | 43 | let NegRational m = 44 | mkRational (-m.numerator) m.denominator 45 | 46 | let MulRational m n = 47 | mkRational (m.numerator * n.numerator) (m.denominator * n.denominator) 48 | 49 | let DivRational m n = 50 | mkRational (m.numerator * n.denominator) (m.denominator * n.numerator) 51 | 52 | let AbsRational m = 53 | mkRational (abs m.numerator) m.denominator 54 | 55 | let RationalToString m = 56 | if m.denominator = BigInteger.One then m.numerator.ToString() else sprintf "(%A/%A)" m.numerator m.denominator 57 | 58 | let GcdRational m n = mkRational (gcd m.numerator n.numerator) (lcm m.denominator n.denominator) 59 | 60 | let GetNumerator p = int p.numerator 61 | let GetDenominator p = int p.denominator 62 | 63 | let SignRational p = 64 | if p.numerator < BigInteger.Zero then -1 else 65 | if p.numerator > BigInteger.Zero then 1 else 0 66 | 67 | -------------------------------------------------------------------------------- /src/fsharp/rational.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Rational arithmetic, used for exponents on units-of-measure 4 | module internal Microsoft.FSharp.Compiler.Rational 5 | 6 | type Rational 7 | 8 | val intToRational : int -> Rational 9 | val AbsRational : Rational -> Rational 10 | val AddRational : Rational -> Rational -> Rational 11 | val MulRational : Rational -> Rational -> Rational 12 | val DivRational : Rational -> Rational -> Rational 13 | val NegRational : Rational -> Rational 14 | val SignRational : Rational -> int 15 | val ZeroRational : Rational 16 | val OneRational : Rational 17 | 18 | // Can be negative 19 | val GetNumerator : Rational -> int 20 | 21 | // Always positive 22 | val GetDenominator : Rational -> int 23 | 24 | // Greatest rational that divides both exactly 25 | val GcdRational : Rational -> Rational -> Rational 26 | val RationalToString : Rational -> string 27 | 28 | -------------------------------------------------------------------------------- /src/fsharp/sr.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler 4 | 5 | module internal SR = 6 | val GetString : string -> string 7 | val GetObject : string -> System.Object 8 | 9 | 10 | module internal DiagnosticMessage = 11 | type ResourceString<'T> = 12 | new : string * Printf.StringFormat<'T> -> ResourceString<'T> 13 | member Format : 'T 14 | 15 | val DeclareResourceString : string * Printf.StringFormat<'T> -> ResourceString<'T> -------------------------------------------------------------------------------- /src/fsharp/test.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/test.pub -------------------------------------------------------------------------------- /src/fsharp/test.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/src/fsharp/test.snk -------------------------------------------------------------------------------- /src/fsharp/vs/Reactor.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.SourceCodeServices 4 | 5 | // For internal use only 6 | type internal IReactorOperations = 7 | 8 | /// Put the operation in thq queue, and return an async handle to its result. 9 | abstract EnqueueAndAwaitOpAsync : (unit -> 'T) -> Async<'T> 10 | 11 | /// Enqueue an operation and return immediately. 12 | abstract EnqueueOp: (unit -> unit) -> unit 13 | 14 | /// Reactor is intended for long-running but interruptible operations, interleaved 15 | /// with one-off asynchronous operations. 16 | /// 17 | /// It is used to guard the global compiler state while maintaining responsiveness on 18 | /// the UI thread. 19 | module internal Reactor = 20 | 21 | /// Reactor operations 22 | [] 23 | type Reactor = 24 | 25 | /// Start background building using the given build function, which is called repeatedly 26 | /// until it returns 'false' 27 | member StartBackgroundOp : build:(unit -> bool) -> unit 28 | 29 | /// Halt the current implicit background operation 30 | member StopBackgroundOp : unit -> unit 31 | 32 | /// Block until the current implicit background build is complete. 33 | member WaitForBackgroundOpCompletion : unit -> unit 34 | 35 | /// Enqueue an operation and return immediately. 36 | member EnqueueOp : op:(unit -> unit) -> unit 37 | 38 | /// For debug purposes 39 | member CurrentQueueLength : int 40 | 41 | // TODO: For all AsyncOps: if the operation gets cancelled, the background thread and Reactor don't abandon their work, 42 | // even when it is ultimately an Eventually<_> compuation which could easily be abandoned, or an IncrementalBuild.Eval 43 | // operation which can be halted part way through. 44 | 45 | /// Put the operation in thq queue, and return an async handle to its result. 46 | member EnqueueAndAwaitOpAsync : (unit -> 'T) -> Async<'T> 47 | 48 | /// Get the reactor for FSharp.Compiler.dll 49 | val Reactor : unit -> Reactor 50 | 51 | -------------------------------------------------------------------------------- /src/fsharp/vs/ServiceConstants.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | namespace Microsoft.FSharp.Compiler.SourceCodeServices 4 | 5 | module internal ItemDescriptionIcons = 6 | 7 | // Hardwired constants from older versions of Visual Studio. These constants were used with Babel and VS internals. 8 | let iIconGroupClass = 0x0000 9 | let iIconGroupConstant = 0x0001 10 | let iIconGroupDelegate = 0x0002 11 | let iIconGroupEnum = 0x0003 12 | let iIconGroupEnumMember = 0x0004 13 | let iIconGroupEvent = 0x0005 14 | let iIconGroupException = 0x0006 15 | let iIconGroupFieldBlue = 0x0007 16 | let iIconGroupInterface = 0x0008 // Absolute = 48 17 | let iIconGroupTextLine = 0x0009 18 | let iIconGroupScript = 0x000a 19 | let iIconGroupScript2 = 0x000b 20 | let iIconGroupMethod = 0x000c 21 | let iIconGroupMethod2 = 0x000d 22 | let iIconGroupModule = 0x000e 23 | let iIconGroupNameSpace = 0x000f // Absolute = 90 24 | let iIconGroupFormula = 0x0010 25 | let iIconGroupProperty = 0x00011 26 | let iIconGroupStruct = 0x00012 27 | let iIconGroupTemplate = 0x00013 28 | let iIconGroupTypedef = 0x00014 29 | let iIconGroupType = 0x00015 30 | let iIconGroupUnion = 0x00016 31 | let iIconGroupVariable = 0x00017 32 | let iIconGroupValueType = 0x00018 // Absolute = 144 33 | let iIconGroupIntrinsic = 0x00019 34 | let iIconGroupError = 0x0001f 35 | let iIconGroupFieldYellow = 0x0020 36 | let iIconGroupMisc1 = 0x00021 37 | let iIconGroupMisc2 = 0x0022 38 | let iIconGroupMisc3 = 0x00023 39 | 40 | let iIconItemPublic = 0x0000 41 | let iIconItemInternal = 0x0001 42 | let iIconItemSpecial = 0x0002 43 | let iIconItemProtected = 0x0003 44 | let iIconItemPrivate = 0x0004 45 | let iIconItemShortCut = 0x0005 46 | let iIconItemNormal = iIconItemPublic 47 | 48 | let iIconBlackBox = 162 49 | let iIconLibrary = 163 50 | let iIconProgram = 164 51 | let iIconWebProgram = 165 52 | let iIconProgramEmpty = 166 53 | let iIconWebProgramEmpty = 167 54 | 55 | let iIconComponents = 168 56 | let iIconEnvironment = 169 57 | let iIconWindow = 170 58 | let iIconFolderOpen = 171 59 | let iIconFolder = 172 60 | let iIconArrowRight = 173 61 | 62 | let iIconAmbigious = 174 63 | let iIconShadowClass = 175 64 | let iIconShadowMethodPrivate = 176 65 | let iIconShadowMethodProtected = 177 66 | let iIconShadowMethod = 178 67 | let iIconInCompleteSource = 179 68 | -------------------------------------------------------------------------------- /src/fsharp/vs/ServiceParamInfoLocations.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | //---------------------------------------------------------------------------- 4 | // API to the compiler as an incremental service for parsing, 5 | // type checking and intellisense-like environment-reporting. 6 | //---------------------------------------------------------------------------- 7 | 8 | namespace Microsoft.FSharp.Compiler.SourceCodeServices 9 | 10 | open Microsoft.FSharp.Compiler 11 | open Microsoft.FSharp.Compiler.Range 12 | 13 | [] 14 | type (*internal*) FSharpNoteworthyParamInfoLocations = 15 | member LongId : string list 16 | member LongIdStartLocation : int * int 17 | member LongIdEndLocation : int * int 18 | member OpenParenLocation : int * int 19 | member TupleEndLocations : (int * int)[] // locations of commas and close parenthesis (or, last char of last arg, if no final close parenthesis) 20 | member IsThereACloseParen : bool // false if either this is a call without parens "f x" or the parser recovered as in "f(x,y" 21 | member NamedParamNames : string[] // null, or a name if an actual named parameter; f(0,a=4,?b=None) would be [|null;"a";"b"|] 22 | 23 | // implementation details used by other code in the compiler 24 | module internal NoteworthyParamInfoLocationsImpl = 25 | val internal FindNoteworthyParamInfoLocations : pos * Ast.ParsedInput -> FSharpNoteworthyParamInfoLocations option 26 | 27 | [] 28 | /// Renamed to FSharpNoteworthyParamInfoLocations 29 | type NoteworthyParamInfoLocations = FSharpNoteworthyParamInfoLocations 30 | -------------------------------------------------------------------------------- /src/ilx/EraseClosures.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Compiler use only. Erase closures 4 | module internal Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.EraseClosures 5 | 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.IL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX 9 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.Types 10 | 11 | val ConvModule: ILGlobals -> ILModuleDef -> ILModuleDef 12 | 13 | type cenv 14 | val mkILFuncTy : cenv -> ILType -> ILType -> ILType 15 | val mkILTyFuncTy : cenv -> ILType 16 | val new_cenv : ILGlobals -> cenv 17 | val mkTyOfLambdas: cenv -> IlxClosureLambdas -> ILType 18 | -------------------------------------------------------------------------------- /src/ilx/EraseUnions.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | // -------------------------------------------------------------------- 4 | // Compiler use only. Erase discriminated unions. 5 | // -------------------------------------------------------------------- 6 | 7 | module internal Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.EraseUnions 8 | 9 | open Microsoft.FSharp.Compiler.AbstractIL.IL 10 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.Types 11 | 12 | val ConvModule: ILGlobals -> ILModuleDef -> ILModuleDef 13 | val GetILTypeForAlternative : IlxUnionSpec -> int -> ILType 14 | -------------------------------------------------------------------------------- /src/ilx/ilxsettings.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.IlxSettings 4 | 5 | open Internal.Utilities 6 | open Microsoft.FSharp.Compiler.AbstractIL 7 | open Microsoft.FSharp.Compiler.AbstractIL.IL 8 | open Microsoft.FSharp.Compiler.AbstractIL.Internal 9 | open Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX 10 | 11 | type IlxCallImplementation = 12 | | VirtEntriesVirtCode 13 | 14 | //++GLOBAL MUTABLE STATE 15 | let ilxCompilingFSharpCoreLib = ref false 16 | 17 | //++GLOBAL MUTABLE STATE 18 | let ilxFsharpCoreLibAssemRef = ref (None : ILAssemblyRef option) 19 | 20 | /// Scope references for FSharp.Core.dll 21 | let ilxFsharpCoreLibScopeRef () = 22 | if !ilxCompilingFSharpCoreLib then 23 | ILScopeRef.Local 24 | else 25 | let assref = 26 | match !ilxFsharpCoreLibAssemRef with 27 | | Some o -> o 28 | | None -> 29 | // The exact public key token and version used here don't actually matter, or shouldn't. 30 | // ilxFsharpCoreLibAssemRef is only 'None' for startup code paths such as 31 | // IsSignatureDataVersionAttr, where matching is done by assembly name strings 32 | // rather then versions and tokens. 33 | ILAssemblyRef.Create("FSharp.Core", None, 34 | Some (PublicKeyToken(Bytes.ofInt32Array [| 0xb0; 0x3f; 0x5f; 0x7f; 0x11; 0xd5; 0x0a; 0x3a |])), 35 | false, 36 | Some (IL.parseILVersion "0.0.0.0"), None) 37 | ILScopeRef.Assembly assref 38 | 39 | let ilxNamespace () = "Microsoft.FSharp.Core" -------------------------------------------------------------------------------- /src/utils/filename.fs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | module internal Internal.Utilities.Filename 4 | 5 | open System.IO 6 | open Microsoft.FSharp.Compiler.AbstractIL.Internal.Library 7 | 8 | exception IllegalFileNameChar of string * char 9 | 10 | let illegalPathChars = Path.GetInvalidPathChars() 11 | 12 | let checkPathForIllegalChars (path:string) = 13 | for c in path do 14 | if illegalPathChars |> Array.exists(fun c1->c1=c) then 15 | raise(IllegalFileNameChar(path,c)) 16 | 17 | // Case sensitive (original behaviour preserved). 18 | let checkSuffix (x:string) (y:string) = x.EndsWith(y,System.StringComparison.Ordinal) 19 | 20 | let hasExtension (s:string) = 21 | checkPathForIllegalChars s 22 | (s.Length >= 1 && s.[s.Length - 1] = '.' && s <> ".." && s <> ".") 23 | || Path.HasExtension(s) 24 | 25 | let chopExtension (s:string) = 26 | checkPathForIllegalChars s 27 | if s = "." then "" else // for OCaml compatibility 28 | if not (hasExtension s) then 29 | raise (System.ArgumentException("chopExtension")) // message has to be precisely this, for OCaml compatibility, and no argument name can be set 30 | Path.Combine (Path.GetDirectoryName s,Path.GetFileNameWithoutExtension(s)) 31 | 32 | let directoryName (s:string) = 33 | checkPathForIllegalChars s 34 | if s = "" then "." 35 | else 36 | match Path.GetDirectoryName(s) with 37 | | null -> if FileSystem.IsPathRootedShim(s) then s else "." 38 | | res -> if res = "" then "." else res 39 | 40 | let fileNameOfPath s = 41 | checkPathForIllegalChars s 42 | Path.GetFileName(s) 43 | 44 | let fileNameWithoutExtension s = 45 | checkPathForIllegalChars s 46 | Path.GetFileNameWithoutExtension(s) 47 | -------------------------------------------------------------------------------- /src/utils/filename.fsi: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | /// Some filename operations. 4 | module internal Internal.Utilities.Filename 5 | 6 | exception IllegalFileNameChar of string * char 7 | 8 | /// "checkSuffix f s" returns true if filename "f" ends in suffix "s", 9 | /// e.g. checkSuffix "abc.fs" ".fs" returns true. 10 | val checkSuffix: string -> string -> bool 11 | 12 | /// "chopExtension f" removes the extension from the given 13 | /// filename. Raises ArgumentException if no extension is present. 14 | val chopExtension: string -> string 15 | 16 | /// "directoryName" " decomposes a filename into a directory name 17 | val directoryName: string -> string 18 | 19 | /// Return true if the filename has a "." extension 20 | val hasExtension: string -> bool 21 | 22 | /// Get the filename of the given path 23 | val fileNameOfPath: string -> string 24 | 25 | /// Get the filename without extenstion of the given path 26 | val fileNameWithoutExtension: string -> string 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/utils/unity3d.fs: -------------------------------------------------------------------------------- 1 | // Modules and Type Extensions that needed to be added for the Compiler Service to 2 | // run on the Unity .Net 3.5 Full Base Class Framework Profile 3 | 4 | namespace Internal 5 | 6 | 7 | open System 8 | open System.Text 9 | open System.Runtime.InteropServices 10 | 11 | [] 12 | module Extensions = 13 | type Lazy<'T> with 14 | member self.Force() = self.Value 15 | 16 | 17 | type StringBuilder with 18 | /// Convenience method for sb.Length <- 0 19 | member self.Clear() = 20 | self.Length <- 0 21 | self 22 | 23 | 24 | module Lazy = 25 | let force (x: Lazy<'T>) = x.Force() 26 | 27 | 28 | // Cribbed from http://referencesource.microsoft.com/#mscorlib/system/weakreferenceoft.cs,c575dbe300e57438 29 | // TODO finish implementing members 30 | type WeakReference<'T when 'T : not struct>(target:'T, ?trackResurrection:bool) = 31 | 32 | let mutable _target :'T = target 33 | 34 | member self.SetTarget(target:'T) = 35 | _target <- target 36 | 37 | member self.Target with get() = _target 38 | 39 | 40 | member self.TryGetTarget( [] target:byref<'T>) = 41 | let o = self.Target 42 | target <- o 43 | not (obj.ReferenceEquals(o,null)) 44 | 45 | new(target:'T) = WeakReference<'T>(target,false) 46 | 47 | 48 | -------------------------------------------------------------------------------- /tests/projects/Sample_MonoDevelop_3_2_8_Console/Sample_MonoDevelop_3_2_8_Console.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{4925A630-B079-445d-BCD4-3A9C94FE9307}") = "Sample_MonoDevelop_3_2_8_Console", "Sample_MonoDevelop_3_2_8_Console\Sample_MonoDevelop_3_2_8_Console.fsproj", "{6A6B7AF8-C2FB-4271-A1D1-0D16C3770949}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {6A6B7AF8-C2FB-4271-A1D1-0D16C3770949}.Debug|x86.ActiveCfg = Debug|x86 13 | {6A6B7AF8-C2FB-4271-A1D1-0D16C3770949}.Debug|x86.Build.0 = Debug|x86 14 | {6A6B7AF8-C2FB-4271-A1D1-0D16C3770949}.Release|x86.ActiveCfg = Release|x86 15 | {6A6B7AF8-C2FB-4271-A1D1-0D16C3770949}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(MonoDevelopProperties) = preSolution 18 | StartupItem = Sample_MonoDevelop_3_2_8_Console\Sample_MonoDevelop_3_2_8_Console.fsproj 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_MonoDevelop_3_2_8_Console/Sample_MonoDevelop_3_2_8_Console/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | module Sample_MonoDevelop_3_2_8_Console.AssemblyInfo 2 | open System.Reflection 3 | open System.Runtime.CompilerServices 4 | 5 | 6 | [] 7 | [] 8 | [] 9 | [] 10 | [] 11 | [] 12 | [] 13 | 14 | // The assembly version has the format {Major}.{Minor}.{Build}.{Revision} 15 | 16 | [] 17 | 18 | //[] 19 | //[] 20 | 21 | () 22 | 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_MonoDevelop_3_2_8_Console/Sample_MonoDevelop_3_2_8_Console/Program.fs: -------------------------------------------------------------------------------- 1 | 2 | // NOTE: If warnings appear, you may need to retarget this project to .NET 4.0. Show the Solution 3 | // Pad, right-click on the project node, choose 'Options --> Build --> General' and change the target 4 | // framework to .NET 4.0 or .NET 4.5. 5 | 6 | module Sample_MonoDevelop_3_2_8_Console.Main 7 | 8 | open System 9 | 10 | let someFunction x y = x + y 11 | 12 | [] 13 | let main args = 14 | Console.WriteLine("Hello world!") 15 | 0 16 | 17 | -------------------------------------------------------------------------------- /tests/projects/Sample_MonoDevelop_3_2_8_Console/Sample_MonoDevelop_3_2_8_Console/Sample_MonoDevelop_3_2_8_Console.fsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 10.0.0 7 | 2.0 8 | {6A6B7AF8-C2FB-4271-A1D1-0D16C3770949} 9 | Exe 10 | Sample_MonoDevelop_3_2_8_Console 11 | Sample_MonoDevelop_3_2_8_Console 12 | v4.5 13 | 14 | 15 | true 16 | full 17 | bin\Debug 18 | DEBUG 19 | prompt 20 | True 21 | x86 22 | 23 | 24 | true 25 | pdbonly 26 | true 27 | bin\Release 28 | prompt 29 | True 30 | x86 31 | true 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2010_FSharp_ConsoleApp_net35/SampleVisualStudio2010FSharpConsoleApp.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "SampleVisualStudio2010FSharpConsoleApp", "SampleVisualStudio2010FSharpConsoleApp\SampleVisualStudio2010FSharpConsoleApp.fsproj", "{116CC2F9-F987-4B3D-915A-34CAC04A73DA}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.ActiveCfg = Debug|x86 13 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.Build.0 = Debug|x86 14 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.ActiveCfg = Release|x86 15 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2010_FSharp_ConsoleApp_net35/SampleVisualStudio2010FSharpConsoleApp/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2010, targeting .NET 3.5 2 | 3 | // On Windows, the build should target 4 | // -r:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll" 5 | // -r:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll" 6 | // and should reference one of these depending on the language version of F# being used 7 | // Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll 8 | // Program Files\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v2.0\FSharp.Core.dll 9 | // 10 | // On Mac, you'll get 11 | // 12 | // -r:"/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/2.0/FSharp.Core.dll" 13 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/2.0/mscorlib.dll" 14 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/2.0/System.dll" 15 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/2.0/System.Core.dll" 16 | 17 | module M 18 | 19 | [] 20 | let main args = 21 | System.Console.WriteLine "Hello world" 22 | 0 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2010_FSharp_ConsoleApp_net35/SampleVisualStudio2010FSharpConsoleApp/SampleVisualStudio2010FSharpConsoleApp.fsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {116cc2f9-f987-4b3d-915a-34cac04a73da} 9 | Exe 10 | SampleVisualStudio2010FSharpConsoleApp 11 | SampleVisualStudio2010FSharpConsoleApp 12 | v3.5 13 | SampleVisualStudio2010FSharpConsoleApp 14 | false 15 | 16 | 17 | true 18 | full 19 | false 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | 3 24 | x86 25 | bin\Debug\SampleVisualStudio2010FSharpConsoleApp.XML 26 | 27 | 28 | pdbonly 29 | true 30 | true 31 | bin\Release\ 32 | TRACE 33 | 3 34 | x86 35 | bin\Release\SampleVisualStudio2010FSharpConsoleApp.XML 36 | false 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 56 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2010_FSharp_ConsoleApp_net40/SampleVisualStudio2010FSharpConsoleApp.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "SampleVisualStudio2010FSharpConsoleApp", "SampleVisualStudio2010FSharpConsoleApp\SampleVisualStudio2010FSharpConsoleApp.fsproj", "{116CC2F9-F987-4B3D-915A-34CAC04A73DA}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.ActiveCfg = Debug|x86 13 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.Build.0 = Debug|x86 14 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.ActiveCfg = Release|x86 15 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2010_FSharp_ConsoleApp_net40/SampleVisualStudio2010FSharpConsoleApp/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, included for testing purposes. 2 | 3 | 4 | [] 5 | let main args = 6 | System.Console.WriteLine "Hello world" 7 | printfn "Hello world" 8 | 0 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net35/SampleVisualStudio2010FSharpConsoleApp.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "SampleVisualStudio2010FSharpConsoleApp", "SampleVisualStudio2010FSharpConsoleApp\SampleVisualStudio2010FSharpConsoleApp.fsproj", "{116CC2F9-F987-4B3D-915A-34CAC04A73DA}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.ActiveCfg = Debug|x86 13 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Debug|x86.Build.0 = Debug|x86 14 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.ActiveCfg = Release|x86 15 | {116CC2F9-F987-4B3D-915A-34CAC04A73DA}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net35/SampleVisualStudio2010FSharpConsoleApp/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, included for testing purposes. 2 | 3 | [] 4 | let main args = 5 | System.Console.WriteLine "Hello world" 6 | 0 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40/Sample_VS2012_FSharp_ConsoleApp_net40.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_ConsoleApp_net40", "Sample_VS2012_FSharp_ConsoleApp_net40\Sample_VS2012_FSharp_ConsoleApp_net40.fsproj", "{563C9D5C-966A-4121-84BA-3EF62626D999}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40/Sample_VS2012_FSharp_ConsoleApp_net40/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40/Sample_VS2012_FSharp_ConsoleApp_net40/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, targeting .NET 4.0 2 | 3 | // On Windows, the build should reference 4 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" 5 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" 6 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll" 7 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Numerics.dll" 8 | // and should reference one of these depending on the language version of F# being used 9 | // -r:"C:Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll" 10 | // -r:"C:Program Files\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\FSharp.Core.dll" 11 | // 12 | // On Mac, you'll get something like this: 13 | // -r:"/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/FSharp.Core.dll" 14 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/mscorlib.dll" 15 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.dll" 16 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.Core.dll" 17 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.Numerics.dll" 18 | 19 | module M 20 | 21 | type C() = 22 | member val x = 1 23 | 24 | System.Console.WriteLine "Helo World" 25 | 26 | 27 | [] 28 | let main argv = 29 | printfn "%A" argv 30 | 0 // return an integer exit code 31 | 32 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013", "Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013\Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013.fsproj", "{563C9D5C-966A-4121-84BA-3EF62626D999}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {563C9D5C-966A-4121-84BA-3EF62626D999}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013/Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, targeting .NET 4.0 2 | 3 | // On Windows, the build should reference 4 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" 5 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" 6 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll" 7 | // -r:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Numerics.dll" 8 | // and should reference one of these depending on the language version of F# being used 9 | // -r:"C:Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll" 10 | // -r:"C:Program Files\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\FSharp.Core.dll" 11 | // 12 | // On Mac, you'll get something like this: 13 | // -r:"/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.0/FSharp.Core.dll" 14 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/mscorlib.dll" 15 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.dll" 16 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.Core.dll" 17 | // -r:"/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/4.0/System.Numerics.dll" 18 | 19 | module M 20 | 21 | type C() = 22 | member val x = 1 23 | 24 | System.Console.WriteLine "Helo World" 25 | 26 | 27 | [] 28 | let main argv = 29 | printfn "%A" argv 30 | 0 // return an integer exit code 31 | 32 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45/Sample_VS2012_FSharp_ConsoleApp_net45.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_ConsoleApp_net45", "Sample_VS2012_FSharp_ConsoleApp_net45\Sample_VS2012_FSharp_ConsoleApp_net45.fsproj", "{B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45/Sample_VS2012_FSharp_ConsoleApp_net45/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45/Sample_VS2012_FSharp_ConsoleApp_net45/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, targeting .NET 4.5 2 | 3 | // At time of submission it won't build by default because MD doesn't support .NET 4.5 as yet 4 | 5 | [] 6 | let main argv = 7 | printfn "%A" argv 8 | 0 // return an integer exit code 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/NOTE.txt: -------------------------------------------------------------------------------- 1 | 2 | Tests a project file with a resource. 3 | 4 | You should see 5 | --resource:obj/Debug/Sample_VS2012_FSharp_ConsoleApp_net45.resource.txt 6 | 7 | on the command line when you run xbuild on the .fsproj file 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/Sample_VS2012_FSharp_ConsoleApp_net45.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_ConsoleApp_net45", "Sample_VS2012_FSharp_ConsoleApp_net45\Sample_VS2012_FSharp_ConsoleApp_net45.fsproj", "{B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {B5B8C6FD-D77D-46E6-A9C5-5D78200668CC}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/Sample_VS2012_FSharp_ConsoleApp_net45/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/Sample_VS2012_FSharp_ConsoleApp_net45/Program.fs: -------------------------------------------------------------------------------- 1 | // This is a sample F# app created in Visual Studio 2012, targeting .NET 4.5 2 | 3 | // At time of submission it won't build by default because MD doesn't support .NET 4.5 as yet 4 | 5 | [] 6 | let main argv = 7 | printfn "%A" argv 8 | 0 // return an integer exit code 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/Sample_VS2012_FSharp_ConsoleApp_net45/content.txt: -------------------------------------------------------------------------------- 1 | hello world content 2 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_ConsoleApp_net45_with_resource/Sample_VS2012_FSharp_ConsoleApp_net45/resource.txt: -------------------------------------------------------------------------------- 1 | hello world 2 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2012_FSharp_Portable_Library 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library/Sample_VS2012_FSharp_Portable_Library.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_Portable_Library", "Sample_VS2012_FSharp_Portable_Library.fsproj", "{CE7E16A8-8D0D-4AE5-A1F8-906D6AEEE094}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {CE7E16A8-8D0D-4AE5-A1F8-906D6AEEE094}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {CE7E16A8-8D0D-4AE5-A1F8-906D6AEEE094}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {CE7E16A8-8D0D-4AE5-A1F8-906D6AEEE094}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {CE7E16A8-8D0D-4AE5-A1F8-906D6AEEE094}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2012_FSharp_Portable_Library 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library_upgraded_2013/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2012_FSharp_Portable_Library_upgraded_2013 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library_upgraded_2013/Sample_VS2012_FSharp_Portable_Library_upgraded_2013.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30110.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2012_FSharp_Portable_Library_upgraded_2013", "Sample_VS2012_FSharp_Portable_Library_upgraded_2013.fsproj", "{2BDA2A08-0156-42D3-BEBE-3D7C80F7BACA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {2BDA2A08-0156-42D3-BEBE-3D7C80F7BACA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {2BDA2A08-0156-42D3-BEBE-3D7C80F7BACA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {2BDA2A08-0156-42D3-BEBE-3D7C80F7BACA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {2BDA2A08-0156-42D3-BEBE-3D7C80F7BACA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2012_FSharp_Portable_Library_upgraded_2013/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2012_FSharp_Portable_Library_upgraded_2013 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net40/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net40/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net40/Sample_VS2013_FSharp_ConsoleApp_net40.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_ConsoleApp_net40", "Sample_VS2013_FSharp_ConsoleApp_net40.fsproj", "{0C351344-E446-4B36-98A1-BAD9B3CE9846}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {0C351344-E446-4B36-98A1-BAD9B3CE9846}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {0C351344-E446-4B36-98A1-BAD9B3CE9846}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {0C351344-E446-4B36-98A1-BAD9B3CE9846}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {0C351344-E446-4B36-98A1-BAD9B3CE9846}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net45/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net45/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net45/Sample_VS2013_FSharp_ConsoleApp_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_ConsoleApp_net45", "Sample_VS2013_FSharp_ConsoleApp_net45.fsproj", "{74530562-D829-4A14-9B97-546361F5FC26}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {74530562-D829-4A14-9B97-546361F5FC26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {74530562-D829-4A14-9B97-546361F5FC26}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {74530562-D829-4A14-9B97-546361F5FC26}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {74530562-D829-4A14-9B97-546361F5FC26}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net451/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net451/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_ConsoleApp_net451/Sample_VS2013_FSharp_ConsoleApp_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_ConsoleApp_net451", "Sample_VS2013_FSharp_ConsoleApp_net451.fsproj", "{E4F593F3-04FE-455E-BE2F-E693F3A5704C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {E4F593F3-04FE-455E-BE2F-E693F3A5704C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {E4F593F3-04FE-455E-BE2F-E693F3A5704C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {E4F593F3-04FE-455E-BE2F-E693F3A5704C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {E4F593F3-04FE-455E-BE2F-E693F3A5704C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net40/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Library_net40 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net40/Sample_VS2013_FSharp_Library_net40.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Library_net40", "Sample_VS2013_FSharp_Library_net40.fsproj", "{5C7660C1-BB28-4D88-A653-0CC8A2064854}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {5C7660C1-BB28-4D88-A653-0CC8A2064854}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {5C7660C1-BB28-4D88-A653-0CC8A2064854}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {5C7660C1-BB28-4D88-A653-0CC8A2064854}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {5C7660C1-BB28-4D88-A653-0CC8A2064854}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net40/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2013_FSharp_Library_net40 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net45/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Library_net45 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net45/Sample_VS2013_FSharp_Library_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Library_net45", "Sample_VS2013_FSharp_Library_net45.fsproj", "{FB12397E-FE25-4DB4-B20C-FF75EEC6BBA7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FB12397E-FE25-4DB4-B20C-FF75EEC6BBA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {FB12397E-FE25-4DB4-B20C-FF75EEC6BBA7}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {FB12397E-FE25-4DB4-B20C-FF75EEC6BBA7}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {FB12397E-FE25-4DB4-B20C-FF75EEC6BBA7}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net45/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2013_FSharp_Library_net45 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net451/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Library_net451 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net451/Sample_VS2013_FSharp_Library_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Library_net451", "Sample_VS2013_FSharp_Library_net451.fsproj", "{CB3B174A-3EC3-47E8-80EF-18BB00BD6A12}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {CB3B174A-3EC3-47E8-80EF-18BB00BD6A12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {CB3B174A-3EC3-47E8-80EF-18BB00BD6A12}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {CB3B174A-3EC3-47E8-80EF-18BB00BD6A12}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {CB3B174A-3EC3-47E8-80EF-18BB00BD6A12}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Library_net451/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2013_FSharp_Library_net451 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net40/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_Legacy_net40 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net40/Sample_VS2013_FSharp_Portable_Library_Legacy_net40.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_Legacy_net40", "Sample_VS2013_FSharp_Portable_Library_Legacy_net40.fsproj", "{E899E920-1804-47D5-AC77-541ACCF03070}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {E899E920-1804-47D5-AC77-541ACCF03070}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {E899E920-1804-47D5-AC77-541ACCF03070}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {E899E920-1804-47D5-AC77-541ACCF03070}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {E899E920-1804-47D5-AC77-541ACCF03070}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net40/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_Legacy_net40 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net45/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_Legacy_net45 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net45/Sample_VS2013_FSharp_Portable_Library_Legacy_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_Legacy_net45", "Sample_VS2013_FSharp_Portable_Library_Legacy_net45.fsproj", "{A63D0E40-3FAC-4E69-A13E-CAEB73B17516}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A63D0E40-3FAC-4E69-A13E-CAEB73B17516}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {A63D0E40-3FAC-4E69-A13E-CAEB73B17516}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {A63D0E40-3FAC-4E69-A13E-CAEB73B17516}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {A63D0E40-3FAC-4E69-A13E-CAEB73B17516}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net45/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_Legacy_net45 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net451/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_Legacy_net451 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net451/Sample_VS2013_FSharp_Portable_Library_Legacy_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_Legacy_net451", "Sample_VS2013_FSharp_Portable_Library_Legacy_net451.fsproj", "{7725EECA-3A8C-4E2F-ADCE-5E8D086C4228}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {7725EECA-3A8C-4E2F-ADCE-5E8D086C4228}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {7725EECA-3A8C-4E2F-ADCE-5E8D086C4228}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {7725EECA-3A8C-4E2F-ADCE-5E8D086C4228}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {7725EECA-3A8C-4E2F-ADCE-5E8D086C4228}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_Legacy_net451/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_Legacy_net451 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net45/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_net45 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net45/Sample_VS2013_FSharp_Portable_Library_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_net45", "Sample_VS2013_FSharp_Portable_Library_net45.fsproj", "{B63D9F75-A5E2-44C6-A182-F612EE2B3D0C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B63D9F75-A5E2-44C6-A182-F612EE2B3D0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {B63D9F75-A5E2-44C6-A182-F612EE2B3D0C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {B63D9F75-A5E2-44C6-A182-F612EE2B3D0C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {B63D9F75-A5E2-44C6-A182-F612EE2B3D0C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net45/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_net45 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_net451 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451/Sample_VS2013_FSharp_Portable_Library_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_net451", "Sample_VS2013_FSharp_Portable_Library_net451.fsproj", "{1B9989FF-645A-4CBD-BA59-DB5C201A6607}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_net451 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile259/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_net451 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile259/Sample_VS2013_FSharp_Portable_Library_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_net451", "Sample_VS2013_FSharp_Portable_Library_net451.fsproj", "{1B9989FF-645A-4CBD-BA59-DB5C201A6607}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile259/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_net451 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile78/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2013_FSharp_Portable_Library_net451 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile78/Sample_VS2013_FSharp_Portable_Library_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2013_FSharp_Portable_Library_net451", "Sample_VS2013_FSharp_Portable_Library_net451.fsproj", "{1B9989FF-645A-4CBD-BA59-DB5C201A6607}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {1B9989FF-645A-4CBD-BA59-DB5C201A6607}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile78/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.net. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2013_FSharp_Portable_Library_net451 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net40/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net40/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Console_App_net40.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net40/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net40/Sample_VS2015_FSharp_Console_App_net40.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Console_App_net40", "Sample_VS2015_FSharp_Console_App_net40.fsproj", "{FB1619A2-05EF-4599-90E0-29E6AD469B1B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FB1619A2-05EF-4599-90E0-29E6AD469B1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {FB1619A2-05EF-4599-90E0-29E6AD469B1B}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {FB1619A2-05EF-4599-90E0-29E6AD469B1B}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {FB1619A2-05EF-4599-90E0-29E6AD469B1B}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net45/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net45/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Console_App_net45.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net45/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net45/Sample_VS2015_FSharp_Console_App_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Console_App_net45", "Sample_VS2015_FSharp_Console_App_net45.fsproj", "{B92EBE2E-23F6-49B2-9E79-F1104DE1DDEB}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B92EBE2E-23F6-49B2-9E79-F1104DE1DDEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {B92EBE2E-23F6-49B2-9E79-F1104DE1DDEB}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {B92EBE2E-23F6-49B2-9E79-F1104DE1DDEB}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {B92EBE2E-23F6-49B2-9E79-F1104DE1DDEB}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net451/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net451/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Console_App_net451.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net451/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net451/Sample_VS2015_FSharp_Console_App_net451.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Console_App_net451", "Sample_VS2015_FSharp_Console_App_net451.fsproj", "{361D29D1-5896-446B-A9F5-59F7F25CDDC2}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {361D29D1-5896-446B-A9F5-59F7F25CDDC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {361D29D1-5896-446B-A9F5-59F7F25CDDC2}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {361D29D1-5896-446B-A9F5-59F7F25CDDC2}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {361D29D1-5896-446B-A9F5-59F7F25CDDC2}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net452/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net452/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Console_App_net452.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net452/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net452/Sample_VS2015_FSharp_Console_App_net452.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Console_App_net452", "Sample_VS2015_FSharp_Console_App_net452.fsproj", "{61501D08-5718-43F0-B0E6-39DA0B7AC4A9}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {61501D08-5718-43F0-B0E6-39DA0B7AC4A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {61501D08-5718-43F0-B0E6-39DA0B7AC4A9}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {61501D08-5718-43F0-B0E6-39DA0B7AC4A9}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {61501D08-5718-43F0-B0E6-39DA0B7AC4A9}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net46/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net46/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Console_App_net46.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net46/Program.fs: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org 2 | // See the 'F# Tutorial' project for more help. 3 | 4 | [] 5 | let main argv = 6 | printfn "%A" argv 7 | 0 // return an integer exit code 8 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Console_App_net46/Sample_VS2015_FSharp_Console_App_net46.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Console_App_net46", "Sample_VS2015_FSharp_Console_App_net46.fsproj", "{ACB52518-8086-448D-BF0A-EAB1C2CF852F}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {ACB52518-8086-448D-BF0A-EAB1C2CF852F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {ACB52518-8086-448D-BF0A-EAB1C2CF852F}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {ACB52518-8086-448D-BF0A-EAB1C2CF852F}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {ACB52518-8086-448D-BF0A-EAB1C2CF852F}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net40/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net40.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net40/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net40 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net40/Sample_VS2015_FSharp_Library_net40.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Library_net40", "Sample_VS2015_FSharp_Library_net40.fsproj", "{38FE8D84-4720-4089-9DFC-2A3BCF1B24E7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {38FE8D84-4720-4089-9DFC-2A3BCF1B24E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {38FE8D84-4720-4089-9DFC-2A3BCF1B24E7}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {38FE8D84-4720-4089-9DFC-2A3BCF1B24E7}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {38FE8D84-4720-4089-9DFC-2A3BCF1B24E7}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net40/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2015_FSharp_Library_net40 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45/Sample_VS2015_FSharp_Library_net45.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Library_net45", "Sample_VS2015_FSharp_Library_net45.fsproj", "{7114EB5B-C1E0-476A-B384-25BB209DF8AE}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {7114EB5B-C1E0-476A-B384-25BB209DF8AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {7114EB5B-C1E0-476A-B384-25BB209DF8AE}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {7114EB5B-C1E0-476A-B384-25BB209DF8AE}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {7114EB5B-C1E0-476A-B384-25BB209DF8AE}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2015_FSharp_Library_net45 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_30/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45_fsharp_30.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_30/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45_fsharp_30 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_30/Sample_VS2015_FSharp_Library_net45_fsharp_30.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Library_net45_fsharp_30", "Sample_VS2015_FSharp_Library_net45_fsharp_30.fsproj", "{D2DA9CC5-3E34-4B14-86AC-EF468A8DC64B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D2DA9CC5-3E34-4B14-86AC-EF468A8DC64B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {D2DA9CC5-3E34-4B14-86AC-EF468A8DC64B}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {D2DA9CC5-3E34-4B14-86AC-EF468A8DC64B}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {D2DA9CC5-3E34-4B14-86AC-EF468A8DC64B}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_30/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2015_FSharp_Library_net45_fsharp_30 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_31/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45_fsharp_31.AssemblyInfo 2 | 3 | open System.Reflection 4 | open System.Runtime.CompilerServices 5 | open System.Runtime.InteropServices 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [] 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | 19 | // Setting ComVisible to false makes the types in this assembly not visible 20 | // to COM components. If you need to access a type in this assembly from 21 | // COM, set the ComVisible attribute to true on that type. 22 | [] 23 | 24 | // The following GUID is for the ID of the typelib if this project is exposed to COM 25 | [] 26 | 27 | // Version information for an assembly consists of the following four values: 28 | // 29 | // Major Version 30 | // Minor Version 31 | // Build Number 32 | // Revision 33 | // 34 | // You can specify all the values or you can default the Build and Revision Numbers 35 | // by using the '*' as shown below: 36 | // [] 37 | [] 38 | [] 39 | 40 | do 41 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_31/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Library_net45_fsharp_31 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_31/Sample_VS2015_FSharp_Library_net45_fsharp_31.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Library_net45_fsharp_31", "Sample_VS2015_FSharp_Library_net45_fsharp_31.fsproj", "{9A5F1C40-A185-429A-B1AA-F43C8B839E6A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {9A5F1C40-A185-429A-B1AA-F43C8B839E6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {9A5F1C40-A185-429A-B1AA-F43C8B839E6A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {9A5F1C40-A185-429A-B1AA-F43C8B839E6A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {9A5F1C40-A185-429A-B1AA-F43C8B839E6A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Library_net45_fsharp_31/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "Library1.fs" 5 | open Sample_VS2015_FSharp_Library_net45_fsharp_31 6 | 7 | // Define your library scripting code here 8 | 9 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable259_Library/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable259_Library.AssemblyInfo 2 | 3 | open System.Resources 4 | open System.Reflection 5 | open System.Runtime.CompilerServices 6 | open System.Runtime.InteropServices 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | [] 19 | [] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [] 31 | [] 32 | [] 33 | 34 | do 35 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable259_Library/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable259_Library 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable259_Library/Sample_VS2015_FSharp_Portable259_Library.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Portable259_Library", "Sample_VS2015_FSharp_Portable259_Library.fsproj", "{A7F12D45-4552-4D8A-A3DA-CB4A4E40DB58}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A7F12D45-4552-4D8A-A3DA-CB4A4E40DB58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {A7F12D45-4552-4D8A-A3DA-CB4A4E40DB58}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {A7F12D45-4552-4D8A-A3DA-CB4A4E40DB58}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {A7F12D45-4552-4D8A-A3DA-CB4A4E40DB58}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable259_Library/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2015_FSharp_Portable259_Library 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable47_Library/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable47_Library.AssemblyInfo 2 | 3 | open System.Resources 4 | open System.Reflection 5 | open System.Runtime.CompilerServices 6 | open System.Runtime.InteropServices 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | [] 19 | [] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [] 31 | [] 32 | [] 33 | 34 | do 35 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable47_Library/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable47_Library 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable47_Library/Sample_VS2015_FSharp_Portable47_Library.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Portable47_Library", "Sample_VS2015_FSharp_Portable47_Library.fsproj", "{4BD1ABAC-55F2-4AE6-B562-FE68EE86134D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4BD1ABAC-55F2-4AE6-B562-FE68EE86134D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {4BD1ABAC-55F2-4AE6-B562-FE68EE86134D}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {4BD1ABAC-55F2-4AE6-B562-FE68EE86134D}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {4BD1ABAC-55F2-4AE6-B562-FE68EE86134D}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable47_Library/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2015_FSharp_Portable47_Library 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable78_Library/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable78_Library.AssemblyInfo 2 | 3 | open System.Resources 4 | open System.Reflection 5 | open System.Runtime.CompilerServices 6 | open System.Runtime.InteropServices 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | [] 19 | [] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [] 31 | [] 32 | [] 33 | 34 | do 35 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable78_Library/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable78_Library 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable78_Library/Sample_VS2015_FSharp_Portable78_Library.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Portable78_Library", "Sample_VS2015_FSharp_Portable78_Library.fsproj", "{A5BBC2B7-8130-49E1-AF64-8FDB3C1D6F00}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A5BBC2B7-8130-49E1-AF64-8FDB3C1D6F00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {A5BBC2B7-8130-49E1-AF64-8FDB3C1D6F00}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {A5BBC2B7-8130-49E1-AF64-8FDB3C1D6F00}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {A5BBC2B7-8130-49E1-AF64-8FDB3C1D6F00}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable78_Library/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2015_FSharp_Portable78_Library 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable7_Library/AssemblyInfo.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable7_Library.AssemblyInfo 2 | 3 | open System.Resources 4 | open System.Reflection 5 | open System.Runtime.CompilerServices 6 | open System.Runtime.InteropServices 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [] 12 | [] 13 | [] 14 | [] 15 | [] 16 | [] 17 | [] 18 | [] 19 | [] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [] 31 | [] 32 | [] 33 | 34 | do 35 | () -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable7_Library/PortableLibrary1.fs: -------------------------------------------------------------------------------- 1 | namespace Sample_VS2015_FSharp_Portable7_Library 2 | 3 | type Class1() = 4 | member this.X = "F#" 5 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable7_Library/Sample_VS2015_FSharp_Portable7_Library.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Sample_VS2015_FSharp_Portable7_Library", "Sample_VS2015_FSharp_Portable7_Library.fsproj", "{FD3DAE06-92B6-4BB6-8609-85C9D9C904EC}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FD3DAE06-92B6-4BB6-8609-85C9D9C904EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {FD3DAE06-92B6-4BB6-8609-85C9D9C904EC}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {FD3DAE06-92B6-4BB6-8609-85C9D9C904EC}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {FD3DAE06-92B6-4BB6-8609-85C9D9C904EC}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /tests/projects/Sample_VS2015_FSharp_Portable7_Library/Script.fsx: -------------------------------------------------------------------------------- 1 | // Learn more about F# at http://fsharp.org. See the 'F# Tutorial' project 2 | // for more guidance on F# programming. 3 | 4 | #load "PortableLibrary1.fs" 5 | open Sample_VS2015_FSharp_Portable7_Library 6 | 7 | -------------------------------------------------------------------------------- /tests/projects/build.sh: -------------------------------------------------------------------------------- 1 | (cd Sample_MonoDevelop_3_2_8_Console && xbuild) && 2 | #(cd Sample_VS2010_FSharp_ConsoleApp_net35 && xbuild) && 3 | (cd Sample_VS2010_FSharp_ConsoleApp_net40 && xbuild) && 4 | #(cd Sample_VS2012_FSharp_ConsoleApp_net35 && xbuild) && 5 | (cd Sample_VS2012_FSharp_ConsoleApp_net40 && xbuild) && 6 | (cd Sample_VS2012_FSharp_ConsoleApp_net45 && xbuild) && 7 | (cd Sample_VS2012_FSharp_ConsoleApp_net45_with_resource && xbuild) && 8 | (cd Sample_VS2012_FSharp_Portable_Library && xbuild) && 9 | (cd Sample_VS2013_FSharp_ConsoleApp_net40 && xbuild) && 10 | (cd Sample_VS2013_FSharp_ConsoleApp_net45 && xbuild) && 11 | (cd Sample_VS2013_FSharp_ConsoleApp_net451 && xbuild) && 12 | (cd Sample_VS2013_FSharp_Library_net40 && xbuild) && 13 | (cd Sample_VS2013_FSharp_Library_net45 && xbuild) && 14 | (cd Sample_VS2013_FSharp_Library_net451 && xbuild) && 15 | (cd Sample_VS2013_FSharp_Portable_Library_Legacy_net40 && xbuild) && 16 | (cd Sample_VS2013_FSharp_Portable_Library_Legacy_net45 && xbuild) && 17 | (cd Sample_VS2013_FSharp_Portable_Library_Legacy_net451 && xbuild) && 18 | (cd Sample_VS2013_FSharp_Portable_Library_net45 && xbuild) && 19 | (cd Sample_VS2013_FSharp_Portable_Library_net451 && xbuild) && 20 | (cd Sample_VS2012_FSharp_ConsoleApp_net40_upgraded_VS2013 && xbuild) && 21 | (cd Sample_VS2012_FSharp_Portable_Library_upgraded_2013 && xbuild) && 22 | (cd Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile78 && xbuild) && 23 | (cd Sample_VS2015_FSharp_Console_App_net40 && xbuild) && 24 | (cd Sample_VS2015_FSharp_Console_App_net45 && xbuild) && 25 | (cd Sample_VS2015_FSharp_Console_App_net451 && xbuild) && 26 | (cd Sample_VS2015_FSharp_Console_App_net452 && xbuild) && 27 | (cd Sample_VS2015_FSharp_Library_net40 && xbuild) && 28 | (cd Sample_VS2015_FSharp_Library_net45 && xbuild) && 29 | (cd Sample_VS2015_FSharp_Library_net45_fsharp_30 && xbuild) && 30 | (cd Sample_VS2015_FSharp_Library_net45_fsharp_31 && xbuild) && 31 | (cd Sample_VS2015_FSharp_Portable7_Library && xbuild) && 32 | (cd Sample_VS2015_FSharp_Portable47_Library && xbuild) && 33 | (cd Sample_VS2015_FSharp_Portable78_Library && xbuild) && 34 | (cd Sample_VS2015_FSharp_Portable259_Library && xbuild) && 35 | echo "all projects built successfully" 36 | 37 | 38 | # Profile 259 not yet available on CI server Mono installation: 39 | # (cd Sample_VS2013_FSharp_Portable_Library_net451_adjusted_to_profile259 && xbuild) 40 | 41 | 42 | -------------------------------------------------------------------------------- /tests/service/FSharp.Compiler.Interactive.Settings.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/tests/service/FSharp.Compiler.Interactive.Settings.dll -------------------------------------------------------------------------------- /tests/service/FSharp.Data.DesignTime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/tests/service/FSharp.Data.DesignTime.dll -------------------------------------------------------------------------------- /tests/service/FSharp.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/tests/service/FSharp.Data.dll -------------------------------------------------------------------------------- /tests/service/FsUnit.fs: -------------------------------------------------------------------------------- 1 | module FsUnit 2 | 3 | open System.Diagnostics 4 | open NUnit.Framework 5 | open NUnit.Framework.Constraints 6 | 7 | [] 8 | let should (f : 'a -> #Constraint) x (y : obj) = 9 | let c = f x 10 | let y = 11 | match y with 12 | | :? (unit -> unit) -> box (new TestDelegate(y :?> unit -> unit)) 13 | | _ -> y 14 | Assert.That(y, c) 15 | 16 | let equal x = new EqualConstraint(x) 17 | 18 | // like "should equal", but validates same-type 19 | let shouldEqual (x: 'a) (y: 'a) = Assert.AreEqual(x, y, sprintf "Expected: %A\nActual: %A" x y) 20 | 21 | let notEqual x = new NotConstraint(new EqualConstraint(x)) 22 | 23 | let contain x = new ContainsConstraint(x) 24 | 25 | let haveLength n = Has.Length.EqualTo(n) 26 | 27 | let haveCount n = Has.Count.EqualTo(n) 28 | 29 | let endWith (s:string) = new EndsWithConstraint(s) 30 | 31 | let startWith (s:string) = new StartsWithConstraint(s) 32 | 33 | let be = id 34 | 35 | let Null = new NullConstraint() 36 | 37 | let Empty = new EmptyConstraint() 38 | 39 | let EmptyString = new EmptyStringConstraint() 40 | 41 | let NullOrEmptyString = new NullOrEmptyStringConstraint() 42 | 43 | let True = new TrueConstraint() 44 | 45 | let False = new FalseConstraint() 46 | 47 | let sameAs x = new SameAsConstraint(x) 48 | 49 | let throw = Throws.TypeOf -------------------------------------------------------------------------------- /tests/service/System.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FsUnity/Unity3d.FSharp.Compiler.Service/ab17b7637eb6f3637bfcc04f96efcd2d697692f2/tests/service/System.Data.dll -------------------------------------------------------------------------------- /tests/service/TokenizerTests.fs: -------------------------------------------------------------------------------- 1 |  2 | #if INTERACTIVE 3 | #r "../../bin/v4.5/FSharp.Compiler.Service.dll" 4 | #r "../../packages/NUnit/lib/nunit.framework.dll" 5 | #load "FsUnit.fs" 6 | #load "Common.fs" 7 | #else 8 | module FSharp.Compiler.Service.Tests.TokenizerTests 9 | #endif 10 | 11 | open Microsoft.FSharp.Compiler 12 | open Microsoft.FSharp.Compiler.Interactive.Shell 13 | open Microsoft.FSharp.Compiler.SourceCodeServices 14 | 15 | open NUnit.Framework 16 | open FsUnit 17 | open System 18 | open System.IO 19 | 20 | 21 | let sourceTok = FSharpSourceTokenizer([], "C:\\test.fsx") 22 | 23 | let tokenizeLines (lines:string[]) = 24 | [ let state = ref 0L 25 | for n, line in lines |> Seq.zip [ 0 .. lines.Length ] do 26 | let tokenizer = sourceTok.CreateLineTokenizer(line) 27 | let rec parseLine() = seq { 28 | match tokenizer.ScanToken(!state) with 29 | | Some(tok), nstate -> 30 | let str = line.Substring(tok.LeftColumn, tok.RightColumn - tok.LeftColumn + 1) 31 | yield str, tok 32 | state := nstate 33 | yield! parseLine() 34 | | None, nstate -> state := nstate } 35 | yield n, parseLine() |> List.ofSeq ] 36 | 37 | [] 38 | let ``Tokenizer test 1``() = 39 | let tokenizedLines = 40 | tokenizeLines 41 | [| "// Sets the hello wrold variable" 42 | "let hello = \"Hello world\" " |] 43 | 44 | let actual = 45 | [ for lineNo, lineToks in tokenizedLines do 46 | yield lineNo, [ for str, info in lineToks do yield info.TokenName, str ] ] 47 | let expected = 48 | [(0, 49 | [("LINE_COMMENT", "//"); ("LINE_COMMENT", " "); ("LINE_COMMENT", "Sets"); 50 | ("LINE_COMMENT", " "); ("LINE_COMMENT", "the"); ("LINE_COMMENT", " "); 51 | ("LINE_COMMENT", "hello"); ("LINE_COMMENT", " "); 52 | ("LINE_COMMENT", "wrold"); ("LINE_COMMENT", " "); 53 | ("LINE_COMMENT", "variable")]); 54 | (1, 55 | [("LET", "let"); ("WHITESPACE", " "); ("IDENT", "hello"); 56 | ("WHITESPACE", " "); ("EQUALS", "="); ("WHITESPACE", " "); 57 | ("STRING_TEXT", "\""); ("STRING_TEXT", "Hello"); ("STRING_TEXT", " "); 58 | ("STRING_TEXT", "world"); ("STRING", "\""); ("WHITESPACE", " ")])] 59 | 60 | Assert.AreEqual(actual, expected) 61 | 62 | -------------------------------------------------------------------------------- /tests/service/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tests/service/data/CSharp_Analysis/CSharpClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace FSharp.Compiler.Service.Tests 8 | { 9 | /// 10 | /// Documentation 11 | /// 12 | public interface ICSharpInterface 13 | { 14 | int InterfaceMethod(string parameter); 15 | bool InterfaceProperty { get; } 16 | 17 | event EventHandler InterfaceEvent; 18 | } 19 | 20 | public interface ICSharpExplicitInterface 21 | { 22 | int ExplicitMethod(string parameter); 23 | bool ExplicitProperty { get; } 24 | 25 | event EventHandler ExplicitEvent; 26 | } 27 | 28 | public class CSharpClass : ICSharpInterface, ICSharpExplicitInterface 29 | { 30 | /// 31 | /// Documentaton 32 | /// 33 | /// 34 | public CSharpClass(int param) 35 | { 36 | 37 | } 38 | 39 | /// 40 | /// Documentaton 41 | /// 42 | /// 43 | /// 44 | public CSharpClass(int first, string param) 45 | { 46 | 47 | } 48 | 49 | public int Method(string parameter) 50 | { 51 | throw new NotImplementedException(); 52 | } 53 | 54 | public bool Property 55 | { 56 | get { throw new NotImplementedException(); } 57 | } 58 | 59 | public event EventHandler Event; 60 | 61 | 62 | public int InterfaceMethod(string parameter) 63 | { 64 | throw new NotImplementedException(); 65 | } 66 | 67 | public bool InterfaceProperty 68 | { 69 | get { throw new NotImplementedException(); } 70 | } 71 | 72 | public event EventHandler InterfaceEvent; 73 | 74 | int ICSharpExplicitInterface.ExplicitMethod(string parameter) 75 | { 76 | throw new NotImplementedException(); 77 | } 78 | 79 | bool ICSharpExplicitInterface.ExplicitProperty 80 | { 81 | get { throw new NotImplementedException(); } 82 | } 83 | 84 | event EventHandler ICSharpExplicitInterface.ExplicitEvent 85 | { 86 | add { throw new NotImplementedException(); } 87 | remove { throw new NotImplementedException(); } 88 | } 89 | } 90 | 91 | public class CSharpOuterClass 92 | { 93 | public enum InnerEnum { Case1 } 94 | 95 | public class InnerClass 96 | { 97 | public static int StaticMember() 98 | { 99 | return 0; 100 | } 101 | } 102 | } 103 | 104 | } 105 | -------------------------------------------------------------------------------- /tests/service/data/CSharp_Analysis/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Allgemeine Informationen über eine Assembly werden über die folgenden 6 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, 7 | // die mit einer Assembly verknüpft sind. 8 | [assembly: AssemblyTitle("CSharp_Analysis")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CSharp_Analysis")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar 18 | // für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von 19 | // COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. 20 | [assembly: ComVisible(false)] 21 | 22 | // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird 23 | [assembly: Guid("e1b15939-475d-4134-a76c-20845e07be39")] 24 | 25 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: 26 | // 27 | // Hauptversion 28 | // Nebenversion 29 | // Buildnummer 30 | // Revision 31 | // 32 | // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern 33 | // übernehmen, indem Sie "*" eingeben: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /tests/service/data/Malformed.fsproj: -------------------------------------------------------------------------------- 1 | Not even slightly like a project 2 | -------------------------------------------------------------------------------- /tests/service/data/TypeProviderConsole/Program.fs: -------------------------------------------------------------------------------- 1 | module Program 2 | 3 | [] 4 | let main argv = 5 | printfn "%A" argv 6 | 0 // return an integer exit code 7 | -------------------------------------------------------------------------------- /tests/service/data/TypeProviderLibrary/Library1.fs: -------------------------------------------------------------------------------- 1 | namespace TypeProviderLibrary 2 | 3 | open Microsoft.FSharp.Core.CompilerServices 4 | open System 5 | 6 | [] 7 | type FakeTypeProvider() = class end 8 | 9 | [] 10 | do() 11 | -------------------------------------------------------------------------------- /tests/service/data/sqlite-net-spike/Program.fs: -------------------------------------------------------------------------------- 1 | open System 2 | 3 | open SQLite.Net 4 | open SQLite.Net.Attributes 5 | open SQLite.Net.Platform.Generic 6 | 7 | type Site (url:string) = 8 | let mutable id = new int() 9 | let mutable BD = "" 10 | let mutable site = url 11 | let mutable shown = false 12 | let mutable exemplarcontributor = false 13 | [] [] 14 | member x.ID with get() = id 15 | and set v = id <- v 16 | member x.ExemplarContributor with get() = exemplarcontributor 17 | and set v = exemplarcontributor <- v 18 | member x.Shown with get() = shown 19 | and set v = shown <- v 20 | member x.BreakDown with get() = BD 21 | and set v = BD <- v 22 | [] 23 | member x.Site with get() = site 24 | and set v = site <- v 25 | member x.Url = url 26 | new() = Site "www.google.com" 27 | 28 | [] 29 | type Site2 = 30 | { id : int 31 | visited : string 32 | comment : string } 33 | 34 | type Database (path) = 35 | inherit SQLiteConnection(new SQLitePlatformGeneric(), path) 36 | member x.Setup() = 37 | base.CreateTable() |> ignore 38 | base.CreateTable() |> ignore 39 | 40 | [] 41 | let main argv = 42 | let D = new Database("test.sqlitedb") 43 | D.Setup() |> ignore 44 | 45 | let s = new Site "www.google.com" 46 | D.Insert(s) |> ignore 47 | D.Commit|>ignore 48 | 0 49 | 50 | -------------------------------------------------------------------------------- /tests/service/data/sqlite-net-spike/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tests/service/data/sqlite-net-spike/paket.references: -------------------------------------------------------------------------------- 1 | SQLite.Net.Platform.Generic 2 | SQLite.Net-PCL -------------------------------------------------------------------------------- /tests/service/paket.references: -------------------------------------------------------------------------------- 1 | NUnit 2 | NUnit.Runners 3 | TaskParallelLibrary --------------------------------------------------------------------------------