[Dashg-commit] SF.net SVN: dashg:[25] trunk/dashg/src/com/mebigfatguy/dashg
Status: Pre-Alpha
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2008-10-28 17:27:11
|
Revision: 25
http://dashg.svn.sourceforge.net/dashg/?rev=25&view=rev
Author: dbrosius
Date: 2008-10-28 17:27:06 +0000 (Tue, 28 Oct 2008)
Log Message:
-----------
get rid of old lineOffsets method of getting source lines (to be replaced with DashGSourceWriter interface
Modified Paths:
--------------
trunk/dashg/src/com/mebigfatguy/dashg/DashGClassAdapter.java
trunk/dashg/src/com/mebigfatguy/dashg/DashGMethodAdapter.java
trunk/dashg/src/com/mebigfatguy/dashg/DashGTask.java
Modified: trunk/dashg/src/com/mebigfatguy/dashg/DashGClassAdapter.java
===================================================================
--- trunk/dashg/src/com/mebigfatguy/dashg/DashGClassAdapter.java 2008-10-28 17:22:58 UTC (rev 24)
+++ trunk/dashg/src/com/mebigfatguy/dashg/DashGClassAdapter.java 2008-10-28 17:27:06 UTC (rev 25)
@@ -18,10 +18,6 @@
*/
package com.mebigfatguy.dashg;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import org.objectweb.asm.ClassAdapter;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.MethodVisitor;
@@ -29,14 +25,8 @@
public class DashGClassAdapter extends ClassAdapter {
- private final String fullyQualifiedName;
- private final Map<String, Map<Integer, Integer>> methodOffsets;
- private final Pattern parmsPattern = Pattern.compile("(\\[*)([IJFDBCZS]|L[^;]*;)");
-
- public DashGClassAdapter(ClassVisitor visitor, String fileName, String fqn, Map<String, Map<Integer, Integer>> offsets) {
+ public DashGClassAdapter(ClassVisitor visitor, String fileName) {
super(visitor);
- fullyQualifiedName = fqn;
- methodOffsets = offsets;
super.visitSource(fileName, null);
}
@@ -49,64 +39,7 @@
if (name.equals("<clinit>"))
return super.visitMethod(access, name, desc, signature, exceptions);
- String nameSig = buildNameParmSig(name, desc);
- Map<Integer, Integer> offsets = methodOffsets.get(nameSig);
MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
-
- if (offsets != null)
- return new DashGMethodAdapter(mv, name+desc, offsets);
- else
- return mv;
+ return new DashGMethodAdapter(mv, name+desc);
}
-
- private String buildNameParmSig(String name, String parm) {
- parm = parm.substring(1);
- int lParenPos = parm.lastIndexOf(')');
- parm = parm.substring(0, lParenPos);
-
- StringBuilder sb = new StringBuilder(name.length() + parm.length());
- if ("<init>".equals(name)) {
- name = fullyQualifiedName;
- }
- sb.append(name);
- sb.append("(");
-
- Matcher m = parmsPattern.matcher(parm);
- String comma = "";
- while (m.find()) {
- sb.append(comma);
- comma = ", ";
-
- String arraySpec = m.group(1);
- String type = m.group(2);
- if (type.startsWith("L")) {
- type = type.substring(1, type.length() - 1);
- type = type.replace('/', '.');
- } else if ("I".equals(type)) {
- type = "int";
- } else if ("J".equals(type)) {
- type = "long";
- } else if ("F".equals(type)) {
- type = "float";
- } else if ("D".equals(type)) {
- type = "double";
- } else if ("C".equals(type)) {
- type = "char";
- } else if ("B".equals(type)) {
- type = "byte";
- } else if ("Z".equals(type)) {
- type = "boolean";
- } else if ("S".equals(type)) {
- type = "short";
- }
- sb.append(type);
- for (int i = 0; i < arraySpec.length(); i++) {
- sb.append("[]");
- }
- }
-
- sb.append(")");
- return sb.toString();
- }
-
}
Modified: trunk/dashg/src/com/mebigfatguy/dashg/DashGMethodAdapter.java
===================================================================
--- trunk/dashg/src/com/mebigfatguy/dashg/DashGMethodAdapter.java 2008-10-28 17:22:58 UTC (rev 24)
+++ trunk/dashg/src/com/mebigfatguy/dashg/DashGMethodAdapter.java 2008-10-28 17:27:06 UTC (rev 25)
@@ -18,20 +18,16 @@
*/
package com.mebigfatguy.dashg;
-import java.util.Map;
-
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodAdapter;
import org.objectweb.asm.MethodVisitor;
public class DashGMethodAdapter extends MethodAdapter {
- Map<Integer, Integer> lineOffsets;
String methodName;
- public DashGMethodAdapter(MethodVisitor mv, String name, Map<Integer, Integer> offsets) {
+ public DashGMethodAdapter(MethodVisitor mv, String name) {
super(mv);
- lineOffsets = offsets;
methodName = name;
}
@@ -114,7 +110,7 @@
private void addLine() {
Label l = new Label();
super.visitLabel(l);
- Integer srcLine = lineOffsets.get(Integer.valueOf(l.getOffset()));
+ Integer srcLine = Integer.valueOf(0);
if (srcLine != null)
super.visitLineNumber(srcLine.intValue(), l);
}
Modified: trunk/dashg/src/com/mebigfatguy/dashg/DashGTask.java
===================================================================
--- trunk/dashg/src/com/mebigfatguy/dashg/DashGTask.java 2008-10-28 17:22:58 UTC (rev 24)
+++ trunk/dashg/src/com/mebigfatguy/dashg/DashGTask.java 2008-10-28 17:27:06 UTC (rev 25)
@@ -110,13 +110,12 @@
PrintWriter pw = null;
try {
- String fqn = (packageName != null) ? (packageName + '.' + baseName) : baseName;
bis = new BufferedInputStream(new FileInputStream(inputClass));
pw = new PrintWriter(new BufferedWriter(new FileWriter(outputSrc)));
ClassReader cr = new ClassReader(bis);
ClassWriter cw = new ClassWriter(cr, ClassWriter.COMPUTE_MAXS);
- ClassAdapter ca = new DashGClassAdapter(new TraceClassVisitor(cw, new DashGSourceWriter(pw, packageName)), baseName, fqn, methodOffsets);
+ ClassAdapter ca = new DashGClassAdapter(new TraceClassVisitor(cw, new DashGSourceWriter(pw, packageName)), baseName);
cr.accept(ca, 0);
byte[] classData = cw.toByteArray();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|