150 DUMP_CLASS_FILES_COUNTERS = new HashMap<>();
151 try {
152 File dumpDir = new File("DUMP_CLASS_FILES");
153 if (!dumpDir.exists()) {
154 dumpDir.mkdirs();
155 }
156 DUMP_CLASS_FILES_DIR = dumpDir;
157 System.out.println("Dumping class files to "+DUMP_CLASS_FILES_DIR+"/...");
158 } catch (Exception e) {
159 throw newInternalError(e);
160 }
161 } else {
162 DUMP_CLASS_FILES_COUNTERS = null;
163 DUMP_CLASS_FILES_DIR = null;
164 }
165 }
166
167 static void maybeDump(final String className, final byte[] classFile) {
168 if (DUMP_CLASS_FILES) {
169 java.security.AccessController.doPrivileged(
170 new java.security.PrivilegedAction<Void>() {
171 public Void run() {
172 try {
173 String dumpName = className;
174 //dumpName = dumpName.replace('/', '-');
175 File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class");
176 System.out.println("dump: " + dumpFile);
177 dumpFile.getParentFile().mkdirs();
178 FileOutputStream file = new FileOutputStream(dumpFile);
179 file.write(classFile);
180 file.close();
181 return null;
182 } catch (IOException ex) {
183 throw newInternalError(ex);
184 }
185 }
186 });
187 }
188
189 }
190
|
150 DUMP_CLASS_FILES_COUNTERS = new HashMap<>();
151 try {
152 File dumpDir = new File("DUMP_CLASS_FILES");
153 if (!dumpDir.exists()) {
154 dumpDir.mkdirs();
155 }
156 DUMP_CLASS_FILES_DIR = dumpDir;
157 System.out.println("Dumping class files to "+DUMP_CLASS_FILES_DIR+"/...");
158 } catch (Exception e) {
159 throw newInternalError(e);
160 }
161 } else {
162 DUMP_CLASS_FILES_COUNTERS = null;
163 DUMP_CLASS_FILES_DIR = null;
164 }
165 }
166
167 static void maybeDump(final String className, final byte[] classFile) {
168 if (DUMP_CLASS_FILES) {
169 java.security.AccessController.doPrivileged(
170 new java.security.PrivilegedAction<>() {
171 public Void run() {
172 try {
173 String dumpName = className;
174 //dumpName = dumpName.replace('/', '-');
175 File dumpFile = new File(DUMP_CLASS_FILES_DIR, dumpName+".class");
176 System.out.println("dump: " + dumpFile);
177 dumpFile.getParentFile().mkdirs();
178 FileOutputStream file = new FileOutputStream(dumpFile);
179 file.write(classFile);
180 file.close();
181 return null;
182 } catch (IOException ex) {
183 throw newInternalError(ex);
184 }
185 }
186 });
187 }
188
189 }
190
|