| Summary: | 'An object may not circularly contain itself' validation problem | ||
|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Ed Willink <ed> |
| Component: | Xtext | Assignee: | Project Inbox <tmf.xtext-inbox> |
| Status: | CLOSED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | romain.raugi, sebastian.zarnekow, sven.efftinge |
| Version: | 1.0.0 | Flags: | sven.efftinge:
indigo+
|
| Target Milestone: | M7 | ||
| Hardware: | PC | ||
| OS: | Windows Vista | ||
| Whiteboard: | |||
|
Description
Ed Willink
I prefer both approaches for indigo: - not imposing an EObjectValidator if there is a user EObjectValidator derived class - providing a useEObjectValidator validator fragment control (In reply to comment #0) > - providing a derived CompositeEValidator whose constructor > setUseEObjectValidator(false) In Xtext 2.0M4.5 it is now necessary to do this in extended-editors as well as the extending-editor since the default list of packages for which registration occurs is no longer empty. Both extended and extending editors fight to establish the AbstractInjectableValidator registration for common packages. AbstractInjectableValidator.registerPackages now prohibits the re-instatement of the old policy since an empty getEPackages return now generates an ISE. This seems unduly nannyish given that the default default is an UOE inviting an 'overwrite' (rather than an 'override') and the generated default is no longer empty. It would be useful to allow an empty list rather than requiring register to be overridden which might acquire other functionality. Since we found a way to register a validator for a concrete syntax rather than an EPackage, I'm inclined to close this as works for me since there is a way to register / unregister additional concrete syntax aware validators for those who already defined EPackage specific validation rules. If you don't want to use the validator stub that we provide, I'd recommend to remove the respective fragment from the workflow that generates the language infrastructure rather than overwriting register() or getEPackages(). Closing all bugs that were set to RESOLVED before Neon.0 Closing all bugs that were set to RESOLVED before Neon.0 |