| Summary: | ConcreteSyntaxConstraintProvider missing "return null" in method createElement | ||
|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Christoph Zwicker <zwc> |
| Component: | Xtext | Assignee: | Project Inbox <tmf.xtext-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | moritz.eysholdt, sebastian.zarnekow |
| Version: | unspecified | Flags: | sebastian.zarnekow:
helios+
sebastian.zarnekow: indigo+ |
| Target Milestone: | M4 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
I cannot reproduce the with rules like
Model: foo=ID ('(' INT ')')?;
or
Model: foo=ID | ('(' INT ')')?;
because here the section for Groups and UnorderedGroups is never called because the caller checks in advance if a group contains a relevant element.
I can reproduce the behavior this rule:
Model: ('(' INT ')')?;
However, this is a datatype-rule and therefore the concrete syntax constraint provider is not responsible for it. It's a datatype rule because it doesn't contain an assignment.
Could you provide more details how you ran into this problem?
The bug could be reproduced with the following rule:
Model: ('(' INT ')') a=STRING b=STRING;
Fixed in master and Helios_Maintenance.
Closing all bugs that were set to RESOLVED before Neon.0 Closing all bugs that were set to RESOLVED before Neon.0 |
Build Identifier: 20100617-1415 In the case of an optional group containing no "relevant element", parse tree reconstruction fails. The section treating "Group" || "UnorderedGroup" should probably return null if no "lastChild" is found (as does e.g. the section treating Alternatives). Reproducible: Always Steps to Reproduce: 1. Introduce something like ( '(' INT ')' )? into a rule, test parse tree reconstruction 2. 3.