static void Main(string[] args) { if (args == null || args.Length < 2) { Console.WriteLine("Usage: JavaToCSharpCli.exe [pathToJavaFile] [pathToCsOutputFile]"); return; } if (!File.Exists(args[0])) { Console.WriteLine("Java input file doesn't exist!"); return; } var javaText = File.ReadAllText(args[0]); // HACK for testing var options = new JavaConversionOptions() .AddPackageReplacement("org\\.apache\\.lucene", "Lucene.Net") .AddUsing("Lucene.Net") .AddUsing("Lucene.Net.Support") .AddUsing("Lucene.Net.Util"); var parsed = JavaToCSharpConverter.ConvertText(javaText, options); File.WriteAllText(args[1], parsed); Console.WriteLine("Done!"); }
static void Main(string[] args) { if (args == null || args.Length < 2) { Console.WriteLine("Usage: JavaToCSharpCli.exe [pathToJavaDir] [pathToCsOutputDir]"); return; } //if (!File.Exists(args[0])) //{ // Console.WriteLine("Java input file doesn't exist!"); // return; //} var inputDir = args[0]; var outputDir = args[1]; var inputInfo = new DirectoryInfo(inputDir); var outputInfo = new DirectoryInfo(outputDir); var files = inputInfo.GetFiles("*.java", SearchOption.AllDirectories); var filePaths = files.Select(x => x.FullName).ToList(); if (filePaths.Any()) { var options = new JavaConversionOptions(); var inOutPairs = filePaths.ToDictionary(fileIn => fileIn, fileIn => $"{fileIn.Replace(inputInfo.FullName, outputInfo.FullName)}.cs"); WriteAllFiles(inOutPairs, options); } Console.WriteLine("Done!"); Console.ReadKey(); }
private static void WriteAllFiles(Dictionary <string, string> files, JavaConversionOptions options) { foreach (var file in files) { var directoryName = new FileInfo(file.Value).DirectoryName; if (directoryName != null) { Directory.CreateDirectory(directoryName); } if (!File.Exists(file.Value)) { var javaText = File.ReadAllText(file.Key); try { var parsed = JavaToCSharpConverter.ConvertText(javaText, options); File.WriteAllText(file.Value, parsed); } catch (Exception e) { Console.WriteLine(e); Console.WriteLine($"Skipping file {file.Value} that would write to {file.Key}\n\n"); } } } }
public static void Main(string[] args) { if (args == null || args.Length < 2) { Console.WriteLine("Usage: JavaToCSharpCli.exe [pathToJavaFile] [pathToCsOutputFile]"); return; } if (!File.Exists(args[0])) { Console.WriteLine("Java input file doesn't exist!"); return; } var javaText = File.ReadAllText(args[0]); var options = new JavaConversionOptions(); options.WarningEncountered += (sender, eventArgs) => Console.WriteLine($"[WARNING] Line {eventArgs.JavaLineNumber}: {eventArgs.Message}"); var parsed = JavaToCSharpConverter.ConvertText(javaText, options); File.WriteAllText(args[1], parsed); Console.WriteLine("Done!"); }
public void Convert() { var options = new JavaConversionOptions(); options.ClearUsings(); foreach (var ns in _usings) { options.AddUsing(ns); } options.IncludeUsings = _includeUsings; options.IncludeNamespace = _includeNamespace; options.UseDebugAssertForAsserts = _useDebugAssertForAsserts; options.WarningEncountered += options_WarningEncountered; options.StateChanged += options_StateChanged; Task.Run(() => { try { var csharp = JavaToCSharpConverter.ConvertText(JavaText, options); Dispatcher.CurrentDispatcher.Invoke(() => this.CSharpText = csharp); } catch (Exception ex) { Dispatcher.CurrentDispatcher.Invoke(() => { MessageBox.Show("There was an error converting the text to C#: " + ex.Message); }); } }); }
public static string ConvertStatement(string java) { var statement = JavaParser.parseStatement(java); var options = new JavaConversionOptions(); var context = new ConversionContext(options); var statementSyntax = StatementVisitor.VisitStatement(context, statement); var tree = CSharpSyntaxTree.Create(statementSyntax); return tree.GetText().ToString(); }
public static string ConvertStatement(string java) { var statement = JavaParser.parseStatement(java); var options = new JavaConversionOptions(); var context = new ConversionContext(options); var statementSyntax = StatementVisitor.VisitStatement(context, statement); var tree = CSharpSyntaxTree.Create(statementSyntax); return(tree.GetText().ToString()); }
private static string ConvertStatement(string java) { var declaration = JavaParser.parseBodyDeclaration(java); var options = new JavaConversionOptions(); var context = new ConversionContext(options); var arrayCreationExpression = (ArrayCreationExpr)((Node)((MethodDeclaration)declaration.getChildrenNodes().get(1)).getBody().getStmts().get(0)).getChildrenNodes().get(0); var expressionSyntax = ExpressionVisitor.VisitExpression(context, arrayCreationExpression).NormalizeWhitespace(); var tree = CSharpSyntaxTree.Create(expressionSyntax); return(tree.GetText().ToString()); }
public static string ConvertMethodDeclaration(string java) { var javaClassDeclaration = @" class A { " + java + @" }"; var declaration = JavaParser.parseBodyDeclaration(javaClassDeclaration); var options = new JavaConversionOptions(); var context = new ConversionContext(options); var classDeclaration = SyntaxFactory.ClassDeclaration("A"); var statementSyntax = BodyDeclarationVisitor.VisitBodyDeclarationForClass(context, classDeclaration, (BodyDeclaration)declaration.getChildrenNodes().get(0)) .NormalizeWhitespace(); var tree = CSharpSyntaxTree.Create(statementSyntax); return tree.GetText().ToString(); }
public static string ConvertMethodDeclaration(string java) { var javaClassDeclaration = @" class A { " + java + @" }"; var declaration = JavaParser.parseBodyDeclaration(javaClassDeclaration); var options = new JavaConversionOptions(); var context = new ConversionContext(options); var classDeclaration = SyntaxFactory.ClassDeclaration("A"); var statementSyntax = BodyDeclarationVisitor.VisitBodyDeclarationForClass(context, classDeclaration, (BodyDeclaration)declaration.getChildrenNodes().get(0)) .NormalizeWhitespace(); var tree = CSharpSyntaxTree.Create(statementSyntax); return(tree.GetText().ToString()); }