Search in sources :

Example 1 with JSPELParserTokenManager

use of org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager in project webtools.sourceediting by eclipse.

the class JSPELContentAssistProcessor method getPrefix.

protected String getPrefix(int relativePosition, String elText) {
    java.io.StringReader reader = new java.io.StringReader(elText);
    JSPELParserTokenManager scanner = new JSPELParserTokenManager(new SimpleCharStream(reader, 1, 1));
    Token curToken = null, lastIdentifier = null;
    while (JSPELParserConstants.EOF != (curToken = scanner.getNextToken()).kind) {
        if (JSPELParserConstants.COLON == curToken.kind && curToken.endColumn == relativePosition && null != lastIdentifier) {
            return (lastIdentifier.image);
        }
        if (JSPELParserConstants.IDENTIFIER == curToken.kind) {
            lastIdentifier = curToken;
        } else {
            lastIdentifier = null;
        }
    }
    return null;
}
Also used : SimpleCharStream(org.eclipse.jst.jsp.core.internal.java.jspel.SimpleCharStream) Token(org.eclipse.jst.jsp.core.internal.java.jspel.Token) JSPELParserTokenManager(org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager)

Example 2 with JSPELParserTokenManager

use of org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager in project webtools.sourceediting by eclipse.

the class JSPELCompletionProposalComputer method getPrefix.

/**
 * <p>Gets the EL prefix from the relative position and the given EL text</p>
 *
 * @param relativePosition
 * @param elText
 * @return
 */
private String getPrefix(int relativePosition, String elText) {
    java.io.StringReader reader = new java.io.StringReader(elText);
    JSPELParserTokenManager scanner = new JSPELParserTokenManager(new SimpleCharStream(reader, 1, 1));
    Token curToken = null, lastIdentifier = null;
    while (JSPELParserConstants.EOF != (curToken = scanner.getNextToken()).kind) {
        if (JSPELParserConstants.COLON == curToken.kind && curToken.endColumn == relativePosition && null != lastIdentifier) {
            return (lastIdentifier.image);
        }
        if (JSPELParserConstants.IDENTIFIER == curToken.kind) {
            lastIdentifier = curToken;
        } else {
            lastIdentifier = null;
        }
    }
    return null;
}
Also used : SimpleCharStream(org.eclipse.jst.jsp.core.internal.java.jspel.SimpleCharStream) Token(org.eclipse.jst.jsp.core.internal.java.jspel.Token) JSPELParserTokenManager(org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager)

Aggregations

JSPELParserTokenManager (org.eclipse.jst.jsp.core.internal.java.jspel.JSPELParserTokenManager)2 SimpleCharStream (org.eclipse.jst.jsp.core.internal.java.jspel.SimpleCharStream)2 Token (org.eclipse.jst.jsp.core.internal.java.jspel.Token)2