public FunctionValue(IInterpreterAssistantFactory af,
AImplicitFunctionDefinition fdef, PTypeList actualTypes,
FunctionValue precondition, FunctionValue postcondition,
Context freeVariables)
{
this(fdef, precondition, postcondition, freeVariables);
this.typeValues = new NameValuePairList();
this.type = af.createAImplicitFunctionDefinitionAssistant().getType(fdef, actualTypes);
Iterator<PType> ti = actualTypes.iterator();
for (ILexNameToken pname : fdef.getTypeParams())
{
PType ptype = ti.next();
typeValues.add(new NameValuePair(pname, new ParameterValue(ptype)));
}
}