/* *******************************************************************
 * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
 * 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 
 *  
 * Contributors: 
 *     PARC     initial implementation 
 * ******************************************************************/


package org.aspectj.weaver.patterns;

import org.aspectj.weaver.IHasPosition;

public interface IToken extends IHasPosition {
	public static final IToken EOF = BasicToken.makeOperator("<eof>", 0, 0);
	
	
Returns the string value of this token. If isIdentifier is false, then this string must be intern'd so that == matching can be used. If isIdentifier is true, interning is not required.
/** * Returns the string value of this token. * * If isIdentifier is false, then this string must be intern'd * so that == matching can be used. * * If isIdentifier is true, interning is not required. */
public String getString();
Whether this should be treated as a token or a generic identifier
/** * Whether this should be treated as a token or a generic identifier */
public boolean isIdentifier();
Whether this should be treated as a literal value Kinds == "string", ??? returns null if this isn't a literal
/** * Whether this should be treated as a literal value * * Kinds == "string", ??? * * returns null if this isn't a literal */
public String getLiteralKind();
If this token represents a pre-parsed Pointcut, then return it; otherwise returns null. Needed for the implementation of 'if'
/** * If this token represents a pre-parsed Pointcut, then return it; * otherwise returns null. * * Needed for the implementation of 'if' */
public Pointcut maybeGetParsedPointcut(); }