Ejemplo n.º 1
0
        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!")));
        }
Ejemplo n.º 2
0
 CSharpSyntaxNode Convert(VisualBasicSyntaxNode input, SemanticModel semanticModel, Document targetDocument)
 {
     return(VisualBasicConverter.Convert(input, semanticModel, targetDocument));
 }
Ejemplo n.º 3
0
 public async Task <SyntaxNode> SingleFirstPassAsync(Document document)
 {
     return(await VisualBasicConverter.ConvertCompilationTreeAsync(document, _csharpViewOfVbSymbols, _csharpReferenceProject, OptionalOperations, _typeToInheritors, _cancellationToken));
 }
Ejemplo n.º 4
0
 CSharpSyntaxNode Convert(VisualBasicSyntaxNode input, SemanticModel semanticModel, Document targetDocument)
 {
     return(VisualBasicConverter.ConvertSingle((VisualBasicCompilation)semanticModel.Compilation, (VisualBasicSyntaxTree)input.SyntaxTree));
 }