Goktug: my reading of JsInterop is that @JsType(isNative=true) types 
shouldn't have non-annotated non-public members: either they're "mapped" 
properties and methods and should be public or annotated with @JsMethod or 
@JsProperty, or they're @JsOverlay methods; and there shouldn't be 
@JsIgnore'd members as well. If this is exact, then maybe the compiler 
should complain.
+1 for seeing a repro sample though, as the snippet wouldn't work anyway 
(to begin with, uses @JsNative instead of @JsType)

On Thursday, August 4, 2016 at 9:33:04 PM UTC+2, Goktug Gokdogan wrote:
>
> I'm not sure what you mean by working fine. If animal doesn't exist in the 
> object; it is expected to fail. Can you provide a full repro example?
>
> On Thu, Aug 4, 2016 at 2:50 AM, Teletin Alin <[email protected]> 
> wrote:
>
>> Hi,
>>
>> I do have a problem since moving to rc1 related to a map object.
>> Using beta1 the code works ok, but with rc1 it yields 
>> "this.static$.animals.put is not a function".
>>
>> Example code:
>>
>> @JsNative(isNative = true, namespace="Example.com", name="Person")
>> public class Person{
>>
>>         @JsProperty(name = "name")
>>         public String name;
>>         @JsProperty(name = "age")
>>         public int age;
>>
>>         private Map<String, Animal> animals; //an extra property that is 
>> not found in javascript
>>
>>         public native boolean isOld();
>>
>>         @JsOverlay
>>         public final void buyAnimal(Animal animal){ // I don't know if it 
>> matters, but Animal object is also native as Person
>>                 String animalName = animal.getName();
>>                 animals.put(animalName, animal); // this fails with 
>> "this.static$.animals.put is not a function"
>>         }
>> }
>>
>> The above code works fine when using beta1.
>> Is there some documentation related to differences between rc1 and 
>> beta1(at least related to jsinterop)?
>> *What other changes should I make when moving to rc1?*
>>
>> My pom file contains:
>> ...
>> <properties>
>> ...
>>         <java.version>1.8</java.version>
>>         <gwt.version>2.8.0-rc1</gwt.version>
>>         
>> <gwt.maven.plugin.version>2.8.0-SNAPSHOT</gwt.maven.plugin.version>
>>         <jsinterop.version>1.0.0-SNAPSHOT</jsinterop.version>
>> ...
>> </properties>
>> ...
>> <plugin>
>> <groupId>org.codehaus.mojo</groupId>
>> <artifactId>gwt-maven-plugin</artifactId>
>> <version>${gwt.maven.plugin.version}</version>
>> <configuration>
>> <source>${java.version}</source>
>> <target>${java.version}</target>
>> <strict>true</strict>
>> <style>${gwt.style}</style>
>>
>> <extraJvmArgs>-Xmx2048m -Xss1024k -XX:MaxPermSize=256m</extraJvmArgs>
>> <hostedWebapp>${webappDirectory}</hostedWebapp>
>> <superDevMode>${superDevMode}</superDevMode>
>> <generateJsInteropExports>true</generateJsInteropExports>
>> <runTarget>...</runTarget>
>> <module>...</module>
>> <mode>htmlunit</mode>
>> </configuration>
>> <executions>
>> <execution>
>> <id>compile</id>
>> <goals>
>> <goal>compile</goal>
>> </goals>
>> </execution>
>> <execution>
>> <id>run</id>
>> <goals>
>> <goal>run</goal>
>> </goals>
>> </execution>
>> <execution>
>> <id>test</id>
>> <goals>
>> <goal>test</goal>
>> </goals>
>> <configuration>
>> <includes>**/GwtTestSuite*.java</includes>
>> </configuration>
>> </execution>
>> </executions>
>> </plugin>
>> ...
>> <dependencies>
>> ...
>>         <!-- GWT -->
>> <dependency>
>> <groupId>com.google.gwt</groupId>
>> <artifactId>gwt-servlet</artifactId>
>> </dependency>
>> <dependency>
>>                 <groupId>com.google.gwt</groupId>
>>                 <artifactId>gwt-user</artifactId>
>>                 <scope>provided</scope>
>>         </dependency>
>>         <dependency>
>> <groupId>com.google.gwt</groupId>
>> <artifactId>gwt-dev</artifactId>
>> <scope>provided</scope>
>> </dependency>
>>         <dependency>
>>                 <groupId>com.google.gwt</groupId>
>>                 <artifactId>gwt-codeserver</artifactId>
>>                 <scope>provided</scope>
>>         </dependency>
>> ...
>> </dependencies>
>> ...
>>
>> Thank you,
>>
>> -- 
>> 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/0d7bb6ac-a184-4c55-a6f0-f09af725a82a%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/0d7bb6ac-a184-4c55-a6f0-f09af725a82a%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/44347e9e-13c2-4bc4-b063-5fdfa93cd478%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to