package edu.ucsd.arcum.interpreter.query;
import org.eclipse.jdt.core.dom.ASTNode;
import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
import org.eclipse.jdt.core.dom.ITypeBinding;
import edu.ucsd.arcum.interpreter.ast.FormalParameter;
import edu.ucsd.arcum.interpreter.parser.FragmentParser;
import edu.ucsd.arcum.interpreter.satisfier.BindingMap;
import edu.ucsd.arcum.interpreter.satisfier.TypeLookupTable;
public interface IEntityLookup
{
Object lookupEntity(String reference);
String lookupEntitiesID(Object entity);
BindingMap extractAsBindings();
FormalParameter findResolvedSingleton(String variableName);
FragmentParser newParser(boolean matchingMode);
AbstractTypeDeclaration lookupTypeDeclaration(ITypeBinding givenBinding);
ITypeBinding lookupTypeBinding(ASTNode node);
TypeLookupTable getTypeLookupTable();
}