When the code completion receives ambigious options for completion it will give no completion options, while it should list them all.

For example in the minijava project a method has in the inside first vardecs, then statements and then a return.

Right between the last vardec and the first statement codecompletion gives no suggestions, while it should give suggestions for both vardecs and statements. (Between vardecs it suggests a vardec just fine, and between statements it suggests statements just fine.)

In the templatelanguage this looks like:

templates
MethodArg.MethodArg = <<Type> <ID>> 
MethodDecl.MethodDecl = <
    public <Type> <ID> (<MethodArg*;separator=", ">){
        <VarDecl*>
        <Statement*>
        return <Exp>;
    }
>

Generated sdf:

context-free syntax
  Type ID                                                                                -> MethodArg  {cons("MethodArg")}
  "public" Type ID "(" {MethodArg ","}* ")" "{" VarDecl* Statement* "return" Exp ";" "}" -> MethodDecl {cons("MethodDecl")}

context-free syntax
  CONTENTCOMPLETE -> MethodArg  {cons("COMPLETION-MethodArg")}
  CONTENTCOMPLETE -> MethodDecl {cons("COMPLETION-MethodDecl")}

So, right between the last vardec and the first statement codecompletion gives no suggestions, while it should give suggestions for both vardecs and statements.

Submitted on 4 October 2012 at 17:32

On 13 November 2012 at 13:24 Maartje closed this issue.

On 13 November 2012 at 13:25 Maartje commented:

fixed in new code completion approach (+-r25719)

Log in to post comments