From 3bf648ed56c3262848cb89e8c6a4d73798de7b7f Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Sat, 9 Jun 2012 23:25:40 +0400 Subject: [PATCH] repl: dump bytecode command --- .../org/jetbrains/jet/cli/jvm/repl/ReplFromTerminal.java | 6 ++++++ .../src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplFromTerminal.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplFromTerminal.java index b1484a89665..e7ee970110c 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplFromTerminal.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplFromTerminal.java @@ -25,6 +25,7 @@ import org.jetbrains.jet.utils.ExceptionUtils; import java.io.File; import java.io.IOException; +import java.io.PrintWriter; import java.util.Collections; import java.util.List; @@ -130,6 +131,11 @@ public class ReplFromTerminal { System.out.println("Available commands are:"); System.out.println(":help show this help"); System.out.println(":quit exit the interpreter"); + System.out.println(":dump bytecode dump classes to terminal"); + return true; + } + else if (command.equals("dump bytecode")) { + getReplInterpreter().dumpClasses(new PrintWriter(System.out)); return true; } else if (command.equals("quit")) { diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java index c9147b536bf..8e437b367e5 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/repl/ReplInterpreter.java @@ -59,6 +59,7 @@ import org.jetbrains.jet.utils.ExceptionUtils; import org.jetbrains.jet.utils.Progress; import java.io.File; +import java.io.PrintStream; import java.io.PrintWriter; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -219,4 +220,8 @@ public class ReplInterpreter { return scriptDescriptor; } + + public void dumpClasses(@NotNull PrintWriter out) { + classLoader.dumpClasses(out); + } }