class JointSQLXref extends JointSQLLexer {

    @Override
    public void offer(String value) {
        onNonSymbolMatched(value, getYYCHAR());
    }

    @Override
    public boolean offerSymbol(String value, int captureOffset, boolean ignoreKwd) {<FILL_FUNCTION_BODY>}

    /** noop. */
    @Override
    public void skipSymbol() {
    }

    @Override
    public void offerKeyword(String value) {
        onKeywordMatched(value, getYYCHAR());
    }

    @Override
    public void startNewLine() {
        onEndOfLineMatched("\n", getYYCHAR());
    }

    @Override
    public void disjointSpan(String className) {
        onDisjointSpanChanged(className, getYYCHAR());
    }

    /** Gets the value {@code true}. */
    protected boolean takeAllContent() {
        return true;
    }

    /** Gets the value {@code false}. */
    protected boolean returnOnSymbol() {
        return false;
    }
}

        Set<String> keywords = ignoreKwd ? null : getDialectKeywords();
        return onFilteredSymbolMatched(value, getYYCHAR(), keywords, false);
    
<methods>public void chkLOC() ,public void reset() ,public void yypop() throws java.io.IOException<variables>protected int commentLevel