コード例 #1
0
        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!");
        }
コード例 #2
0
        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!");
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: vaginessa/JavaToCSharp
        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");
                    }
                }
            }
        }
コード例 #4
0
        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);
                    });
                }
            });
        }