Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for 82 - Scope of types for named values in attributes improperly set #437

Closed
wants to merge 315 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
315 commits
Select commit Hold shift + click to select a range
48f3fd6
Fix version numbers for FSharp OSS build
KevinRansom Nov 25, 2014
a71bbdc
Let provided types be non-nullable
dsyme Dec 1, 2014
ca26624
Do not error recover from failure in GetMethods in type provider
dsyme Dec 1, 2014
229e19f
Fixing some small test bugs (changeset 1378667)
latkin Dec 1, 2014
e8d7469
Merge branch 'master' into fsharp4
latkin Dec 1, 2014
9a23b8c
Fixes for a handful of IDE unit tests (changeset 1384280)
latkin Dec 11, 2014
816e96e
Another IDE unit test fix, compensates for new behavior with "ctors a…
latkin Dec 11, 2014
bb67118
Add WebClient extensions AsyncDownloadData and AsyncDownloadFile
mexx Dec 11, 2014
c3a0902
Use generic WeakReference<'T> instead of WeakReference to enforce typ…
Nov 24, 2014
91c644d
Implement Seq.foldBack2
PatrickMcDonald Dec 12, 2014
e7f029f
cleanup to align Visual F# Tools codebase textually with github.com/f…
dsyme Dec 12, 2014
ca3bee0
add tryUnbox, isNull, Option.toObj, Option.ofObj, Option.toNullable, …
dsyme Dec 12, 2014
3a1ddb1
The Loc tool does not recognize the F# block comment syntax (* *) f…
KevinRansom Dec 15, 2014
47aff4d
Merge branch 'master' into fsharp4
latkin Dec 15, 2014
bb40a68
Add an active pattern to match constant decimal in quotations
pirrmann Dec 15, 2014
ecfa21c
Merge branch 'master' into fsharp4
latkin Dec 16, 2014
f11c636
Add NonStructuralComparison ops
dsyme Dec 16, 2014
f2d286c
Changing unit test attribute type so it works with internal NUnit ver…
latkin Dec 19, 2014
72b923c
Modify core unit tests to appease older NUnit versions (changeset 138…
latkin Dec 20, 2014
0d03a32
Enable localization of fsharp templates vsix (changeset 1390753)
KevinRansom Dec 25, 2014
edaacd6
Work around for issue causing templates to appear 8 times in multi-la…
KevinRansom Dec 26, 2014
30ed635
Update the version number of the Visual F# 4.0 vsix manifest for VsPr…
KevinRansom Jan 2, 2015
af6fe4e
Support for rational exponents in units of measure
Jan 6, 2015
df8b476
Give fsi.exe and fsiAnyCpu.exe nice icons
brettfo Jan 7, 2015
51d7b62
Make Microsoft optional in namepsace paths from FSharp.Core
dsyme Jan 8, 2015
fac4409
Merge branch 'master' into fsharp4
latkin Jan 13, 2015
ca40a40
Merge branch 'master' into fsharp4
latkin Jan 14, 2015
d9348ec
Support for extension property initializers
xepaul Jan 15, 2015
0242e6d
Merge branch 'master' into fsharp4
latkin Jan 15, 2015
481890d
teach F# 4.0 compiler about future 4.0+ native intrinsics
dsyme Jan 15, 2015
640db00
Simplified, more robust resolution of type references in quotations
dsyme Jan 16, 2015
0b20916
Merge branch 'master' into fsharp4
latkin Jan 17, 2015
2302b9e
Allow inheritance of types that have multiple interface instantiations
dsyme Jan 19, 2015
1fa37fd
Updating surface area tests, a few APIs were missed in earlier PR
latkin Jan 19, 2015
e3c08a1
Make it easier to discover which templates allow a developer to build…
KevinRansom Jan 15, 2015
5eb0657
Merge branch 'master' into fsharp4
latkin Jan 19, 2015
c5e6699
fix for private val set
dsyme Jan 20, 2015
438eae2
Implements extended if grammar
mrange Jan 20, 2015
8de3e85
Fix #38
dsyme Jan 20, 2015
412e6e6
Fix #44 - Problems using FSI on a project
dsyme Jan 21, 2015
c3e2584
Merge branch 'master' into fsharp4
latkin Jan 21, 2015
6d0ac01
Merge branch 'master' into fsharp4
latkin Jan 22, 2015
09ad755
Allow implicit quotation of expressions used as a method arguments
dsyme Jan 22, 2015
b1c03b6
Pickling of metadata for units: need to ensure that integer exponents…
Jan 22, 2015
5fc4c5c
Updating expected error strings on a few tests
latkin Jan 22, 2015
11ede75
Merge branch 'master' into fsharp4
latkin Jan 22, 2015
c52b4dd
Show warning when DU is accessed without type but RequiredQualifiedAc…
forki Jan 27, 2015
ae66aaf
add Checked.int8/uint8 and Nullable.int8/uint8
dsyme Jan 27, 2015
742c133
Merge branch 'master' into fsharp4
latkin Jan 27, 2015
f09c852
cleanup, normalize code formatting
enricosada Jan 27, 2015
0a23b20
Fix #89 - nested quotation literals
dsyme Jan 27, 2015
7bf8158
Make sure that EnableOpenSource is installed on VS 2015
dungpa Jan 27, 2015
58669ae
Show warning when Record is accessed without type but RequireQualifie…
forki Jan 26, 2015
f6cea7c
Merge branch 'master' into fsharp4
latkin Jan 28, 2015
98e612f
add appveyor.yml
dsyme Jan 28, 2015
be2d526
add build.cmd
dsyme Jan 28, 2015
b8ffef2
update appveyor.tml
dsyme Jan 28, 2015
325fc42
update appveyor support
dsyme Jan 28, 2015
415f2c4
update appveyor support
dsyme Jan 28, 2015
a83b5d7
update appveyor support
dsyme Jan 28, 2015
b310e2a
disable fsharpqa tests due to Perl problem
dsyme Jan 28, 2015
140d0b3
update appveyor support
dsyme Jan 28, 2015
ac68fa2
Merge branch 'fsharp4' of http://github.com/Microsoft/visualfsharp in…
dsyme Jan 28, 2015
7a7299d
update appveyor support
dsyme Jan 28, 2015
5ade62c
update appveyor support
dsyme Jan 28, 2015
47c5fb6
Small fixes so that build works on internal servers
latkin Jan 29, 2015
1d8f99f
disable fsharpqa pending perl fix
dsyme Jan 29, 2015
5dd748b
disable fsharp pending perl fix
dsyme Jan 29, 2015
a86d5c4
test adjustments for very slow runs on AppVeyor
dsyme Jan 29, 2015
d17d429
Merge pull request #169 from dsyme/appveyor
dsyme Jan 29, 2015
22fc2c7
Update DEVGUIDE.md
dsyme Jan 29, 2015
d63961b
Add AppVeyor status badge
forki Jan 29, 2015
7b1d896
fix and tests for #122 - no .volatile emitted on stfld
dsyme Jan 30, 2015
9ca869d
Fix for #30 -- Incorrect number of type arguments to local call
Jan 30, 2015
57f4f68
Fix #163 - Array2d.* don't work on non-zero-based arrays
dsyme Jan 30, 2015
db6d3b7
Remove erroneously attached Obsolete attribute
mexx Jan 29, 2015
9f7ab69
Extracting obsolete List and Seq functions into separate test module
forki Jan 29, 2015
3cd3c33
enable one PCL test lib build
dsyme Jan 29, 2015
6a6343f
Git is not interested in the build output directories vsdebug and vsr…
KevinRansom Jan 30, 2015
4619dbe
Merge pull request #175 from forki/status
KevinRansom Jan 30, 2015
ac0a00b
Revert "Add AppVeyor status badge"
KevinRansom Jan 30, 2015
b2eeca0
Merge pull request #183 from Microsoft/revert-175-status
KevinRansom Jan 30, 2015
cfd8e8d
Add AppVeyor status badge
forki Jan 29, 2015
cb80b05
Reapply Steffens fix with the correct id
KevinRansom Jan 30, 2015
858b5ea
Fix build for: FSharp.Compiler-proto.fsproj
KevinRansom Jan 31, 2015
dd14064
Ensure that fsharp-compiler-build.proj builds on a machine with just …
KevinRansom Jan 31, 2015
b6f4807
Ensure that fsharp-vsintegration-build.proj builds on a machine with …
KevinRansom Jan 31, 2015
dd37a1a
Update the VSIX version number.
KevinRansom Jan 31, 2015
b2bcbef
Fixes issue [https://github.com/Microsoft/visualfsharp/issues/185](ht…
KevinRansom Jan 31, 2015
1f7f85a
Fix NGEN
dsyme Jan 31, 2015
f32f672
Merge branch 'fsharp4' into VS2015Support
KevinRansom Jan 31, 2015
6eb0c75
Enable VS2015 Preview support
KevinRansom Jan 31, 2015
cd3f441
Merge pull request #187 from KevinRansom/removelkg
KevinRansom Jan 31, 2015
bed6266
Merge branch 'fsharp4' into VS2015Support
KevinRansom Jan 31, 2015
d877759
Parameterize MSBuild references. To enable build in VS2015 or VS1013
KevinRansom Feb 1, 2015
ac714de
Parameterize Visual Studio references
KevinRansom Feb 1, 2015
fa4d337
doc fix
dsyme Feb 1, 2015
da2a472
add more profiles to appveyor build
dsyme Feb 1, 2015
a994bfe
add script to replace F# 4.0 SDK on machine
dsyme Feb 1, 2015
ea8361e
Enable building with VS2013
KevinRansom Feb 2, 2015
0eb9bed
Try vs2013
KevinRansom Feb 2, 2015
451bab3
try vs2013
KevinRansom Feb 2, 2015
351985d
Reset appveyor back to VS2015 CTP5
KevinRansom Feb 2, 2015
a5b3e95
Merge pull request #193 from dsyme/doc-fix
KevinRansom Feb 2, 2015
5a6b63a
Visual Studio 2015 CTP picked VS2013. Try appveyor with "Visual Stud…
KevinRansom Feb 2, 2015
3c8226f
Configure ppVeyor to use VS2015 Preview
KevinRansom Feb 2, 2015
cc10ab3
Modify the build script to select msbuild based on Installed VS rathe…
KevinRansom Feb 2, 2015
fda997c
Set VisualStudioVersion based installed version of VS
KevinRansom Feb 2, 2015
5aa943c
Fix the build script using the correct syntax for not equals
KevinRansom Feb 2, 2015
7c05659
Really fix the vs selection
KevinRansom Feb 2, 2015
517e5b0
Merge pull request #194 from dsyme/appveyor-update
KevinRansom Feb 2, 2015
6b07a86
Merge branch 'fsharp4' into VS2015Support
KevinRansom Feb 2, 2015
5e24472
Fix up surface area tests, support surface area for net20 + all porta…
latkin Feb 2, 2015
eabe055
Extend update.cmd to support vsrelease and vsdebug build configurations
KevinRansom Feb 2, 2015
aedb22f
Merge branch 'fsharp4' into VS2015Support
KevinRansom Feb 2, 2015
6739420
Correct writeXmlDoc.addMembers
ReedCopsey Feb 3, 2015
b081cc7
Small fix to work around older NUnit version in internal build
latkin Feb 3, 2015
4952102
index on VS2015Support: aedb22f Merge branch 'fsharp4' into VS2015Sup…
KevinRansom Feb 3, 2015
f1c70a0
Remove BUILDING_PROTO #ifdefs when building proto ensure that FX_ATLE…
KevinRansom Feb 3, 2015
bc1480c
Merge pull request #198 from dsyme/vsintegration-fix
dsyme Feb 3, 2015
b41dfc7
Merge branch 'fsharp4' into VS2015Support
KevinRansom Feb 3, 2015
468487f
Make TargetFramework case-insensitive when building core unit tests
latkin Feb 3, 2015
c5e882f
Ensure vs ide builds do not incorrectly build tools as debug
KevinRansom Feb 3, 2015
c20cc90
Fix NGen command in appveyor build script
latkin Feb 3, 2015
5a25b4f
Merge branch 'fsharp4' into VS2015Support
KevinRansom Feb 4, 2015
f979a8f
Set program files using the environment variable rather than the hard…
KevinRansom Feb 4, 2015
cbfd1df
ngen proto correctly
KevinRansom Feb 4, 2015
c2708eb
1. Teach runtests.cmd about location of nunit
KevinRansom Feb 4, 2015
911c33a
Merge pull request #208 from latkin/fix-proto-ngen
dsyme Feb 4, 2015
aaa8f4b
Merge branch 'master' into fsharp4
latkin Feb 4, 2015
c9d7c43
Build and run compiler unit tests in appveyor-build
forki Feb 4, 2015
4ea60fb
Fix them to use nunit from nuget.
KevinRansom Feb 4, 2015
f46558c
Fix name-mangling of provided types
forki Feb 4, 2015
9f9f0d0
Fix up some tests.
KevinRansom Feb 5, 2015
ea11a9b
Print ParamArray attribute instead of 'params'
dungpa Feb 5, 2015
1a246cc
Completion in object initializers
vladima Feb 5, 2015
81f6bbb
Fix remaining ideunit tests.
KevinRansom Feb 6, 2015
0fad698
Merge branch 'fsharp4' into VS2015Support
KevinRansom Feb 6, 2015
043c3e9
Fix merge issues with debug
KevinRansom Feb 6, 2015
fb309a9
Fix merge issues
KevinRansom Feb 6, 2015
d2433da
Merge pull request #186 from KevinRansom/VS2015Support
KevinRansom Feb 6, 2015
3b87fcf
1. Revert AppVeyor to use Dev 12, until AppVeyor provide Pro support…
KevinRansom Feb 6, 2015
2747996
Fix rc build problem
KevinRansom Feb 6, 2015
ea00c4b
Merge pull request #218 from KevinRansom/VS2015Support
KevinRansom Feb 6, 2015
0a95778
Enable tests using Perl and build VS integration projects
dungpa Feb 6, 2015
73db1c0
Swap AppVeyor badge
GeorgeHahn Feb 2, 2015
8cc311c
Fix outdated test baseline
latkin Feb 10, 2015
005d0e9
Disable bogus test when running in open repo
latkin Feb 10, 2015
95bfc9e
Fixup/cleanup/refactorings to build infra
latkin Feb 9, 2015
0b7bee8
Update nunit to V. 2.6.4
KevinRansom Feb 10, 2015
ff4a680
Merge branch 'master' into fsharp4
latkin Feb 10, 2015
584093c
Fixes #157 -- should not allow Framework 4 / F# 3.1 combination in pr…
KevinRansom Feb 13, 2015
5d26513
Improve FSI debugging experience for OSS build
KevinRansom Feb 12, 2015
afc2513
Do not add all vs dependencies to the EnableOpenSource VSIX
KevinRansom Feb 12, 2015
ac85db7
The Deployment.sln build was unreliable because fsianycpu was missing…
KevinRansom Feb 13, 2015
36e0ec8
add menu entry "Open folder in File Explorer" on Folder nodes
enricosada Feb 12, 2015
35e6a00
Fix #123 - Union types without sub-classes should be sealed
dsyme Feb 13, 2015
49b20b0
Fixes #235 --- When running FSI from VSIX, it does not respect UseAny…
KevinRansom Feb 14, 2015
b9d2f3f
Intellisense completion for named parameters
vladima Feb 17, 2015
c3c50ee
Fix #68 - filter out type initializer from Type.GetConstructor portab…
stephen-swensen Feb 16, 2015
70ed65d
Update warning message when creating IDisposable without 'new'
latkin Feb 19, 2015
3faba92
Update DEVGUIDE.md for consistency
dungpa Feb 20, 2015
ac32717
Alt + Enter sends current line to FSI if there is no selection
dungpa Feb 20, 2015
c651690
Merge branch 'master' into fsharp4
latkin Feb 21, 2015
4267370
Fixes #9, Internal error in FSI: FS0192: binding null type in envBind…
KevinRansom Feb 22, 2015
c6bbef5
Add "The input must be positive." error message and use it in `windowed`
PatrickMcDonald Feb 23, 2015
22fa934
Remove 'Execute Line in F# Interactive' command
dungpa Feb 24, 2015
0676493
Implement except on Seq, Array and List
PatrickMcDonald Feb 24, 2015
959b10f
Change List.windowed from `int -> 'T list -> 'T[] list`
PatrickMcDonald Feb 25, 2015
05ff126
Script debugging in VS
latkin Feb 27, 2015
1cae358
Update README.md
KevinRansom Feb 27, 2015
a1a27a4
Implement chunkBySize and splitInto in Seq, List and Array
PatrickMcDonald Feb 27, 2015
0f00c2b
Corrections to ',' and '+' escaping for type names in quotations
latkin Feb 27, 2015
cc6f41e
fix path combine in surface area unit tests
enricosada Feb 27, 2015
5ff605a
Merge branch 'master' into fsharp4
latkin Feb 27, 2015
9e13bdd
Prevent VSIX deployment on AppVeyor CI
dungpa Mar 9, 2015
220c17d
Combining struct field with units of measure will result managed type…
Mar 10, 2015
38db642
Change internal error to regular error when #load'ing files with wron…
latkin Mar 11, 2015
55f78f7
Add gitter chat badge to README
latkin Mar 16, 2015
f462430
Structured format display attribute multiple props
ledbutter Mar 16, 2015
c2b9aa7
Profile 47 targets .Net 4.5 rather than .Net 4.0.
KevinRansom Mar 17, 2015
3ed163f
Make sure assembly search paths for #r directives include directory o…
latkin Mar 19, 2015
f7ecd71
Fixes #312 - F# Library project templates and portable library templa…
KevinRansom Mar 19, 2015
f8ba1dd
Update menu icons used for F# interactive to align with other VS inte…
latkin Mar 19, 2015
c339e26
Add some basic UI to help configure FSI for script debugging
latkin Mar 21, 2015
34f300d
Port menu localization fix to open repo (bug #295)
latkin Mar 21, 2015
1bb7445
Provided type quickinfo shouldn't show hidden and obsolete members fr…
latkin Mar 23, 2015
a2d770f
Fixes #319, projects with target runtime 4.0 don't show up correctly …
KevinRansom Mar 25, 2015
709c760
Fixes #283 - Changing target framework causes incorrect binding redir…
KevinRansom Mar 25, 2015
6a0c3f1
Merge branch 'master' into fsharp4
latkin Mar 27, 2015
049d871
Merge branch 'master' into fsharp4
latkin Mar 27, 2015
76ae08d
Eliminate tuple allocation for implicitly returned formal arguments
zeux Apr 2, 2015
bc9fecd
Merge branch 'master' into fsharp4
latkin Apr 2, 2015
dec5270
Merge branch 'master' into fsharp4
latkin Apr 6, 2015
fd8c437
Change pdbClose to test if files are locked before inducing GCs
braden Apr 6, 2015
266f5f2
Fix test build when VS is not installed on the root drive
braden Apr 6, 2015
c6ffdb6
Merge branch 'master' into fsharp4
latkin Apr 8, 2015
5447cd2
Fix for #8 - intellisense does not appear off of generic type
dsyme Apr 10, 2015
1880abf
Make sure 'Debug In Interactive' triggers FSI debuggability check
latkin Apr 10, 2015
eeedc5e
Merge branch 'master' into fsharp4
latkin Apr 10, 2015
fecd35f
fix #237 - Problems using FSI on multiple namespaces in a single file
dsyme Apr 10, 2015
52e6e03
Fix lexing for unicode escape sequences
latkin Apr 15, 2015
d323e66
Implement proper ER-mode comparison for floating point types
latkin Apr 22, 2015
98104be
Fix for #368 - change to effects and try/catch optimization
latkin Apr 22, 2015
54712ec
reference System.Runtime in scripts to allow ExtensionAttribute to be…
latkin Apr 24, 2015
90777db
the bug bash is over => remove from readme
forki Apr 24, 2015
d52230b
skip unloadable interfaces
dsyme Apr 24, 2015
37aa969
Merge branch 'master' into fsharp4
latkin Apr 24, 2015
8b249d8
handle AllowNullLiteral(false) correctly, fixes #383
mexx Apr 30, 2015
cf653b1
Use server GC mode for compiler
latkin May 5, 2015
59add71
Scope 'move up/down' keybindings to sln explorer only
latkin May 5, 2015
74bbb07
F# project template is missing in New Project dialog in non-ENU OS
KevinRansom May 5, 2015
1251430
Remove conflicting Alt+D keybinding
latkin May 5, 2015
fb3a470
fix for 82
dsyme May 11, 2015
27c9268
updates to fix
dsyme May 11, 2015
1097c06
updates to fix (2)
dsyme May 11, 2015
d2a25c8
updates to fix (3)
dsyme May 11, 2015
a64ecb2
Remove unnecessary access modifier conversions for abstract class ctors
latkin May 18, 2015
e5cdef9
fix 362 - change assertion to compile error on unexpected depickling …
dsyme May 18, 2015
dd6842a
fix 342 - emit StructLayout attributes correctly in FSI
dsyme May 18, 2015
92a064b
fix 299 - ReflectedDefinition on overloaded extension methods
dsyme May 18, 2015
cccf5b9
Fix 316 - correctly handle null array values in attributes
dsyme May 18, 2015
b1464a7
fix 147 - consider implicit ctors in type check env when determining …
dsyme May 18, 2015
34a181b
Fix 34 - extension member duplicate check
dsyme May 18, 2015
583503a
fix 212 - record initialization order
dsyme May 18, 2015
ca74259
Automated cross-version testing for FSHARPQA suite
latkin May 18, 2015
9bd876f
Fixed prompt message when --pause compiler switch is used
mstyura May 18, 2015
2044977
Enable IsNull test in UnboxAndOptionStuff() tests
PatrickMcDonald May 18, 2015
e10b8d0
truncate should not throw ArgumentException when count is negative
PatrickMcDonald May 18, 2015
635e2de
Merge branch 'master' into fsharp4
latkin May 19, 2015
0b88185
Tweak to compensate for older nunit used internally
latkin May 19, 2015
647787a
Fix 238 - properly handle constraints solved to record fields
dsyme May 19, 2015
0cb505c
Add back keyboard shortcut and command handling for 'Send line to int…
latkin May 27, 2015
3a07cc0
Remove duplicate 'Visual F# Items' node for project items
latkin May 28, 2015
64c4ea6
Fix memory leak: not disposing even subscriptions to invalidation events
dsyme Jun 1, 2015
322d27f
Proper handling of VSUTDCF options in up-to-date check, and safer Try…
latkin Jun 1, 2015
275b832
Assorted test fixes found when running tests on internal infra
latkin Jun 2, 2015
66109b7
Explicitly set custom F# VS settings if they are missing
latkin Jun 10, 2015
c2335c0
Roll back binary breaking changes in 52a7252
latkin Jun 15, 2015
942d292
Use Assembly.EscapedCodeBase not .CodeBase in IDE unit tests
latkin Jun 17, 2015
d02a425
More places in IDE unit tests that need to use Assembly.EscapedCodeBase
latkin Jun 17, 2015
2f5d047
Array.chunkBySize does not return final chunk in some cases
PatrickMcDonald Jun 19, 2015
dd8252e
Fix #492 - use ConvILTypeRefUnadjusted to properly route local assemb…
latkin Jun 19, 2015
607d00a
Update changelog for F# 4.0
latkin Jul 17, 2015
ae910ee
File renamings and code cleanup
dsyme Aug 3, 2015
0bfd80c
Cleanup vs ext
enricosada Aug 3, 2015
66d4883
Cleanup vs ext 2
enricosada Aug 3, 2015
51ff4c5
Remove unused code
enricosada Aug 4, 2015
01dc508
cleanup referenceresolution.fs/fsi
dsyme Aug 4, 2015
6c6cb0e
update
dsyme Aug 4, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ src/fsharp/FSharp.Compiler/*.userprefs
src/*.log
Debug
Release
vsdebug
vsrelease
Proto
.libs
Makefile
Expand Down Expand Up @@ -94,4 +96,10 @@ tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Utils.dll
tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExprLibrary.dll

*.csproj.user

*.ide
*.log
*.jrs
*.chk
*.bak
*.orig
165 changes: 150 additions & 15 deletions CHANGELOG.md

Large diffs are not rendered by default.

138 changes: 72 additions & 66 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ To get a free F# environment, go to [fsharp.org](http://fsharp.org/use/windows).
> Contributions made to this repo are subject to terms and conditions of the Apache License, Version 2.0. A copy of the license can be found in the [License.txt](License.txt) file at the root of this distribution.
> By using this source code in any fashion, you are agreeing to be bound by the terms of the Apache License, Version 2.0. You must not remove this notice, or any other, from this software.

**Questions?** If you have questions about the source code, please ask in the issues and discussion forums.
**Questions?** If you have questions about the source code, please ask in the issues.

## 0. A Shortcut to Build and Smoke Test

Expand All @@ -33,10 +33,8 @@ Note that you need the .NET framework 3.5 installed on your machine in order to

This uses the proto compiler to build `FSharp.Core.dll`, `FSharp.Compiler.dll`, `fsc.exe`, and `fsi.exe`.

```
msbuild src/fsharp-library-build.proj
msbuild src/fsharp-compiler-build.proj
```
msbuild src/fsharp-library-build.proj
msbuild src/fsharp-compiler-build.proj

You can now use the updated F# compiler in `debug\net40\bin\fsc.exe` and F# Interactive in `debug\net40\bin\fsi.exe` to develop and test basic language and tool features.

Expand All @@ -48,73 +46,81 @@ See [TESTGUIDE.md](TESTGUIDE.md) for full details on how to run tests.

Prior to a **Debug** test run, you need to complete **all** of these steps:

```
msbuild src/fsharp-library-build.proj
msbuild src/fsharp-compiler-build.proj
msbuild src/fsharp-typeproviders-build.proj
msbuild src/fsharp-library-build.proj /p:TargetFramework=net20
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable78
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable259
msbuild src/fsharp-library-unittests-build.proj
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable47
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259
src\update.cmd debug -ngen
tests\BuildTestTools.cmd debug
```
msbuild src/fsharp-library-build.proj
msbuild src/fsharp-compiler-build.proj
msbuild src/fsharp-typeproviders-build.proj
msbuild src/fsharp-compiler-unittests-build.proj
msbuild src/fsharp-library-build.proj /p:TargetFramework=net20
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable78
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable259
msbuild src/fsharp-library-unittests-build.proj
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable47
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259
src\update.cmd debug -ngen
tests\BuildTestTools.cmd debug


[Optional] If testing the Visual Studio bits (see below) you will also need:

```
msbuild vsintegration\fsharp-vsintegration-build.proj
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj
```
msbuild vsintegration\fsharp-vsintegration-build.proj
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj

Prior to a **Release** test run, you need to do **all** of these:

```
msbuild src/fsharp-library-build.proj /p:Configuration=Release
msbuild src/fsharp-compiler-build.proj /p:Configuration=Release
msbuild src/fsharp-typeproviders-build.proj /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=net20 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable78 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable47 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
src\update.cmd release -ngen
tests\BuildTestTools.cmd release
```

[Optional] If testing the Visual F# IDE Tools (see below) you will also need:

```
msbuild vsintegration\fsharp-vsintegration-build.proj /p:Configuration=Release
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj /p:Configuration=Release
```

## 4. [Optional] Build and Install the Visual F# IDE Tools

To build the VS components:

```
msbuild vsintegration\fsharp-vsintegration-build.proj
```

To install the VS components:

1. Ensure that the VSIX package is uninstalled.
- In VS, select Tools/Extensions and Updates
- If the package `VisualStudio.FSharp.EnableOpenSource` is installed, select Uninstall
1. Run ```debug\net40\bin\EnableOpenSource.vsix```
1. Restart Visual Studio, it should now be running your freshly-built Visual F# IDE Tools.
msbuild src/fsharp-library-build.proj /p:Configuration=Release
msbuild src/fsharp-compiler-build.proj /p:Configuration=Release
msbuild src/fsharp-typeproviders-build.proj /p:Configuration=Release
msbuild src/fsharp-compiler-unittests-build.proj /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=net20 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable78 /p:Configuration=Release
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable47 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78 /p:Configuration=Release
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
src\update.cmd release -ngen
tests\BuildTestTools.cmd release


[Optional] If testing **Release** build of the Visual F# IDE Tools (see below) you will also need:

msbuild vsintegration\fsharp-vsintegration-build.proj /p:Configuration=Release
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj /p:Configuration=Release

## 4. [Optional] Install the Visual F# IDE Tools and Clobber the F# 4.0 SDK on the machine

**Note:** Step #3 will install a VSIX extension into Visual Studio 2015 that changes the Visual F# IDE Tools
components installed into Visual Studio 2015. You can revert this step by disabling or uninstalling the addin.

**Note:** Step #4 will clobber the machine-wide installed F# 4.0 SDK on your machine. This replaces the ``fsi.exe``/``fsiAnyCpu.exe`` used
by Visual F# Interactive and the ``fsc.exe`` used by ``Microsoft.FSharp.targets``. Repairing Visual Studio 2015 is currently the
only way to revert this step.

**Note:** After you complete the install, the FSharp.Core referenced by your projects will not be updated. If you want to make
a project that references your updated FSharp.Core, you must explicitly change the ``TargetFSharpCoreVersion`` in the .fsproj
file to ``4.4.0.5099`` (or a corresponding portable version number with suffix ``5099``).

For **Debug**:

1. Ensure that the VSIX package is uninstalled. In VS, select Tools/Extensions and Updates and if the package `VisualStudio.FSharp.EnableOpenSource` is installed, select Uninstall
1. Run ``debug\net40\bin\EnableOpenSource.vsix``
1. Run ``vsintegration\update-vsintegration.cmd debug`` (clobbers the installed F# 4.0 SDK)

For **Release**:

1. Ensure that the VSIX package is uninstalled. In VS, select Tools/Extensions and Updates and if the package `VisualStudio.FSharp.EnableOpenSource` is installed, select Uninstall
1. Run ``release\net40\bin\EnableOpenSource.vsix``
1. Run ``vsintegration\update-vsintegration.cmd release`` (clobbers the installed F# 4.0 SDK)

Restart Visual Studio, it should now be running your freshly-built Visual F# IDE Tools with updated F# Interactive.


### Notes on the build

Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[![Issue Stats](http://issuestats.com/github/Microsoft/visualfsharp/badge/pr)](http://issuestats.com/github/microsoft/visualfsharp)
[![Issue Stats](http://issuestats.com/github/Microsoft/visualfsharp/badge/issue)](http://issuestats.com/github/microsoft/visualfsharp)
[![Build status](https://img.shields.io/appveyor/ci/KevinRansom/visualfsharp-radou/master.svg)](https://ci.appveyor.com/project/KevinRansom/visualfsharp-radou/branch/master)
[![Build status](https://img.shields.io/appveyor/ci/KevinRansom/visualfsharp-radou/fsharp4.svg)](https://ci.appveyor.com/project/KevinRansom/visualfsharp-radou/branch/fsharp4)

[![Join the chat at https://gitter.im/Microsoft/visualfsharp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/visualfsharp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

#Visual F# Tools

Expand Down Expand Up @@ -41,3 +43,4 @@ Although the primary focus of this repo is F# for Windows and the Visual Studio
###Get In Touch

Keep up with the Visual F# Team and the development of the Visual F# Tools by following us [@VisualFSharp](https://twitter.com/VisualFSharp) or subscribing to our [team blog](http://blogs.msdn.com/b/fsharpteam/).

18 changes: 12 additions & 6 deletions TESTGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ The test cases for this suite reside under `tests\fsharp`. This suite dates back
The test cases for this suite reside under `tests\fsharpqa\source`.
This suite was first created when F# 2.0 was being added to Visual Studio 2010. Tests for this suite are driven by the "RunAll" framework, implemented in Perl. This suite is rather large and has broad and deep coverage of a variety of compiler, runtime, and syntax scenarios.

### Compiler and Library Core Unit Test Suite
The test cases for this suite reside next to the F# core library code, at `src\fsharp\FSharp.Core.Unittests`. This suite is a set of standard NUnit test cases, implemented in F#. This suite focuses on validation of the core F# types and the public surface area of `FSharp.Core.dll`.
### Compiler and Library Core Unit Test Suites
The test cases for these suites reside next to the F# core library code, at `src\fsharp\FSharp.Core.Unittests` and `src\fsharp\FSharp.Compiler.Unittests`. These suites are standard NUnit test cases, implemented in F#. The FSharp.Core.Unittests suite focuses on validation of the core F# types and the public surface area of `FSharp.Core.dll`, and the FSharp.Compiler.Unittests suite focuses on validation of compiler internals.

### Visual F# Tools IDE Unit Test Suite
The test cases for this suite reside next to the Visual F# Tools code, at `vsintegration\src\unittests`. This suite is a set of standard NUnit test cases, implemented in F#. This suite exercises a wide range of behaviors in the F# Visual Studio project system and language service.
Expand All @@ -38,6 +38,7 @@ The script `tests\RunTests.cmd` has been provided to make execution of the above
```
RunTests.cmd <debug|release> fsharp [tags to run] [tags not to run]
RunTests.cmd <debug|release> fsharpqa [tags to run] [tags not to run]
RunTests.cmd <debug|release> compilerunit
RunTests.cmd <debug|release> coreunit
RunTests.cmd <debug|release> coreunitportable47
RunTests.cmd <debug|release> coreunitportable7
Expand All @@ -48,7 +49,7 @@ RunTests.cmd <debug|release> ideunit

`RunTests.cmd` sets a handful of environment variables which allow for the tests to work, then puts together and executes the appropriate command line to start the specified test suite.

All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching `FSharp_*.*`, `FSharpQA_*.*`, `CoreUnit_*.*`, `IDEUnit_*.*`, e.g. `FSharpQA_Results.log` or `FSharp_Failures.log`.
All test execution logs and result files will be dropped into the `tests\TestResults` folder, and have file names matching `FSharp_*.*`, `FSharpQA_*.*`, `CompilerUnit_*.*`, `CoreUnit_*.*`, `IDEUnit_*.*`, e.g. `FSharpQA_Results.log` or `FSharp_Failures.log`.

For the FSharp and FSharpQA suites, the list of test areas and their associated "tags" is stored at

Expand Down Expand Up @@ -93,9 +94,14 @@ Test area directories in this suite will contain a number of source code files a
Test cases will run an optional "pre command," compile some set of source files using some set of flags, optionally run the resulting binary, then optionally run a final "post command."
If all of these steps complete without issue, the test is considered to have passed.

### Core Unit Test Suite
### FSharp.Compiler and FSharp.Core Unit Test Suites

To build the unit test binary, call `msbuild fsharp-library-unittests-build.proj` from the `src` directory. Tests are contained in the binary `FSharp.Core.Unittests.dll`.
To build these unit test binaries, from the `src` directory call

- `msbuild fsharp-compiler-unittests-build.proj`
- Output binary is `FSharp.Compiler.Unittests.dll`
- `msbuild fsharp-library-unittests-build.proj`
- Output binary is `FSharp.Core.Unittests.dll`

You can execute and re-run these tests using any standard NUnit approach - via graphical `nunit.exe` or on the command line via `nunit-console.exe`.

Expand Down Expand Up @@ -123,4 +129,4 @@ You can execute and re-run these tests using any standard NUnit approach - via g
* Making the tests run faster
* NGen-ing the F# bits (fsc, fsi, FSharp.Core, etc) will result in tests executing much faster. Make sure you run `src\update.cmd` with the `-ngen` flag before running tests.
* The Fsharp and FsharpQA suites will run test cases in parallel by default. You can comment out the relevant line in `RunTests.cmd` (look for `PARALLEL_ARG`) to disable this.
* By default, tests from the FSharpQA suite are run using a persistent, hosted version of the compiler. This speeds up test execution, as there is no need for the `fsc.exe` process to spin up repeatedly. To disable this, uncomment the relevant line in `RunTests.cmd` (look for `HOSTED_COMPILER`).
* By default, tests from the FSharpQA suite are run using a persistent, hosted version of the compiler. This speeds up test execution, as there is no need for the `fsc.exe` process to spin up repeatedly. To disable this, uncomment the relevant line in `RunTests.cmd` (look for `HOSTED_COMPILER`).
27 changes: 21 additions & 6 deletions appveyor-build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,27 @@
set APPVEYOR_CI=1

:: Check prerequisites
set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe"
if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe"
if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. Please see http://www.microsoft.com/en-us/download/details.aspx?id=40760. && goto :failure
if not '%VisualStudioVersion%' == '' goto vsversionset
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\common7\ide\devenv.exe" set VisualStudioVersion=14.0
if exist "%ProgramFiles%\Microsoft Visual Studio 14.0\common7\ide\devenv.exe" set VisualStudioVersion=14.0
if not '%VisualStudioVersion%' == '' goto vsversionset
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\common7\ide\devenv.exe" set VisualStudioVersion=12.0
if exist "%ProgramFiles%\Microsoft Visual Studio 12.0\common7\ide\devenv.exe" set VisualStudioVersion=12.0

:vsversionset
if '%VisualStudioVersion%' == '' echo Error: Could not find an installation of Visual Studio && goto :eof

if exist "%ProgramFiles(x86)%\MSBuild\%VisualStudioVersion%\Bin\MSBuild.exe" set _msbuildexe="%ProgramFiles(x86)%\MSBuild\%VisualStudioVersion%\Bin\MSBuild.exe"
if exist "%ProgramFiles%\MSBuild\%VisualStudioVersion%\Bin\MSBuild.exe" set _msbuildexe="%ProgramFiles%\MSBuild\%VisualStudioVersion%\Bin\MSBuild.exe"
if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. && goto :eof

set _ngenexe="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\ngen.exe"
if not exist %_ngenexe% echo Error: Could not find ngen.exe. && goto :failure

.\.nuget\NuGet.exe restore packages.config -PackagesDirectory packages
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure

::Build
:: Build
%_msbuildexe% src\fsharp-proto-build.proj
@if ERRORLEVEL 1 echo Error: compiler proto build failed && goto :failure

Expand All @@ -38,6 +48,9 @@ if not exist %_ngenexe% echo Error: Could not find ngen.exe. && goto :failure
%_msbuildexe% src/fsharp-library-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
@if ERRORLEVEL 1 echo Error: library portable259 build failed && goto :failure

%_msbuildexe% src/fsharp-compiler-unittests-build.proj /p:Configuration=Release
@if ERRORLEVEL 1 echo Error: compiler unittests build failed && goto :failure

%_msbuildexe% src/fsharp-library-unittests-build.proj /p:Configuration=Release
@if ERRORLEVEL 1 echo Error: library unittests build failed && goto :failure

Expand Down Expand Up @@ -67,7 +80,6 @@ call tests\BuildTestTools.cmd release
@if ERRORLEVEL 1 echo Error: 'tests\BuildTestTools.cmd release' failed && goto :failure

@echo on

pushd tests

call RunTests.cmd release fsharp Smoke
Expand All @@ -76,6 +88,9 @@ call RunTests.cmd release fsharp Smoke
call RunTests.cmd release fsharpqa Smoke
@if ERRORLEVEL 1 type testresults\fsharpqa_failures.log && echo Error: 'RunTests.cmd release fsharpqa Smoke' failed && goto :failure

call RunTests.cmd release compilerunit
@if ERRORLEVEL 1 echo Error: 'RunTests.cmd release compilerunit' failed && goto :failure

call RunTests.cmd release coreunit
@if ERRORLEVEL 1 echo Error: 'RunTests.cmd release coreunit' failed && goto :failure

Expand All @@ -84,4 +99,4 @@ popd
goto :eof

:failure
exit /b 1
exit /b 1
8 changes: 8 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
os: Windows Server 2012 R2

init:
build_script:
- cmd: appveyor-build.cmd

# scripts that run after cloning repository
install:
# by default, all script lines are interpreted as batch
- set PATH=%ProgramFiles(x86)%\MSBuild\14.0\Bin;%PATH%

test: off
version: 0.0.1.{build}
artifacts:
Expand Down
Loading