I'm sure you are more familiar with the ECMA standard than I am, so undoubtedly you are right. I would just like to say that from a user perspective this is incrediby confusing. It sounds like you are saying that the code in the attribute body is dead code if the attribute type is INTEGER. Perhaps there is something subtle I am missing here, but shouldn't the compiler report an error or at least warn me if I am writing code that can never be executed? It certainly isn't obvious to me.