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

add vb language version 15 to command line parser #11670

Merged
merged 2 commits into from
Jun 3, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Dim parseDocumentationComments As Boolean = False ' Don't just null check documentationFileName because we want to do this even if the file name is invalid.
Dim outputKind As OutputKind = OutputKind.ConsoleApplication
Dim ssVersion As SubsystemVersion = SubsystemVersion.None
Dim languageVersion As LanguageVersion = LanguageVersion.VisualBasic14
Dim languageVersion As LanguageVersion = languageVersion.VisualBasic15
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LanguageVersion.VisualBasic15

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thank you!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's not like VB is case-sensitive. 😄

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lAnGuAgEvErSiOn it is then!

Dim mainTypeName As String = Nothing
Dim win32ManifestFile As String = Nothing
Dim win32ResourceFile As String = Nothing
Expand Down Expand Up @@ -778,6 +778,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
languageVersion = LanguageVersion.VisualBasic12
Case "14", "14.0"
languageVersion = LanguageVersion.VisualBasic14
Case "15", "15.0"
languageVersion = LanguageVersion.VisualBasic15
Case Else
AddDiagnostic(diagnostics, ERRID.ERR_InvalidSwitchValue, "langversion", value)
End Select
Expand Down
6 changes: 5 additions & 1 deletion src/Compilers/VisualBasic/Portable/LanguageVersion.vb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
VisualBasic11 = 11
VisualBasic12 = 12
VisualBasic14 = 14
VisualBasic15 = 15
End Enum

Friend Module LanguageVersionEnumBounds
Expand All @@ -23,7 +24,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
LanguageVersion.VisualBasic10,
LanguageVersion.VisualBasic11,
LanguageVersion.VisualBasic12,
LanguageVersion.VisualBasic14
LanguageVersion.VisualBasic14,
LanguageVersion.VisualBasic15

Return True
End Select
Expand All @@ -45,6 +47,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Return "12.0"
Case LanguageVersion.VisualBasic14
Return "14.0"
Case LanguageVersion.VisualBasic15
Return "15.0"
Case Else
Throw ExceptionUtilities.UnexpectedValue(value)
End Select
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
Namespace Microsoft.CodeAnalysis.VisualBasic
Public Module PredefinedPreprocessorSymbols

Friend Const CurrentVersionNumber = 14.0
Friend Const CurrentVersionNumber = 15.0

''' <summary>
''' Adds predefined preprocessor symbols VBC_VER and TARGET to given list of preprocessor symbols if not included yet.
Expand Down
1 change: 1 addition & 0 deletions src/Compilers/VisualBasic/Portable/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Microsoft.CodeAnalysis.VisualBasic.LanguageVersion.VisualBasic15 = 15 -> Microsoft.CodeAnalysis.VisualBasic.LanguageVersion
20 changes: 14 additions & 6 deletions src/Compilers/VisualBasic/Test/CommandLine/CommandLineTests.vb
Original file line number Diff line number Diff line change
Expand Up @@ -965,10 +965,18 @@ a.vb
parsedArgs.Errors.Verify()
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION:15", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify()
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION:15.0", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify()
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

' default: "current version"
parsedArgs = DefaultParse({"a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify()
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

' overriding
parsedArgs = DefaultParse({"/langVERSION:10", "/langVERSION:9.0", "a.vb"}, _baseDirectory)
Expand All @@ -978,23 +986,23 @@ a.vb
' errors
parsedArgs = DefaultParse({"/langVERSION", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_ArgumentRequired).WithArguments("langversion", ":<number>"))
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION+", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify(Diagnostic(ERRID.WRN_BadSwitch).WithArguments("/langVERSION+")) ' TODO: Dev11 reports ERR_ArgumentRequired
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION:", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_ArgumentRequired).WithArguments("langversion", ":<number>"))
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION:8", "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_InvalidSwitchValue).WithArguments("langversion", "8"))
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)

parsedArgs = DefaultParse({"/langVERSION:" & (LanguageVersion.VisualBasic12 + 1), "a.vb"}, _baseDirectory)
parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_InvalidSwitchValue).WithArguments("langversion", CStr(LanguageVersion.VisualBasic12 + 1)))
Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion)
Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion)
End Sub

<Fact>
Expand Down