diff --git a/src/java/com/threerings/presents/tools/GenDObjectTask.java b/src/java/com/threerings/presents/tools/GenDObjectTask.java index 023ded8bb..f002cc5ea 100644 --- a/src/java/com/threerings/presents/tools/GenDObjectTask.java +++ b/src/java/com/threerings/presents/tools/GenDObjectTask.java @@ -211,7 +211,7 @@ public class GenDObjectTask extends Task // if this field is an array, we need its component types if (ftype.isArray()) { Class etype = ftype.getComponentType(); - ctx.put("elemtype", GenUtil.simpleName(etype, null)); + ctx.put("elemtype", GenUtil.simpleName(etype)); ctx.put("wrapelem", GenUtil.boxArgument(etype, "value")); ctx.put("wrapoelem", GenUtil.boxArgument(etype, "ovalue")); } @@ -219,8 +219,7 @@ public class GenDObjectTask extends Task // if this field is a generic DSet, we need its bound type if (_dsclass.isAssignableFrom(ftype)) { Type t = f.getGenericType(); - // we need to walk up the heirarchy until we get to the - // parameterized DSet + // we need to walk up the heirarchy until we get to the parameterized DSet while (t instanceof Class) { t = ((Class)t).getGenericSuperclass(); } @@ -228,8 +227,7 @@ public class GenDObjectTask extends Task ParameterizedType pt = (ParameterizedType)t; if (pt.getActualTypeArguments().length > 0) { ctx.put("etype", GenUtil.simpleName( - (Class)pt.getActualTypeArguments()[0], - null)); + (Class)pt.getActualTypeArguments()[0])); } } else { ctx.put("etype", "DSet.Entry"); diff --git a/src/java/com/threerings/presents/tools/GenServiceTask.java b/src/java/com/threerings/presents/tools/GenServiceTask.java index c671e6783..38aa8e0f1 100644 --- a/src/java/com/threerings/presents/tools/GenServiceTask.java +++ b/src/java/com/threerings/presents/tools/GenServiceTask.java @@ -103,7 +103,7 @@ public class GenServiceTask extends InvocationTask public String getName () { - String name = GenUtil.simpleName(listener, null); + String name = GenUtil.simpleName(listener); name = StringUtil.replace(name, "Listener", ""); int didx = name.indexOf("."); return name.substring(didx+1); @@ -608,10 +608,8 @@ public class GenServiceTask extends InvocationTask Class[] args = m.getParameterTypes(); for (int aa = 0; aa < args.length; aa++) { if (_ilistener.isAssignableFrom(args[aa]) && - GenUtil.simpleName( - args[aa], null).startsWith(sname + ".")) { - checkedAdd(listeners, new ServiceListener( - service, args[aa])); + GenUtil.simpleName(args[aa]).startsWith(sname + ".")) { + checkedAdd(listeners, new ServiceListener(service, args[aa])); } } if (_verbose) { diff --git a/src/java/com/threerings/presents/tools/GenUtil.java b/src/java/com/threerings/presents/tools/GenUtil.java index 57912ed0b..ddb043872 100644 --- a/src/java/com/threerings/presents/tools/GenUtil.java +++ b/src/java/com/threerings/presents/tools/GenUtil.java @@ -110,28 +110,28 @@ public class GenUtil extends com.samskivert.util.GenUtil * "Unboxes" the supplied argument, ie. turning an Integer object into an * int. */ - public static String unboxArgument (Class clazz, Type type, String name) + public static String unboxArgument (Type type, String name) { - if (clazz == Boolean.TYPE) { + if (Boolean.TYPE.equals(type)) { return "((Boolean)" + name + ").booleanValue()"; - } else if (clazz == Byte.TYPE) { + } else if (Byte.TYPE.equals(type)) { return "((Byte)" + name + ").byteValue()"; - } else if (clazz == Character.TYPE) { + } else if (Character.TYPE.equals(type)) { return "((Character)" + name + ").charValue()"; - } else if (clazz == Short.TYPE) { + } else if (Short.TYPE.equals(type)) { return "((Short)" + name + ").shortValue()"; - } else if (clazz == Integer.TYPE) { + } else if (Integer.TYPE.equals(type)) { return "((Integer)" + name + ").intValue()"; - } else if (clazz == Long.TYPE) { + } else if (Long.TYPE.equals(type)) { return "((Long)" + name + ").longValue()"; - } else if (clazz == Float.TYPE) { + } else if (Float.TYPE.equals(type)) { return "((Float)" + name + ").floatValue()"; - } else if (clazz == Double.TYPE) { + } else if (Double.TYPE.equals(type)) { return "((Double)" + name + ").doubleValue()"; - } else if (clazz.equals(Object.class)) { + } else if (Object.class.equals(type)) { return name; // no need to cast object } else { - return "(" + simpleName(clazz, type) + ")" + name; + return "(" + simpleName(type) + ")" + name; } } @@ -188,16 +188,16 @@ public class GenUtil extends com.samskivert.util.GenUtil /** * Potentially clones the supplied argument if it is the type that needs such treatment. */ - public static String cloneArgument (Class dsclazz, Field f, String name) + public static String cloneArgument (Class dsclazz, Field field, String name) { - Class clazz = f.getType(); + Class clazz = field.getType(); if (dsclazz.equals(clazz)) { return "(" + name + " == null) ? null : " + name + ".typedClone()"; } else if (clazz.isArray()) { return "(" + name + " == null) ? null : " + name + ".clone()"; } else if (dsclazz.isAssignableFrom(clazz)) { return "(" + name + " == null) ? null : " + - "(" + simpleName(f) + ")" + name + ".clone()"; + "(" + simpleName(field) + ")" + name + ".clone()"; } else { return name; } diff --git a/src/java/com/threerings/presents/tools/InvocationTask.java b/src/java/com/threerings/presents/tools/InvocationTask.java index 486c63748..1ed1b990a 100644 --- a/src/java/com/threerings/presents/tools/InvocationTask.java +++ b/src/java/com/threerings/presents/tools/InvocationTask.java @@ -71,7 +71,7 @@ public abstract class InvocationTask extends Task public String getMarshaller () { - String name = GenUtil.simpleName(listener, null); + String name = GenUtil.simpleName(listener); // handle ye olde special case if (name.equals("InvocationService.InvocationListener")) { return "ListenerMarshaller"; @@ -147,13 +147,12 @@ public abstract class InvocationTask extends Task public String getArgList (boolean skipFirst) { StringBuilder buf = new StringBuilder(); - Class[] args = method.getParameterTypes(); Type[] ptypes = method.getGenericParameterTypes(); - for (int ii = skipFirst ? 1 : 0; ii < args.length; ii++) { + for (int ii = skipFirst ? 1 : 0; ii < ptypes.length; ii++) { if (buf.length() > 0) { buf.append(", "); } - buf.append(GenUtil.simpleName(args[ii], ptypes[ii])); + buf.append(GenUtil.simpleName(ptypes[ii])); buf.append(" arg").append(skipFirst ? ii : ii+1); } return buf.toString(); @@ -218,14 +217,12 @@ public abstract class InvocationTask extends Task public String getUnwrappedArgList (boolean listenerMode) { StringBuilder buf = new StringBuilder(); - Class[] args = method.getParameterTypes(); Type[] ptypes = method.getGenericParameterTypes(); - for (int ii = (listenerMode ? 0 : 1); ii < args.length; ii++) { + for (int ii = (listenerMode ? 0 : 1); ii < ptypes.length; ii++) { if (buf.length() > 0) { buf.append(", "); } - buf.append(unboxArgument(args[ii], ptypes[ii], - listenerMode ? ii : ii-1, listenerMode)); + buf.append(unboxArgument(ptypes[ii], listenerMode ? ii : ii-1, listenerMode)); } return buf.toString(); } @@ -274,14 +271,13 @@ public abstract class InvocationTask extends Task } } - protected String unboxArgument ( - Class clazz, Type type, int index, boolean listenerMode) + protected String unboxArgument (Type type, int index, boolean listenerMode) { - if (listenerMode && _ilistener.isAssignableFrom(clazz)) { + if (listenerMode && (type instanceof Class) && + _ilistener.isAssignableFrom((Class)type)) { return "listener" + index; } else { - return GenUtil.unboxArgument( - clazz, type, "args[" + index + "]"); + return GenUtil.unboxArgument(type, "args[" + index + "]"); } } }