public SyntaxTree[] GetSyntaxTrees(CSharpParseOptions parseOptions, string sourceFileName = "") { switch (Value) { case string source: return(new[] { CSharpTestBase.Parse(source, filename: sourceFileName, parseOptions) }); case string[] sources: Debug.Assert(string.IsNullOrEmpty(sourceFileName)); return(CSharpTestBase.Parse(parseOptions, sources)); case SyntaxTree tree: Debug.Assert(parseOptions == null); Debug.Assert(string.IsNullOrEmpty(sourceFileName)); return(new[] { tree }); case SyntaxTree[] trees: Debug.Assert(parseOptions == null); Debug.Assert(string.IsNullOrEmpty(sourceFileName)); return(trees); case CSharpTestSource[] testSources: return(testSources.SelectMany(s => s.GetSyntaxTrees(parseOptions, sourceFileName)).ToArray()); case null: return(Array.Empty <SyntaxTree>()); default: throw new Exception($"Unexpected value: {Value}"); } }
public SyntaxTree[] GetSyntaxTrees(CSharpParseOptions parseOptions, string sourceFileName = "") { switch (Value) { case string source: return(new[] { CSharpTestBase.Parse(source, filename: sourceFileName, parseOptions) }); case string[] sources: Debug.Assert(string.IsNullOrEmpty(sourceFileName)); return(CSharpTestBase.Parse(parseOptions, sources)); case (string source, string fileName): Debug.Assert(string.IsNullOrEmpty(sourceFileName)); return(new[] { CSharpTestBase.Parse(source, fileName, parseOptions) }); case (string Source, string FileName)[] sources:
public static CSharpCompilation CreateWinRtCompilation(string text) { return(CSharpTestBase.CreateCompilationWithMscorlib(text, WinRtRefs, TestOptions.Exe)); }
public static CSharpCompilation CreateWinRtCompilation(string text, MetadataReference[] additionalRefs = null) { return(CSharpTestBase.CreateCompilation(text, WinRtRefs.Concat(additionalRefs ?? Enumerable.Empty <MetadataReference>()), TestOptions.ReleaseExe)); }