/*******************************************************************************
* Copyright (c) 2007, 2008 Edgar Espina.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.deved.antlride.debug.breakpoints;
import org.deved.antlride.debug.model.event.AntlrDebugTokenEvent;
import org.deved.antlride.debug.model.event.AntlrDebugEvent;
import org.deved.antlride.debug.model.event.AntlrDebugEventKind;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
public class AntlrConsumeTokenBreakpoint extends AntlrTokenBreakpoint {
public static final String ID = "org.deved.antlride.debug.consumeTokenBreakpoint";
public AntlrConsumeTokenBreakpoint() {
}
public AntlrConsumeTokenBreakpoint(final IResource resource, final String elementName,
final int lineNumber, final int columnNumber) throws CoreException {
super(resource, elementName, lineNumber, columnNumber);
}
@Override
public String getId() {
return ID;
}
@Override
public String getName() {
return "consumeToken";
}
@Override
protected boolean match(AntlrDebugEvent event) {
if (event.getEventKind() == AntlrDebugEventKind.CONSUME_TOKEN) {
String elementName = "";
try {
AntlrDebugTokenEvent tokenEvent = (AntlrDebugTokenEvent) event;
elementName = getElementName();
return elementName.equals(tokenEvent.getTokenName());
} catch (Exception ex) {
}
}
return false;
}
}