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:
parent
1e45251b74
commit
d1eda86d21
2 changed files with 16 additions and 3 deletions
|
@ -287,7 +287,15 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
|
||||||
* request a backtrack
|
* request a backtrack
|
||||||
*/
|
*/
|
||||||
protected IToken identifier() throws EndOfFileException, BacktrackException {
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -952,7 +952,11 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
|
||||||
consume(IToken.tLPAREN);
|
consume(IToken.tLPAREN);
|
||||||
if (LT(1) != IToken.tRPAREN)
|
if (LT(1) != IToken.tRPAREN)
|
||||||
secondExpression = expression();
|
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();
|
IASTFunctionCallExpression f = createFunctionCallExpression();
|
||||||
((ASTNode) f).setOffsetAndLength(((ASTNode) firstExpression)
|
((ASTNode) f).setOffsetAndLength(((ASTNode) firstExpression)
|
||||||
.getOffset(), last
|
.getOffset(), last
|
||||||
|
@ -1132,7 +1136,8 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
|
||||||
IASTUnaryExpression.op_bracketedPrimary, lhs,
|
IASTUnaryExpression.op_bracketedPrimary, lhs,
|
||||||
t.getOffset(), finalOffset);
|
t.getOffset(), finalOffset);
|
||||||
case IToken.tIDENTIFIER:
|
case IToken.tIDENTIFIER:
|
||||||
|
case IToken.tCOMPLETION:
|
||||||
|
case IToken.tEOC:
|
||||||
int startingOffset = LA(1).getOffset();
|
int startingOffset = LA(1).getOffset();
|
||||||
IToken t1 = identifier();
|
IToken t1 = identifier();
|
||||||
IASTIdExpression idExpression = createIdExpression();
|
IASTIdExpression idExpression = createIdExpression();
|
||||||
|
|
Loading…
Add table
Reference in a new issue