Revision: 6873
Author: [email protected]
Date: Thu Nov 12 08:23:17 2009
Log: Merge trunk r6871 into this branch
Fix a problem getting real argument names from generic methods.
svn merge --ignore-ancestry -c6871 \
http://google-web-toolkit.googlecode.com/svn/trunk/ .
http://code.google.com/p/google-web-toolkit/source/detail?r=6873
Modified:
/releases/2.0/branch-info.txt
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveMethodSignature.java
/releases/2.0/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
=======================================
--- /releases/2.0/branch-info.txt Wed Nov 11 22:32:37 2009
+++ /releases/2.0/branch-info.txt Thu Nov 12 08:23:17 2009
@@ -595,3 +595,8 @@
tr...@6867 was merged into this branch
{Field.references} are now validated.
svn merge --ignore-ancestry -c 6867
https://google-web-toolkit.googlecode.com/svn/trunk .
+
+tr...@6871 was merged into this branch
+ Fix a problem getting real argument names from generic methods.
+ svn merge --ignore-ancestry -c6871 \
+ http://google-web-toolkit.googlecode.com/svn/trunk/ .
=======================================
---
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Wed Nov 11 11:04:31 2009
+++
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/TypeOracleMediator.java
Thu Nov 12 08:23:17 2009
@@ -937,14 +937,13 @@
}
String signature = methodData.getSignature();
- Type[] argTypes = methodData.getArgTypes();
- String[] argNames = methodData.getArgNames();
if (signature != null) {
// If we have a signature, use it for superclass and interfaces
SignatureReader reader = new SignatureReader(signature);
ResolveMethodSignature methodResolver = new ResolveMethodSignature(
resolver, logger, method, typeParamLookup, hasReturnType,
methodData,
- argTypes, argNames);
+ methodData.getArgTypes(), methodData.getArgNames(),
+ methodData.hasActualArgNames());
// TraceSignatureVisitor trace = new TraceSignatureVisitor(
// methodData.getAccess());
// reader.accept(trace);
=======================================
---
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveMethodSignature.java
Thu Nov 12 05:54:31 2009
+++
/releases/2.0/dev/core/src/com/google/gwt/dev/javac/asm/ResolveMethodSignature.java
Thu Nov 12 08:23:17 2009
@@ -47,6 +47,7 @@
private final CollectMethodData methodData;
private final Type[] argTypes;
private final String[] argNames;
+ private final boolean argNamesAreReal;
private JType[] returnType = new JType[1];
private List<JType[]> params = new ArrayList<JType[]>();
@@ -54,10 +55,23 @@
private JTypeParameter currentParam = null;
private ArrayList<JType[]> bounds = null;
+ /**
+ * Resolve a method signature.
+ *
+ * @param resolver
+ * @param logger
+ * @param method
+ * @param typeParamLookup
+ * @param hasReturnType
+ * @param methodData
+ * @param argTypes
+ * @param argNames
+ * @param argNamesAreReal
+ */
public ResolveMethodSignature(Resolver resolver, TreeLogger logger,
JAbstractMethod method, TypeParameterLookup typeParamLookup,
boolean hasReturnType, CollectMethodData methodData, Type[] argTypes,
- String[] argNames) {
+ String[] argNames, boolean argNamesAreReal) {
this.resolver = resolver;
this.logger = logger;
this.method = method;
@@ -66,6 +80,7 @@
this.methodData = methodData;
this.argTypes = argTypes;
this.argNames = argNames;
+ this.argNamesAreReal = argNamesAreReal;
}
/**
@@ -103,7 +118,8 @@
declaredAnnotations);
// JParameter adds itself to the method
- new JParameter(method, argType, argNames[i], declaredAnnotations);
+ new JParameter(method, argType, argNames[i], declaredAnnotations,
+ argNamesAreReal);
}
// Handle thrown exceptions
=======================================
---
/releases/2.0/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
Thu Nov 12 05:54:31 2009
+++
/releases/2.0/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
Thu Nov 12 08:23:17 2009
@@ -307,7 +307,8 @@
argTypes[i] = Type.getType(paramTypes[i]);
}
ResolveMethodSignature methodResolver = new
ResolveMethodSignature(resolver,
- failTreeLogger, method, lookup, true, methodData, argTypes,
argNames);
+ failTreeLogger, method, lookup, true, methodData, argTypes,
argNames,
+ false);
new SignatureReader(signature).accept(methodResolver);
methodResolver.finish();
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors