public static ConversionResult Convert(CodeWithOptions code) { if (!IsSupportedSource(code.FromLanguage, code.FromLanguageVersion)) { return(new ConversionResult(new NotSupportedException($"Source language {code.FromLanguage} {code.FromLanguageVersion} is not supported!"))); } if (!IsSupportedTarget(code.ToLanguage, code.ToLanguageVersion)) { return(new ConversionResult(new NotSupportedException($"Target language {code.ToLanguage} {code.ToLanguageVersion} is not supported!"))); } if (code.FromLanguage == code.ToLanguage && code.FromLanguageVersion != code.ToLanguageVersion) { return(new ConversionResult(new NotSupportedException($"Converting from {code.FromLanguage} {code.FromLanguageVersion} to {code.ToLanguage} {code.ToLanguageVersion} is not supported!"))); } switch (code.FromLanguage) { case "C#": switch (code.ToLanguage) { case "Visual Basic": return(CSharpConverter.ConvertText(code.Text, code.References)); } break; case "Visual Basic": switch (code.ToLanguage) { case "C#": return(VisualBasicConverter.ConvertText(code.Text, code.References)); } break; } return(new ConversionResult(new NotSupportedException($"Converting from {code.FromLanguage} {code.FromLanguageVersion} to {code.ToLanguage} {code.ToLanguageVersion} is not supported!"))); }
CSharpSyntaxNode Convert(VisualBasicSyntaxNode input, SemanticModel semanticModel, Document targetDocument) { return(VisualBasicConverter.Convert(input, semanticModel, targetDocument)); }
public async Task <SyntaxNode> SingleFirstPassAsync(Document document) { return(await VisualBasicConverter.ConvertCompilationTreeAsync(document, _csharpViewOfVbSymbols, _csharpReferenceProject, OptionalOperations, _typeToInheritors, _cancellationToken)); }
CSharpSyntaxNode Convert(VisualBasicSyntaxNode input, SemanticModel semanticModel, Document targetDocument) { return(VisualBasicConverter.ConvertSingle((VisualBasicCompilation)semanticModel.Compilation, (VisualBasicSyntaxTree)input.SyntaxTree)); }