#include "expression/EnvironmentReferenceResolver.h"
#include "expression/EvaluationException.h"
#include "context/ContextException.h"

EnvironmentReferenceResolver::EnvironmentReferenceResolver()    
{

}


void* EnvironmentReferenceResolver::resolveReference(
    boost::shared_ptr<Reference> ref,
    boost::shared_ptr<EvaluationEnvironment> resolvingEnvironment)
{
    UNUSED(ref);
    UNUSED(resolvingEnvironment);
    return NULL;
}

void EnvironmentReferenceResolver::set(const AgString& variable, boost::shared_ptr<AgObjectPtr> value)
{
    environment.insert(std::pair<AgString, boost::shared_ptr<AgObjectPtr> >(variable, value));
}

boost::shared_ptr<AgObjectPtr> EnvironmentReferenceResolver::get(const AgString & variable)
{
    UNUSED(variable);
    return boost::shared_ptr<AgObjectPtr>(new AgObjectPtr);
}

void EnvironmentReferenceResolver::setEnvironment(std::map<AgString, boost::shared_ptr<AgObjectPtr> > environment)
{
    this->environment = environment;
}

std::map<AgString, boost::shared_ptr<AgObjectPtr> > EnvironmentReferenceResolver::getEnvironment()
{
    return environment;
}
