Issue 73: Infinite loop triggered in Plural/Crystal by defining an "alive" class state on an object
Status:  New
Owner: ----
Reported by iainmc...@gmail.com, Nov 4, 2009
1. Add the attached java class to a test project with the plaid annotations 
library included.
2. Run crystal on the file.
3. The progress bar never completes - on the machine I have, one core sits 
at 100% indefinitely (or, at least, for as long as I could be bothered 
watching).

I'm not sure whether "alive" is a reserved name for a state, one that 
should not be redefined. I'm playing with plural just now, attempting to 
understand the semantics of the system through trial and error as there are 
not many examples I could find of how to use it. So, if "alive" is a 
reserved state name that should not be touched, I would expect crystal to 
generate an error. If it is legal to use or modify the "alive" state in 
this way, there is perhaps something more subtle happening here.

The infinite loop only occurs when the explicitly defined constructor 
exists - remove it, and the problem disappears also.

Versions in use:
  Crystal	3.4.3	edu.cmu.cs.crystal.feature.feature.group
  Fiddle Feature	1.0.1	edu.cmu.cs.fiddle.feature.feature.group
  PlaidAnnotations	1.0.6	PlaidAnnotations.feature.group
  Plural	1.1.5	edu.cmu.cs.plural.feature.feature.group

OS: Windows 7 x64
Java version: 1.6.0_16
StateTest.java
216 bytes   View   Download