Lines 72-77
Link Here
|
72 |
protected static final int K_INSIDE_BREAK_STATEMENT = COMPLETION_PARSER + 34; |
72 |
protected static final int K_INSIDE_BREAK_STATEMENT = COMPLETION_PARSER + 34; |
73 |
protected static final int K_INSIDE_CONTINUE_STATEMENT = COMPLETION_PARSER + 35; |
73 |
protected static final int K_INSIDE_CONTINUE_STATEMENT = COMPLETION_PARSER + 35; |
74 |
protected static final int K_LABEL = COMPLETION_PARSER + 36; |
74 |
protected static final int K_LABEL = COMPLETION_PARSER + 36; |
|
|
75 |
protected static final int K_MEMBER_VALUE_ARRAY_INITIALIZER = COMPLETION_PARSER + 37; |
75 |
|
76 |
|
76 |
public final static char[] FAKE_TYPE_NAME = new char[]{' '}; |
77 |
public final static char[] FAKE_TYPE_NAME = new char[]{' '}; |
77 |
public final static char[] FAKE_METHOD_NAME = new char[]{' '}; |
78 |
public final static char[] FAKE_METHOD_NAME = new char[]{' '}; |
Lines 279-285
Link Here
|
279 |
if (this.expressionPtr > -1) { |
280 |
if (this.expressionPtr > -1) { |
280 |
expression = this.expressionStack[this.expressionPtr]; |
281 |
expression = this.expressionStack[this.expressionPtr]; |
281 |
if(expression == assistNode) { |
282 |
if(expression == assistNode) { |
282 |
if(this.topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) == K_BETWEEN_ANNOTATION_NAME_AND_RPAREN) { |
283 |
if (this.topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) == K_MEMBER_VALUE_ARRAY_INITIALIZER ) { |
|
|
284 |
ArrayInitializer arrayInitializer = new ArrayInitializer(); |
285 |
arrayInitializer.expressions = new Expression[]{expression}; |
286 |
|
287 |
MemberValuePair valuePair = |
288 |
new MemberValuePair(VALUE, expression.sourceStart, expression.sourceEnd, arrayInitializer); |
289 |
buildMoreAnnotationCompletionContext(valuePair); |
290 |
} else if(this.topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) == K_BETWEEN_ANNOTATION_NAME_AND_RPAREN) { |
283 |
if (expression instanceof SingleNameReference) { |
291 |
if (expression instanceof SingleNameReference) { |
284 |
SingleNameReference nameReference = (SingleNameReference) expression; |
292 |
SingleNameReference nameReference = (SingleNameReference) expression; |
285 |
CompletionOnMemberValueName memberValueName = new CompletionOnMemberValueName(nameReference.token, nameReference.sourceStart, nameReference.sourceEnd); |
293 |
CompletionOnMemberValueName memberValueName = new CompletionOnMemberValueName(nameReference.token, nameReference.sourceStart, nameReference.sourceEnd); |
Lines 2663-2672
Link Here
|
2663 |
} |
2671 |
} |
2664 |
break; |
2672 |
break; |
2665 |
case TokenNameRBRACE: |
2673 |
case TokenNameRBRACE: |
2666 |
if(topKnownElementKind(COMPLETION_OR_ASSIST_PARSER) == K_BLOCK_DELIMITER) { |
2674 |
int kind = topKnownElementKind(COMPLETION_OR_ASSIST_PARSER); |
2667 |
popElement(K_BLOCK_DELIMITER); |
2675 |
switch (kind) { |
2668 |
} else { |
2676 |
case K_BLOCK_DELIMITER: |
2669 |
popElement(K_ARRAY_INITIALIZER); |
2677 |
popElement(K_BLOCK_DELIMITER); |
|
|
2678 |
break; |
2679 |
case K_MEMBER_VALUE_ARRAY_INITIALIZER: |
2680 |
popElement(K_MEMBER_VALUE_ARRAY_INITIALIZER); |
2681 |
break; |
2682 |
default: |
2683 |
popElement(K_ARRAY_INITIALIZER); |
2684 |
break; |
2670 |
} |
2685 |
} |
2671 |
break; |
2686 |
break; |
2672 |
case TokenNameRBRACKET: |
2687 |
case TokenNameRBRACKET: |
Lines 2803-2813
Link Here
|
2803 |
break; |
2818 |
break; |
2804 |
case TokenNameLBRACE: |
2819 |
case TokenNameLBRACE: |
2805 |
this.bracketDepth++; |
2820 |
this.bracketDepth++; |
2806 |
int kind; |
2821 |
int kind = topKnownElementKind(COMPLETION_OR_ASSIST_PARSER); |
2807 |
if((kind = topKnownElementKind(COMPLETION_OR_ASSIST_PARSER)) == K_FIELD_INITIALIZER_DELIMITER |
2822 |
if(kind == K_FIELD_INITIALIZER_DELIMITER |
2808 |
|| kind == K_LOCAL_INITIALIZER_DELIMITER |
2823 |
|| kind == K_LOCAL_INITIALIZER_DELIMITER |
2809 |
|| kind == K_ARRAY_CREATION) { |
2824 |
|| kind == K_ARRAY_CREATION) { |
2810 |
pushOnElementStack(K_ARRAY_INITIALIZER, endPosition); |
2825 |
pushOnElementStack(K_ARRAY_INITIALIZER, endPosition); |
|
|
2826 |
} else if (kind == K_BETWEEN_ANNOTATION_NAME_AND_RPAREN) { |
2827 |
pushOnElementStack(K_MEMBER_VALUE_ARRAY_INITIALIZER, endPosition); |
2811 |
} else { |
2828 |
} else { |
2812 |
switch(previous) { |
2829 |
switch(previous) { |
2813 |
case TokenNameRPAREN : |
2830 |
case TokenNameRPAREN : |
Lines 3063-3068
Link Here
|
3063 |
pushOnElementStack(K_INSIDE_CONTINUE_STATEMENT, bracketDepth); |
3080 |
pushOnElementStack(K_INSIDE_CONTINUE_STATEMENT, bracketDepth); |
3064 |
break; |
3081 |
break; |
3065 |
} |
3082 |
} |
|
|
3083 |
} else if (isInsideAnnotation()){ |
3084 |
switch (token) { |
3085 |
case TokenNameLBRACE: |
3086 |
this.bracketDepth++; |
3087 |
int kind = topKnownElementKind(COMPLETION_OR_ASSIST_PARSER); |
3088 |
if (kind == K_BETWEEN_ANNOTATION_NAME_AND_RPAREN) { |
3089 |
pushOnElementStack(K_MEMBER_VALUE_ARRAY_INITIALIZER, endPosition); |
3090 |
} |
3091 |
break; |
3092 |
} |
3066 |
} else { |
3093 |
} else { |
3067 |
switch(token) { |
3094 |
switch(token) { |
3068 |
case TokenNameextends: |
3095 |
case TokenNameextends: |