public override IChelaType InstanceGeneric(GenericInstance args, ChelaModule instModule) { // Instance the return type. IChelaType returnType = this.returnType.InstanceGeneric(args, instModule); // Instance all of the parameters. List <IChelaType> parameters = new List <IChelaType>(); for (int i = 0; i < arguments.Length; ++i) { IChelaType arg = arguments[i]; parameters.Add(arg.InstanceGeneric(args, instModule)); } // Return a function type with the instanced types. return(Create(returnType, parameters, variableArguments)); }
public override IChelaType InstanceGeneric(GenericInstance args, ChelaModule instModule) { return(Create(referencedType.InstanceGeneric(args, instModule), referenceFlow, streamReference)); }
public override IChelaType InstanceGeneric(GenericInstance args, ChelaModule instModule) { return(Create(valueType.InstanceGeneric(args, instModule))); }