Here it is:
https://code.google.com/p/mvp4g/source/browse/trunk/sources/src/test/java/com/google/gwt/dev/javac/typemodel/TypeOracleStub.java

You always stub types with JGenericType; that is not correct.

On Tue, Jan 20, 2015 at 4:22 PM, Goktug Gokdogan <[email protected]> wrote:

> I'm not going to come Munich..
>
> TypeOracle getJavaLangObject shouldn't return "java.lang.Object<>". From
> the screenshots, it looks like your are using a stub implementation for
> TypeOracle and that is probably doing the wrong thing.
>
> On Tue, Jan 20, 2015 at 3:34 PM, Frank Hossfeld <
> [email protected]> wrote:
>
>> I have tried to create a JUnit test for the AssignabilityChecker class,
>> but that's not so easy. So I run the test from the JUnit test provided by
>> the mvp4g project. You can easily reproduce the error. Just check out the
>> mvp4g code from trunk, delete the AssignabilityChecker class and run the
>> method testPath method from ServiceAnnotationsLoaderTest.
>>
>> I am using the isAssignable method from AssignabilityChecker class. The
>> value of the from parameter is something the SimpleService interface of
>> mvp4g. The value of the to parameter is "java.lang.object". The
>> "isAssignable" method calls "isAssignableFromRaw".
>>
>> The first thing this method does is to call "isJavaLangObject(to)".
>>
>> The code of the "isJavaLangObject" method looks like this:
>>
>> private static boolean isJavaLangObject(JClassType type) {
>>   return type == type.getOracle().getJavaLangObject();
>> }
>>
>>
>> type.getOracle().getJavaLangObject() returns "java.lang.Object<>". If
>> this is compared to the raw type "java.lang.Object" the compare will fail.
>> I have added two Screenshots. p02.png will show the value as the
>> isAssignableFromRaw is called and p03.png will show the value which is
>> returned by the method getJavaLangObject.
>>
>> Will you be at the GWT.create in Munich?  If yes, I can show you the
>> problem.
>>
>> The screenshots can be downloaded here:
>>
>> http://www.hossfeld-solutions.de/downloads/p02.png
>> http://www.hossfeld-solutions.de/downloads/p03.png
>>
>>
>> Am Dienstag, 20. Januar 2015 21:53:03 UTC+1 schrieb Goktug Gokdogan:
>>>
>>> I tried to reproduce the problem in GWT. I added following to
>>> JParameterizedTypeTest
>>>     assertType("Object").isAssignableFrom("List");
>>>     assertType("Object").isAssignableFrom("Integer");
>>>
>>> and both cases doesn't fail.
>>>
>>> I also don't understand what you mean about converting java.lang.Object
>>> to raw type. java.lang.Object is not a generic type so it cannot have a raw
>>> type.
>>>
>>> Can you provide the exact types that your are passing or better
>>> reproduce the problem in JParameterizedTypeTest so we can take a look at
>>> the issue?
>>>
>>>
>>> On Mon, Jan 19, 2015 at 2:07 AM, Frank Hossfeld <
>>> [email protected]> wrote:
>>>
>>>> Please can you prove that it is a bug or am I doing something wrong? I
>>>> make an update to the AssignabilityChecker (this time with less code
>>>> changes). If it is a bug, the changes should solve it.
>>>>
>>>> Am Samstag, 17. Januar 2015 14:34:36 UTC+1 schrieb Frank Hossfeld:
>>>>
>>>>> It look like that there is a bug inside the AssignabilityChecker class
>>>>> of GWT 2.7.0.
>>>>>
>>>>> If you use the method isAssignableFromRaw(JClassType from, JClassType
>>>>> to) to check weather something is assignable to the „to“ parameter or not,
>>>>> the method will always fail if the value of the parameter „to“ is
>>>>> „java.lang.object“.
>>>>>
>>>>> The first thing this method does is to check if the „to“-parameter is
>>>>> the java.lang.object type. Therefor the method calls the method
>>>>> „isJavaLangObject(JClassType type)“. This method compares parameter type
>>>>> with  type.getOracle().getJavaLangObject(). But type.getOracle().
>>>>> getJavaLangObject() does not return a raw type. To solve this
>>>>> problem, the value of type.getOracle().getJavaLangObject() must be
>>>>> converted to a raw type.
>>>>>
>>>>> The method is used to times. Once it is called from
>>>>> isAssignableFromGenericArrayType(JarrayType from, JClassType to),
>>>>> where the method isJavaLangObject(to) will work correct The second call is
>>>>> the one from isAssignableFromRaw, where the compare will fail.
>>>>>
>>>>> To solve this problem, I have created a another method:
>>>>>
>>>>> *private static boolean isJavaLangObjectRawType(JClassType rawType) {*
>>>>>
>>>>> *   return rawType ==
>>>>> convertToRawIfGeneric(rawType.getOracle().getJvaLangObject());*
>>>>>
>>>>> *}*
>>>>>
>>>>> and call this method from isAssignableFromRaw. Using this patch,
>>>>> everything works correct.
>>>>>
>>>>> To test this error, you can download the mvp4g framework (trunk) from
>>>>>
>>>>> *https://code.google.com/p/mvp4g/source/checkout
>>>>> <https://code.google.com/p/mvp4g/source/checkout>*
>>>>>
>>>>> and run the method:
>>>>>
>>>>> *testGeneratedClass*
>>>>>
>>>>> from the class:
>>>>>
>>>>>
>>>>> *com.mvp4g.rebind.config.loader.annotation.ServicesAnnotationsLoaderTest*
>>>>>
>>>>> I have created a patch and assigned it. Using the patch, the test will
>>>>> behave in the same way as it does with GWT 2.6.1.
>>>>>
>>>>> Frank
>>>>>
>>>>>
>>>>>
>>>>> Enviorement: OS X 10.10.1, Java 1.7, IntelliJ Ultimate Editition 14.0.2
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "GWT Contributors" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to google-web-toolkit-contributors+unsubscribe@
>>>> googlegroups.com.
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/google-web-toolkit-contributors/3895a392-dd05-
>>>> 4450-813e-eceaf447adea%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/3895a392-dd05-4450-813e-eceaf447adea%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/fa42088b-e9ab-48dd-b252-618fee582a1a%40googlegroups.com
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/fa42088b-e9ab-48dd-b252-618fee582a1a%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1HWd-mkpd52GVEua5ZDSL6%3DRh7ai5is%3DYkn6PskZUqnw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to