using System.Collections.Generic; using Microsoft.CodeAnalysis; namespace ICSharpCode.CodeConverter.CSharp { public interface ILanguageConversion { SyntaxTree SingleFirstPass(Compilation sourceCompilation, SyntaxTree tree); SyntaxNode SingleSecondPass(KeyValuePair cs); string GetWarningsOrNull(); SyntaxTree CreateTree(string text); Compilation CreateCompilationFromTree(SyntaxTree tree, IEnumerable references); List FindSingleImportantChild(SyntaxNode annotatedNode); bool MustBeContainedByMethod(SyntaxNode node); bool MustBeContainedByClass(SyntaxNode node); string WithSurroundingMethod(string text); string WithSurroundingClass(string text); SyntaxNode GetSurroundedNode(IEnumerable descendantNodes, bool surroundedWithMethod); IReadOnlyCollection<(string, string)> GetProjectTypeGuidMappings(); IEnumerable<(string, string)> GetProjectFileReplacementRegexes(); } }