Not excluding volatile also break covariant implementations:
| public class BeanInfoDoubleCovariantImpl extends BeanInfoNumberCovariantImpl
| {
| public Double getProperty()
| {
| return null;
| }
|
| public void setProperty(Double value)
| {
| }
| }
|
| public class BeanInfoNumberCovariantImpl
| {
| public Number getProperty()
| {
| return null;
| }
|
| public void setProperty(Number value)
| {
| }
| }
|
Excluding volatile takes care of them too. :-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099930#4099930
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099930
Sure, but you can see that those are volatile.
Where in the code you cannot do:
| public volatile String getSomething()
| {
| return "";
| }
|
If I add volatile restriction to AbstractBeanInfoFactory
| if (result.contains(minfos[j]) == false && minfos[j].isPublic() && minfos[j].isStatic() == false && minfos[j].isVolatile() == false)
| result.add(minfos[j]);
|
your test passes, and none of the previous is broken.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099922#4099922
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099922