Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tapestry-5
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericServiceInterface.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericServiceInterface.java
new file mode 100644
index 0000000..34216df
--- /dev/null
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericServiceInterface.java
@@ -0,0 +1,18 @@
+package org.apache.tapestry5.ioc.internal;
+
+import java.io.File;
+
+public interface NonAnnotatedGenericServiceInterface<T>
+{
+    String execute1(int i);
+
+    String execute2(int t);
+
+    String execute2(T t);
+
+    String execute2(File t);
+
+    String execute2(T t, String s);
+
+    T execute3(int i);
+}
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceImpl.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceImpl.java
new file mode 100644
index 0000000..509d5b4
--- /dev/null
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceImpl.java
@@ -0,0 +1,59 @@
+package org.apache.tapestry5.ioc.internal;
+
+import java.io.File;
+
+import org.apache.tapestry5.ioc.annotations.Advise;
+import org.apache.tapestry5.ioc.annotations.IntermediateType;
+
+public class NonAnnotatedGenericSetServiceImpl implements NonAnnotatedGenericSetServiceInterface
+{
+    @Override
+    @Advise(id = "id", serviceInterface = NonAnnotatedServiceInterface.class)
+    public String execute1(@IntermediateType(String.class)
+    final int i)
+    {
+        return null;
+    }
+
+    @Override
+    @Advise(id = "id", serviceInterface = NonAnnotatedServiceInterface.class)
+    public String execute2(@IntermediateType(String.class)
+    final String t)
+    {
+        return null;
+    }
+
+    @Advise(id = "file", serviceInterface = NonAnnotatedServiceInterface.class)
+    @Override
+    public String execute2(File t)
+    {
+        return null;
+    }
+
+    @Advise(id = "int", serviceInterface = NonAnnotatedServiceInterface.class)
+    @Override
+    public String execute2(int t)
+    {
+        return null;
+    }
+
+    @Override
+    @Advise(id = "id", serviceInterface = NonAnnotatedServiceInterface.class)
+    public String execute3(@IntermediateType(String.class) int i)
+    {
+        return null;
+    }
+
+    @Override
+    @Advise(id = "id", serviceInterface = NonAnnotatedServiceInterface.class)
+    public String execute2(@IntermediateType(String.class) String t, String s)
+    {
+        return null;
+    }
+
+    public static void main(String[] args) throws NoSuchMethodException, SecurityException
+    {
+        System.out.println(Object.class.isAssignableFrom(String.class));
+    }
+
+}
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceInterface.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceInterface.java
new file mode 100644
index 0000000..1bb5369
--- /dev/null
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/NonAnnotatedGenericSetServiceInterface.java
@@ -0,0 +1,6 @@
+package org.apache.tapestry5.ioc.internal;
+
+public interface NonAnnotatedGenericSetServiceInterface extends
+        NonAnnotatedGenericServiceInterface<String>
+{
+}