blob: d51184d6bca1b5db4c25efec9212146fcae6bec1 [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2002,2003 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v05.html
*
* Contributors:
* IBM Rational Software - Initial API and implementation
***********************************************************************/
package org.eclipse.cdt.internal.core.parser.pst;
import java.util.List;
import java.util.Map;
/**
* @author jcamelon
*
*/
public interface ISymbol extends Cloneable {
public ParserSymbolTable getSymbolTable();
public Object clone();
public ISymbolASTExtension getASTExtension();
public void setASTExtension( ISymbolASTExtension obj );
public String getName();
public IContainerSymbol getContainingSymbol();
public void setContainingSymbol( IContainerSymbol containing );
public boolean isType( TypeInfo.eType type );
public boolean isType( TypeInfo.eType type, TypeInfo.eType upperType );
public TypeInfo.eType getType();
public void setType(TypeInfo.eType t);
public TypeInfo getTypeInfo();
public void setTypeInfo( TypeInfo info );
public ISymbol getTypeSymbol();
public void setTypeSymbol( ISymbol type );
public boolean isForwardDeclaration();
public void setIsForwardDeclaration( boolean forward );
public int compareCVQualifiersTo( ISymbol symbol );
public List getPtrOperators();
public void addPtrOperator( TypeInfo.PtrOp ptrOp );
public boolean isTemplateMember();
public void setIsTemplateMember( boolean isMember );
public ISymbol getTemplateInstance();
public Map getArgumentMap();
public void setTemplateInstance( TemplateInstance instance );
public int getDepth();
public boolean getIsInvisible();
public void setIsInvisible( boolean invisible );
/**
* @param name
*/
public void setName(String name);
}