Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
08d4f343
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
08d4f343
编写于
11月 29, 2017
作者:
D
Dustin Campbell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change internal property name from IsScript to IsScriptCommandLineParser
上级
b74c5293
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
33 deletion
+33
-33
src/Compilers/CSharp/Portable/CommandLine/CSharpCommandLineParser.cs
...rs/CSharp/Portable/CommandLine/CSharpCommandLineParser.cs
+15
-15
src/Compilers/Core/Portable/CommandLine/CommonCommandLineParser.cs
...lers/Core/Portable/CommandLine/CommonCommandLineParser.cs
+5
-5
src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb
...asic/Portable/CommandLine/VisualBasicCommandLineParser.vb
+13
-13
未找到文件。
src/Compilers/CSharp/Portable/CommandLine/CSharpCommandLineParser.cs
浏览文件 @
08d4f343
...
...
@@ -18,12 +18,12 @@ namespace Microsoft.CodeAnalysis.CSharp
public
class
CSharpCommandLineParser
:
CommandLineParser
{
public
static
CSharpCommandLineParser
Default
{
get
;
}
=
new
CSharpCommandLineParser
();
public
static
CSharpCommandLineParser
Script
{
get
;
}
=
new
CSharpCommandLineParser
(
isScript
:
true
);
public
static
CSharpCommandLineParser
Script
{
get
;
}
=
new
CSharpCommandLineParser
(
isScript
CommandLineParser
:
true
);
private
readonly
static
char
[]
s_quoteOrEquals
=
new
[]
{
'"'
,
'='
};
internal
CSharpCommandLineParser
(
bool
isScript
=
false
)
:
base
(
CSharp
.
MessageProvider
.
Instance
,
isScript
)
internal
CSharpCommandLineParser
(
bool
isScript
CommandLineParser
=
false
)
:
base
(
CSharp
.
MessageProvider
.
Instance
,
isScript
CommandLineParser
)
{
}
...
...
@@ -47,8 +47,8 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
{
List
<
Diagnostic
>
diagnostics
=
new
List
<
Diagnostic
>();
List
<
string
>
flattenedArgs
=
new
List
<
string
>();
List
<
string
>
scriptArgs
=
IsScript
?
new
List
<
string
>()
:
null
;
List
<
string
>
responsePaths
=
IsScript
?
new
List
<
string
>()
:
null
;
List
<
string
>
scriptArgs
=
IsScript
CommandLineParser
?
new
List
<
string
>()
:
null
;
List
<
string
>
responsePaths
=
IsScript
CommandLineParser
?
new
List
<
string
>()
:
null
;
FlattenArgs
(
args
,
diagnostics
,
flattenedArgs
,
scriptArgs
,
baseDirectory
,
responsePaths
);
string
appConfigPath
=
null
;
...
...
@@ -65,7 +65,7 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
DebugInformationFormat
debugInformationFormat
=
PathUtilities
.
IsUnixLikePlatform
?
DebugInformationFormat
.
PortablePdb
:
DebugInformationFormat
.
Pdb
;
bool
debugPlus
=
false
;
string
pdbPath
=
null
;
bool
noStdLib
=
IsScript
;
// don't add mscorlib from sdk dir when running scripts
bool
noStdLib
=
IsScript
CommandLineParser
;
// don't add mscorlib from sdk dir when running scripts
string
outputDirectory
=
baseDirectory
;
ImmutableArray
<
KeyValuePair
<
string
,
string
>>
pathMap
=
ImmutableArray
<
KeyValuePair
<
string
,
string
>>.
Empty
;
string
outputFileName
=
null
;
...
...
@@ -129,7 +129,7 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
// Process ruleset files first so that diagnostic severity settings specified on the command line via
// /nowarn and /warnaserror can override diagnostic severity settings specified in the ruleset file.
if
(!
IsScript
)
if
(!
IsScript
CommandLineParser
)
{
foreach
(
string
arg
in
flattenedArgs
)
{
...
...
@@ -207,7 +207,7 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
#endif
}
if
(
IsScript
)
if
(
IsScript
CommandLineParser
)
{
switch
(
name
)
{
...
...
@@ -1193,7 +1193,7 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
AddDiagnostic
(
diagnostics
,
diagnosticOptions
,
ErrorCode
.
ERR_NoNetModuleOutputWhenRefOutOrRefOnly
);
}
if
(!
IsScript
&&
!
sourceFilesSpecified
&&
(
outputKind
.
IsNetModule
()
||
!
resourcesOrModulesSpecified
))
if
(!
IsScript
CommandLineParser
&&
!
sourceFilesSpecified
&&
(
outputKind
.
IsNetModule
()
||
!
resourcesOrModulesSpecified
))
{
AddDiagnostic
(
diagnostics
,
diagnosticOptions
,
ErrorCode
.
WRN_NoSources
);
}
...
...
@@ -1261,7 +1261,7 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
languageVersion
:
languageVersion
,
preprocessorSymbols
:
defines
.
ToImmutableAndFree
(),
documentationMode
:
parseDocumentationComments
?
DocumentationMode
.
Diagnose
:
DocumentationMode
.
None
,
kind
:
IsScript
?
SourceCodeKind
.
Script
:
SourceCodeKind
.
Regular
,
kind
:
IsScript
CommandLineParser
?
SourceCodeKind
.
Script
:
SourceCodeKind
.
Regular
,
features
:
parsedFeatures
);
...
...
@@ -1318,8 +1318,8 @@ public new CSharpCommandLineArguments Parse(IEnumerable<string> args, string bas
return
new
CSharpCommandLineArguments
{
IsScriptRunner
=
IsScript
,
InteractiveMode
=
interactiveMode
||
IsScript
&&
sourceFiles
.
Count
==
0
,
IsScriptRunner
=
IsScript
CommandLineParser
,
InteractiveMode
=
interactiveMode
||
IsScript
CommandLineParser
&&
sourceFiles
.
Count
==
0
,
BaseDirectory
=
baseDirectory
,
PathMap
=
pathMap
,
Errors
=
diagnostics
.
AsImmutable
(),
...
...
@@ -1432,7 +1432,7 @@ private static string GetWin32Setting(string arg, string value, List<Diagnostic>
// names from the files containing their entrypoints and libraries derive their names from
// their first input files.
if
(!
IsScript
&&
!
sourceFilesSpecified
)
if
(!
IsScript
CommandLineParser
&&
!
sourceFilesSpecified
)
{
AddDiagnostic
(
diagnostics
,
ErrorCode
.
ERR_OutputNeedsName
);
simpleName
=
null
;
...
...
@@ -1466,7 +1466,7 @@ private static string GetWin32Setting(string arg, string value, List<Diagnostic>
if
(
outputKind
.
IsNetModule
())
{
Debug
.
Assert
(!
IsScript
);
Debug
.
Assert
(!
IsScript
CommandLineParser
);
compilationName
=
moduleAssemblyName
;
}
...
...
@@ -1508,7 +1508,7 @@ private ImmutableArray<string> BuildSearchPaths(string sdkDirectoryOpt, List<str
// with references relative to csi.exe (e.g. System.ValueTuple.dll).
if
(
responsePathsOpt
!=
null
)
{
Debug
.
Assert
(
IsScript
);
Debug
.
Assert
(
IsScript
CommandLineParser
);
builder
.
AddRange
(
responsePathsOpt
);
}
...
...
src/Compilers/Core/Portable/CommandLine/CommonCommandLineParser.cs
浏览文件 @
08d4f343
...
...
@@ -17,14 +17,14 @@ namespace Microsoft.CodeAnalysis
public
abstract
class
CommandLineParser
{
private
readonly
CommonMessageProvider
_messageProvider
;
internal
readonly
bool
IsScript
;
internal
readonly
bool
IsScript
CommandLineParser
;
private
static
readonly
char
[]
s_searchPatternTrimChars
=
new
char
[]
{
'\t'
,
'\n'
,
'\v'
,
'\f'
,
'\r'
,
' '
,
'\
x0085
'
,
'\
x00a0
'
};
internal
CommandLineParser
(
CommonMessageProvider
messageProvider
,
bool
isScript
)
internal
CommandLineParser
(
CommonMessageProvider
messageProvider
,
bool
isScript
CommandLineParser
)
{
Debug
.
Assert
(
messageProvider
!=
null
);
_messageProvider
=
messageProvider
;
IsScript
=
isScript
;
IsScript
CommandLineParser
=
isScriptCommandLineParser
;
}
internal
CommonMessageProvider
MessageProvider
...
...
@@ -793,7 +793,7 @@ private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath)
string
extension
=
PathUtilities
.
GetExtension
(
resolvedPath
);
bool
isScriptFile
;
if
(
IsScript
)
if
(
IsScript
CommandLineParser
)
{
isScriptFile
=
!
string
.
Equals
(
extension
,
RegularFileExtension
,
StringComparison
.
OrdinalIgnoreCase
);
}
...
...
@@ -809,7 +809,7 @@ private CommandLineSourceFile ToCommandLineSourceFile(string resolvedPath)
internal
IEnumerable
<
CommandLineSourceFile
>
ParseFileArgument
(
string
arg
,
string
baseDirectory
,
IList
<
Diagnostic
>
errors
)
{
Debug
.
Assert
(
IsScript
||
!
arg
.
StartsWith
(
"-"
,
StringComparison
.
Ordinal
)
&&
!
arg
.
StartsWith
(
"@"
,
StringComparison
.
Ordinal
));
Debug
.
Assert
(
IsScript
CommandLineParser
||
!
arg
.
StartsWith
(
"-"
,
StringComparison
.
Ordinal
)
&&
!
arg
.
StartsWith
(
"@"
,
StringComparison
.
Ordinal
));
// We remove all doubles quotes from a file name. So that, for example:
// "Path With Spaces"\goo.cs
...
...
src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb
浏览文件 @
08d4f343
...
...
@@ -25,14 +25,14 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
''' <summary>
''' Gets the current interactive command line parser.
''' </summary>
Public
Shared
ReadOnly
Property
Script
As
New
VisualBasicCommandLineParser
(
isScript
:
=
True
)
Public
Shared
ReadOnly
Property
Script
As
New
VisualBasicCommandLineParser
(
isScript
CommandLineParser
:
=
True
)
''' <summary>
''' Creates a new command line parser.
''' </summary>
''' <param name="isScript">An optional parameter indicating whether to create a interactive command line parser.</param>
Friend
Sub
New
(
Optional
isScript
As
Boolean
=
False
)
MyBase
.
New
(
VisualBasic
.
MessageProvider
.
Instance
,
isScript
)
''' <param name="isScript
CommandLineParser
">An optional parameter indicating whether to create a interactive command line parser.</param>
Friend
Sub
New
(
Optional
isScript
CommandLineParser
As
Boolean
=
False
)
MyBase
.
New
(
VisualBasic
.
MessageProvider
.
Instance
,
isScript
CommandLineParser
)
End
Sub
Private
Const
s_win32Manifest
As
String
=
"win32manifest"
...
...
@@ -76,7 +76,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Dim
diagnostics
As
List
(
Of
Diagnostic
)
=
New
List
(
Of
Diagnostic
)()
Dim
flattenedArgs
As
List
(
Of
String
)
=
New
List
(
Of
String
)()
Dim
scriptArgs
As
List
(
Of
String
)
=
If
(
IsScript
,
New
List
(
Of
String
)(),
Nothing
)
Dim
scriptArgs
As
List
(
Of
String
)
=
If
(
IsScript
CommandLineParser
,
New
List
(
Of
String
)(),
Nothing
)
' normalized paths to directories containing response files:
Dim
responsePaths
As
New
List
(
Of
String
)
...
...
@@ -163,7 +163,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
' Process ruleset files first so that diagnostic severity settings specified on the command line via
' /nowarn and /warnaserror can override diagnostic severity settings specified in the ruleset file.
If
Not
IsScript
Then
If
Not
IsScript
CommandLineParser
Then
For
Each
arg
In
flattenedArgs
Dim
name
As
String
=
Nothing
Dim
value
As
String
=
Nothing
...
...
@@ -418,7 +418,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
#End If
End
Select
If
IsScript
Then
If
IsScript
CommandLineParser
Then
Select
Case
name
Case
"i"
,
"i+"
If
value
IsNot
Nothing
Then
...
...
@@ -1205,7 +1205,7 @@ lVbRuntimePlus:
AddDiagnostic
(
diagnostics
,
ERRID
.
ERR_NoNetModuleOutputWhenRefOutOrRefOnly
)
End
If
If
Not
IsScript
AndAlso
Not
hasSourceFiles
AndAlso
managedResources
.
IsEmpty
()
Then
If
Not
IsScript
CommandLineParser
AndAlso
Not
hasSourceFiles
AndAlso
managedResources
.
IsEmpty
()
Then
' VB displays help when there is nothing specified on the command line
If
flattenedArgs
.
Any
Then
AddDiagnostic
(
diagnostics
,
ERRID
.
ERR_NoSources
)
...
...
@@ -1300,7 +1300,7 @@ lVbRuntimePlus:
Dim
compilationName
As
String
=
Nothing
GetCompilationAndModuleNames
(
diagnostics
,
outputKind
,
sourceFiles
,
moduleAssemblyName
,
outputFileName
,
moduleName
,
compilationName
)
If
Not
IsScript
AndAlso
If
Not
IsScript
CommandLineParser
AndAlso
Not
hasSourceFiles
AndAlso
Not
managedResources
.
IsEmpty
()
AndAlso
outputFileName
=
Nothing
AndAlso
...
...
@@ -1312,7 +1312,7 @@ lVbRuntimePlus:
Dim
parseOptions
=
New
VisualBasicParseOptions
(
languageVersion
:
=
languageVersion
,
documentationMode
:
=
If
(
parseDocumentationComments
,
DocumentationMode
.
Diagnose
,
DocumentationMode
.
None
),
kind
:
=
If
(
IsScript
,
SourceCodeKind
.
Script
,
SourceCodeKind
.
Regular
),
kind
:
=
If
(
IsScript
CommandLineParser
,
SourceCodeKind
.
Script
,
SourceCodeKind
.
Regular
),
preprocessorSymbols
:
=
AddPredefinedPreprocessorSymbols
(
outputKind
,
defines
.
AsImmutableOrEmpty
()),
features
:
=
parsedFeatures
)
...
...
@@ -1369,11 +1369,11 @@ lVbRuntimePlus:
' Enable interactive mode if either `\i` option is passed in or no arguments are specified (`vbi`, `vbi script.vbx \i`).
' If the script is passed without the `\i` option simply execute the script (`vbi script.vbx`).
interactiveMode
=
interactiveMode
Or
(
IsScript
AndAlso
sourceFiles
.
Count
=
0
)
interactiveMode
=
interactiveMode
Or
(
IsScript
CommandLineParser
AndAlso
sourceFiles
.
Count
=
0
)
Return
New
VisualBasicCommandLineArguments
With
{
.
IsScriptRunner
=
IsScript
,
.
IsScriptRunner
=
IsScript
CommandLineParser
,
.
InteractiveMode
=
interactiveMode
,
.
BaseDirectory
=
baseDirectory
,
.
Errors
=
diagnostics
.
AsImmutable
(),
...
...
@@ -2240,7 +2240,7 @@ lVbRuntimePlus:
End
If
If
kind
.
IsNetModule
()
Then
Debug
.
Assert
(
Not
IsScript
)
Debug
.
Assert
(
Not
IsScript
CommandLineParser
)
compilationName
=
moduleAssemblyName
Else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录