1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Enabled content assist in expressions in C.

This commit is contained in:
Doug Schaefer 2005-04-15 21:57:01 +00:00
parent 1e45251b74
commit d1eda86d21
2 changed files with 16 additions and 3 deletions

View file

@ -287,7 +287,15 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
* request a backtrack
*/
protected IToken identifier() throws EndOfFileException, BacktrackException {
return consume(IToken.tIDENTIFIER);
switch (LT(1)) {
case IToken.tIDENTIFIER:
case IToken.tCOMPLETION:
case IToken.tEOC:
return consume();
default:
throw backtrack;
}
}
/**

View file

@ -952,7 +952,11 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
consume(IToken.tLPAREN);
if (LT(1) != IToken.tRPAREN)
secondExpression = expression();
last = consume(IToken.tRPAREN).getEndOffset();
if (LT(1) == IToken.tRPAREN)
last = consume(IToken.tRPAREN).getEndOffset();
else
// must be EOC
last = Integer.MAX_VALUE;
IASTFunctionCallExpression f = createFunctionCallExpression();
((ASTNode) f).setOffsetAndLength(((ASTNode) firstExpression)
.getOffset(), last
@ -1132,7 +1136,8 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
IASTUnaryExpression.op_bracketedPrimary, lhs,
t.getOffset(), finalOffset);
case IToken.tIDENTIFIER:
case IToken.tCOMPLETION:
case IToken.tEOC:
int startingOffset = LA(1).getOffset();
IToken t1 = identifier();
IASTIdExpression idExpression = createIdExpression();