/*
 * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
 * Use of this file is governed by the BSD 3-clause license that
 * can be found in the LICENSE.txt file in the project root.
 */

package org.antlr.v4.runtime.atn;

import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.misc.MurmurHash;

Implements the skip lexer action by calling Lexer.skip.

The skip command does not have any parameters, so this action is implemented as a singleton instance exposed by INSTANCE.

Author:Sam Harwell
Since:4.2
/** * Implements the {@code skip} lexer action by calling {@link Lexer#skip}. * * <p>The {@code skip} command does not have any parameters, so this action is * implemented as a singleton instance exposed by {@link #INSTANCE}.</p> * * @author Sam Harwell * @since 4.2 */
public final class LexerSkipAction implements LexerAction {
Provides a singleton instance of this parameterless lexer action.
/** * Provides a singleton instance of this parameterless lexer action. */
public static final LexerSkipAction INSTANCE = new LexerSkipAction();
Constructs the singleton instance of the lexer skip command.
/** * Constructs the singleton instance of the lexer {@code skip} command. */
private LexerSkipAction() { }
{@inheritDoc}
Returns:This method returns LexerActionType.SKIP.
/** * {@inheritDoc} * @return This method returns {@link LexerActionType#SKIP}. */
@Override public LexerActionType getActionType() { return LexerActionType.SKIP; }
{@inheritDoc}
Returns:This method returns false.
/** * {@inheritDoc} * @return This method returns {@code false}. */
@Override public boolean isPositionDependent() { return false; }
{@inheritDoc}

This action is implemented by calling Lexer.skip.

/** * {@inheritDoc} * * <p>This action is implemented by calling {@link Lexer#skip}.</p> */
@Override public void execute(Lexer lexer) { lexer.skip(); } @Override public int hashCode() { int hash = MurmurHash.initialize(); hash = MurmurHash.update(hash, getActionType().ordinal()); return MurmurHash.finish(hash, 1); } @Override @SuppressWarnings("EqualsWhichDoesntCheckParameterClass") public boolean equals(Object obj) { return obj == this; } @Override public String toString() { return "skip"; } }