The project is still alive and kicking, I’ve just been busy with preparations for applying for an M.S. Made some progress today and managed to get array elements to cross-reference correctly anywhere in the class definition, but now I have a new problem: keywords self and super. They’re just keywords, but they’re supposed to behave like cross-references.self is the current class, and super is the parent class. Now, I’ve specified a rule for cross-references, which goes something like

QualifiedIdentifier: child=[DeclaredVariable]|childWord=Word;
Word: ID | 'super' | 'self';

but it’s not working; instead of matching the Word rule, Xtext tries to match [DeclaredVariable], and announces that no such DeclaredVariable was found. Don’t know what to do now, will beat my head against it for a couple of days, otherwise will ask around on the forums for help.