提交 99cbfacc 编写于 作者: C Charles Stoner

Revert commit 021867a0

上级 f75bdbea
...@@ -83,7 +83,7 @@ public override IEnumerable<string> PreprocessorSymbolNames ...@@ -83,7 +83,7 @@ public override IEnumerable<string> PreprocessorSymbolNames
this.PreprocessorSymbols = preprocessorSymbols; this.PreprocessorSymbols = preprocessorSymbols;
} }
internal new CSharpParseOptions WithKind(SourceCodeKind kind) public new CSharpParseOptions WithKind(SourceCodeKind kind)
{ {
if (kind == this.Kind) if (kind == this.Kind)
{ {
...@@ -153,7 +153,7 @@ public new CSharpParseOptions WithDocumentationMode(DocumentationMode documentat ...@@ -153,7 +153,7 @@ public new CSharpParseOptions WithDocumentationMode(DocumentationMode documentat
return new CSharpParseOptions(this) { DocumentationMode = documentationMode }; return new CSharpParseOptions(this) { DocumentationMode = documentationMode };
} }
internal override ParseOptions CommonWithKind(SourceCodeKind kind) public override ParseOptions CommonWithKind(SourceCodeKind kind)
{ {
return WithKind(kind); return WithKind(kind);
} }
......
...@@ -70,6 +70,7 @@ Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Equals(Microsoft.CodeAnalysis.C ...@@ -70,6 +70,7 @@ Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Equals(Microsoft.CodeAnalysis.C
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.LanguageVersion.get -> Microsoft.CodeAnalysis.CSharp.LanguageVersion Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.LanguageVersion.get -> Microsoft.CodeAnalysis.CSharp.LanguageVersion
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithKind(Microsoft.CodeAnalysis.SourceCodeKind kind) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithLanguageVersion(Microsoft.CodeAnalysis.CSharp.LanguageVersion version) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithLanguageVersion(Microsoft.CodeAnalysis.CSharp.LanguageVersion version) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithPreprocessorSymbols(System.Collections.Generic.IEnumerable<string> preprocessorSymbols) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithPreprocessorSymbols(System.Collections.Generic.IEnumerable<string> preprocessorSymbols) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithPreprocessorSymbols(System.Collections.Immutable.ImmutableArray<string> symbols) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.WithPreprocessorSymbols(System.Collections.Immutable.ImmutableArray<string> symbols) -> Microsoft.CodeAnalysis.CSharp.CSharpParseOptions
...@@ -2490,6 +2491,7 @@ override Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.Equals(object ob ...@@ -2490,6 +2491,7 @@ override Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.Equals(object ob
override Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.GetHashCode() -> int override Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions.GetHashCode() -> int
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.CommonWithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.CommonWithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.CommonWithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.CommonWithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.CommonWithKind(Microsoft.CodeAnalysis.SourceCodeKind kind) -> Microsoft.CodeAnalysis.ParseOptions
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Equals(object obj) -> bool override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Equals(object obj) -> bool
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Features.get -> System.Collections.Generic.IReadOnlyDictionary<string, string> override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.Features.get -> System.Collections.Generic.IReadOnlyDictionary<string, string>
override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.GetHashCode() -> int override Microsoft.CodeAnalysis.CSharp.CSharpParseOptions.GetHashCode() -> int
......
...@@ -7677,36 +7677,6 @@ static void Main() ...@@ -7677,36 +7677,6 @@ static void Main()
CleanupAllGeneratedFiles(src.Path); CleanupAllGeneratedFiles(src.Path);
} }
/// <summary>
/// Script compilation should be internal only.
/// </summary>
[WorkItem(1979, "https://github.com/dotnet/roslyn/issues/1979")]
[Fact]
public void ScriptCompilationInternalOnly()
{
const string source = @"System.Console.WriteLine();";
var dir = Temp.CreateDirectory();
var file = dir.CreateFile("c.csx");
file.WriteAllText(source);
// Compiling script file with internal API should be supported.
var compilation = CreateCompilationWithMscorlib(
source,
sourceFileName: file.Path,
parseOptions: new CSharpParseOptions(kind: SourceCodeKind.Script),
options: new CSharpCompilationOptions(OutputKind.ConsoleApplication));
compilation.VerifyDiagnostics();
// Compiling with command-line compiler, should not treat .csx as script.
var compiler = new MockCSharpCompiler(null, _baseDirectory, new[] { "/nologo", "/preferreduilang:en", file.Path });
var outWriter = new StringWriter(CultureInfo.InvariantCulture);
int exitCode = compiler.Run(outWriter);
Assert.Equal(1, exitCode);
Assert.True(outWriter.ToString().Contains("(1,25): error CS1022: Type or namespace definition, or end-of-file expected"));
CleanupAllGeneratedFiles(file.Path);
}
} }
[DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)] [DiagnosticAnalyzer(LanguageNames.CSharp, LanguageNames.VisualBasic)]
......
...@@ -773,7 +773,6 @@ internal IEnumerable<string> ResolveRelativePaths(IEnumerable<string> paths, str ...@@ -773,7 +773,6 @@ internal IEnumerable<string> ResolveRelativePaths(IEnumerable<string> paths, str
private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath) private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath)
{ {
#if SCRIPTING
string extension = PathUtilities.GetExtension(resolvedPath); string extension = PathUtilities.GetExtension(resolvedPath);
bool isScriptFile; bool isScriptFile;
...@@ -787,9 +786,6 @@ private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath) ...@@ -787,9 +786,6 @@ private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath)
} }
return new CommandLineSourceFile(resolvedPath, isScriptFile); return new CommandLineSourceFile(resolvedPath, isScriptFile);
#else
return new CommandLineSourceFile(resolvedPath, isScript: false);
#endif
} }
internal IEnumerable<CommandLineSourceFile> ParseFileArgument(string arg, string baseDirectory, IList<Diagnostic> errors) internal IEnumerable<CommandLineSourceFile> ParseFileArgument(string arg, string baseDirectory, IList<Diagnostic> errors)
......
...@@ -32,12 +32,12 @@ internal ParseOptions(SourceCodeKind kind, DocumentationMode documentationMode) ...@@ -32,12 +32,12 @@ internal ParseOptions(SourceCodeKind kind, DocumentationMode documentationMode)
/// <summary> /// <summary>
/// Creates a new options instance with the specified source code kind. /// Creates a new options instance with the specified source code kind.
/// </summary> /// </summary>
internal ParseOptions WithKind(SourceCodeKind kind) public ParseOptions WithKind(SourceCodeKind kind)
{ {
return CommonWithKind(kind); return CommonWithKind(kind);
} }
internal abstract ParseOptions CommonWithKind(SourceCodeKind kind); public abstract ParseOptions CommonWithKind(SourceCodeKind kind);
/// <summary> /// <summary>
/// Creates a new options instance with the specified documentation mode. /// Creates a new options instance with the specified documentation mode.
......
...@@ -752,6 +752,7 @@ Microsoft.CodeAnalysis.ParseOptions.Kind.get -> Microsoft.CodeAnalysis.SourceCod ...@@ -752,6 +752,7 @@ Microsoft.CodeAnalysis.ParseOptions.Kind.get -> Microsoft.CodeAnalysis.SourceCod
Microsoft.CodeAnalysis.ParseOptions.Kind.set -> void Microsoft.CodeAnalysis.ParseOptions.Kind.set -> void
Microsoft.CodeAnalysis.ParseOptions.WithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions Microsoft.CodeAnalysis.ParseOptions.WithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions
Microsoft.CodeAnalysis.ParseOptions.WithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions Microsoft.CodeAnalysis.ParseOptions.WithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions
Microsoft.CodeAnalysis.ParseOptions.WithKind(Microsoft.CodeAnalysis.SourceCodeKind kind) -> Microsoft.CodeAnalysis.ParseOptions
Microsoft.CodeAnalysis.Platform Microsoft.CodeAnalysis.Platform
Microsoft.CodeAnalysis.Platform.AnyCpu = 0 -> Microsoft.CodeAnalysis.Platform Microsoft.CodeAnalysis.Platform.AnyCpu = 0 -> Microsoft.CodeAnalysis.Platform
Microsoft.CodeAnalysis.Platform.AnyCpu32BitPreferred = 4 -> Microsoft.CodeAnalysis.Platform Microsoft.CodeAnalysis.Platform.AnyCpu32BitPreferred = 4 -> Microsoft.CodeAnalysis.Platform
...@@ -1648,6 +1649,7 @@ abstract Microsoft.CodeAnalysis.Metadata.Kind.get -> Microsoft.CodeAnalysis.Meta ...@@ -1648,6 +1649,7 @@ abstract Microsoft.CodeAnalysis.Metadata.Kind.get -> Microsoft.CodeAnalysis.Meta
abstract Microsoft.CodeAnalysis.MetadataReferenceResolver.ResolveReference(string reference, string baseFilePath, Microsoft.CodeAnalysis.MetadataReferenceProperties properties) -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.PortableExecutableReference> abstract Microsoft.CodeAnalysis.MetadataReferenceResolver.ResolveReference(string reference, string baseFilePath, Microsoft.CodeAnalysis.MetadataReferenceProperties properties) -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.PortableExecutableReference>
abstract Microsoft.CodeAnalysis.ParseOptions.CommonWithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions abstract Microsoft.CodeAnalysis.ParseOptions.CommonWithDocumentationMode(Microsoft.CodeAnalysis.DocumentationMode documentationMode) -> Microsoft.CodeAnalysis.ParseOptions
abstract Microsoft.CodeAnalysis.ParseOptions.CommonWithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions abstract Microsoft.CodeAnalysis.ParseOptions.CommonWithFeatures(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>> features) -> Microsoft.CodeAnalysis.ParseOptions
abstract Microsoft.CodeAnalysis.ParseOptions.CommonWithKind(Microsoft.CodeAnalysis.SourceCodeKind kind) -> Microsoft.CodeAnalysis.ParseOptions
abstract Microsoft.CodeAnalysis.ParseOptions.Features.get -> System.Collections.Generic.IReadOnlyDictionary<string, string> abstract Microsoft.CodeAnalysis.ParseOptions.Features.get -> System.Collections.Generic.IReadOnlyDictionary<string, string>
abstract Microsoft.CodeAnalysis.ParseOptions.PreprocessorSymbolNames.get -> System.Collections.Generic.IEnumerable<string> abstract Microsoft.CodeAnalysis.ParseOptions.PreprocessorSymbolNames.get -> System.Collections.Generic.IEnumerable<string>
abstract Microsoft.CodeAnalysis.PortableExecutableReference.CreateDocumentationProvider() -> Microsoft.CodeAnalysis.DocumentationProvider abstract Microsoft.CodeAnalysis.PortableExecutableReference.CreateDocumentationProvider() -> Microsoft.CodeAnalysis.DocumentationProvider
...@@ -2257,4 +2259,4 @@ virtual Microsoft.CodeAnalysis.Text.SourceText.WithChanges(System.Collections.Ge ...@@ -2257,4 +2259,4 @@ virtual Microsoft.CodeAnalysis.Text.SourceText.WithChanges(System.Collections.Ge
virtual Microsoft.CodeAnalysis.Text.SourceText.Write(System.IO.TextWriter writer, Microsoft.CodeAnalysis.Text.TextSpan span, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> void virtual Microsoft.CodeAnalysis.Text.SourceText.Write(System.IO.TextWriter writer, Microsoft.CodeAnalysis.Text.TextSpan span, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> void
virtual Microsoft.CodeAnalysis.Text.TextLineCollection.GetLineFromPosition(int position) -> Microsoft.CodeAnalysis.Text.TextLine virtual Microsoft.CodeAnalysis.Text.TextLineCollection.GetLineFromPosition(int position) -> Microsoft.CodeAnalysis.Text.TextLine
virtual Microsoft.CodeAnalysis.Text.TextLineCollection.GetLinePosition(int position) -> Microsoft.CodeAnalysis.Text.LinePosition virtual Microsoft.CodeAnalysis.Text.TextLineCollection.GetLinePosition(int position) -> Microsoft.CodeAnalysis.Text.LinePosition
virtual Microsoft.CodeAnalysis.XmlFileResolver.FileExists(string resolvedPath) -> bool virtual Microsoft.CodeAnalysis.XmlFileResolver.FileExists(string resolvedPath) -> bool
\ No newline at end of file
...@@ -3231,6 +3231,7 @@ Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.LanguageVersion() -> ...@@ -3231,6 +3231,7 @@ Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.LanguageVersion() ->
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.New(languageVersion As Microsoft.CodeAnalysis.VisualBasic.LanguageVersion = Microsoft.CodeAnalysis.VisualBasic.LanguageVersion.VisualBasic14, documentationMode As Microsoft.CodeAnalysis.DocumentationMode = Microsoft.CodeAnalysis.DocumentationMode.Parse, kind As Microsoft.CodeAnalysis.SourceCodeKind = Microsoft.CodeAnalysis.SourceCodeKind.Regular, preprocessorSymbols As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, Object)) = Nothing) -> Void Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.New(languageVersion As Microsoft.CodeAnalysis.VisualBasic.LanguageVersion = Microsoft.CodeAnalysis.VisualBasic.LanguageVersion.VisualBasic14, documentationMode As Microsoft.CodeAnalysis.DocumentationMode = Microsoft.CodeAnalysis.DocumentationMode.Parse, kind As Microsoft.CodeAnalysis.SourceCodeKind = Microsoft.CodeAnalysis.SourceCodeKind.Regular, preprocessorSymbols As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, Object)) = Nothing) -> Void
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.PreprocessorSymbols() -> System.Collections.Immutable.ImmutableArray(Of System.Collections.Generic.KeyValuePair(Of String, Object)) Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.PreprocessorSymbols() -> System.Collections.Immutable.ImmutableArray(Of System.Collections.Generic.KeyValuePair(Of String, Object))
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithFeatures(features As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, String))) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithFeatures(features As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, String))) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithKind(kind As Microsoft.CodeAnalysis.SourceCodeKind) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithLanguageVersion(version As Microsoft.CodeAnalysis.VisualBasic.LanguageVersion) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithLanguageVersion(version As Microsoft.CodeAnalysis.VisualBasic.LanguageVersion) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithPreprocessorSymbols(ParamArray symbols As System.Collections.Generic.KeyValuePair(Of String, Object)()) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithPreprocessorSymbols(ParamArray symbols As System.Collections.Generic.KeyValuePair(Of String, Object)()) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions
Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithPreprocessorSymbols(symbols As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, Object))) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.WithPreprocessorSymbols(symbols As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, Object))) -> Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions
...@@ -4408,6 +4409,7 @@ Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions.Equal ...@@ -4408,6 +4409,7 @@ Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions.Equal
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions.GetHashCode() -> Integer Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions.GetHashCode() -> Integer
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.CommonWithDocumentationMode(documentationMode As Microsoft.CodeAnalysis.DocumentationMode) -> Microsoft.CodeAnalysis.ParseOptions Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.CommonWithDocumentationMode(documentationMode As Microsoft.CodeAnalysis.DocumentationMode) -> Microsoft.CodeAnalysis.ParseOptions
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.CommonWithFeatures(features As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, String))) -> Microsoft.CodeAnalysis.ParseOptions Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.CommonWithFeatures(features As System.Collections.Generic.IEnumerable(Of System.Collections.Generic.KeyValuePair(Of String, String))) -> Microsoft.CodeAnalysis.ParseOptions
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.CommonWithKind(kind As Microsoft.CodeAnalysis.SourceCodeKind) -> Microsoft.CodeAnalysis.ParseOptions
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.Equals(obj As Object) -> Boolean Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.Equals(obj As Object) -> Boolean
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.Features() -> System.Collections.Generic.IReadOnlyDictionary(Of String, String) Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.Features() -> System.Collections.Generic.IReadOnlyDictionary(Of String, String)
Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.GetHashCode() -> Integer Overrides Microsoft.CodeAnalysis.VisualBasic.VisualBasicParseOptions.GetHashCode() -> Integer
...@@ -154,7 +154,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic ...@@ -154,7 +154,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
''' </summary> ''' </summary>
''' <param name="kind">The parser source code kind.</param> ''' <param name="kind">The parser source code kind.</param>
''' <returns>A new instance of VisualBasicParseOptions if source code kind is different; otherwise current instance.</returns> ''' <returns>A new instance of VisualBasicParseOptions if source code kind is different; otherwise current instance.</returns>
Friend Shadows Function WithKind(kind As SourceCodeKind) As VisualBasicParseOptions Public Shadows Function WithKind(kind As SourceCodeKind) As VisualBasicParseOptions
If kind = Me.Kind Then If kind = Me.Kind Then
Return Me Return Me
End If End If
...@@ -225,7 +225,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic ...@@ -225,7 +225,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
''' </summary> ''' </summary>
''' <param name="kind">The parser source code kind.</param> ''' <param name="kind">The parser source code kind.</param>
''' <returns>A new instance of ParseOptions.</returns> ''' <returns>A new instance of ParseOptions.</returns>
Friend Overrides Function CommonWithKind(kind As SourceCodeKind) As ParseOptions Public Overrides Function CommonWithKind(kind As SourceCodeKind) As ParseOptions
Return WithKind(kind) Return WithKind(kind)
End Function End Function
......
...@@ -7135,35 +7135,6 @@ End Class ...@@ -7135,35 +7135,6 @@ End Class
Assert.Contains(CodeAnalysisResources.AnalyzerExecutionTimeColumnHeader, output, StringComparison.Ordinal) Assert.Contains(CodeAnalysisResources.AnalyzerExecutionTimeColumnHeader, output, StringComparison.Ordinal)
CleanupAllGeneratedFiles(source) CleanupAllGeneratedFiles(source)
End Sub End Sub
''' <summary>
''' Script compilation should be internal only.
''' </summary>
<WorkItem(1979, "https://github.com/dotnet/roslyn/issues/1979")>
<Fact>
Public Sub ScriptCompilationInternalOnly()
Dim source = "System.Console.WriteLine()"
Dim dir = Temp.CreateDirectory()
Dim file = dir.CreateFile("b.vbx")
file.WriteAllText(source)
' Compiling script file with internal API should be supported.
Dim compilation = CreateCompilationWithMscorlib(
<compilation>
<file name="b.vbx"><%= source %></file>
</compilation>,
parseOptions:=New VisualBasicParseOptions(kind:=SourceCodeKind.Script),
options:=New VisualBasicCompilationOptions(OutputKind.ConsoleApplication))
compilation.VerifyDiagnostics()
' Compiling with command-line compiler, should not treat .vbx as script.
Dim cmd = New MockVisualBasicCompiler(Nothing, _baseDirectory, {"/nologo", "/preferreduilang:en", file.Path})
Dim output As StringWriter = New StringWriter()
cmd.Run(output, Nothing)
Assert.True(output.ToString().Contains("error BC30689: Statement cannot appear outside of a method body."))
CleanupAllGeneratedFiles(file.Path)
End Sub
End Class End Class
<DiagnosticAnalyzer(LanguageNames.VisualBasic)> <DiagnosticAnalyzer(LanguageNames.VisualBasic)>
......
...@@ -242,16 +242,12 @@ private DocumentState SetParseOptions(ParseOptions options) ...@@ -242,16 +242,12 @@ private DocumentState SetParseOptions(ParseOptions options)
public DocumentState UpdateSourceCodeKind(SourceCodeKind kind) public DocumentState UpdateSourceCodeKind(SourceCodeKind kind)
{ {
#if SCRIPTING
if (this.ParseOptions == null || kind == this.SourceCodeKind) if (this.ParseOptions == null || kind == this.SourceCodeKind)
{ {
return this; return this;
} }
return this.SetParseOptions(this.ParseOptions.WithKind(kind)); return this.SetParseOptions(this.ParseOptions.WithKind(kind));
#else
return this;
#endif
} }
public DocumentState UpdateFolders(IList<string> folders) public DocumentState UpdateFolders(IList<string> folders)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册