Exemplo n.º 1
0
 /// <inheritdoc/>
 public FunctionDefinition ImportFunction(ImportedFunction description, FunctionType signature)
 {
     if (moduleImporters.TryGetValue(description.ModuleName, out IImporter importer))
     {
         return(importer.ImportFunction(description, signature));
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 2
0
 /// <inheritdoc/>
 public FunctionDefinition ImportFunction(ImportedFunction description, FunctionType signature)
 {
     if (Module.ExportedFunctions.TryGetValue(description.FieldName, out FunctionDefinition result) &&
         ConstFunctionTypeComparer.Instance.Equals(signature, new FunctionType(result.ParameterTypes, result.ReturnTypes)))
     {
         return(result);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 3
0
 /// <inheritdoc/>
 public FunctionDefinition ImportFunction(
     ImportedFunction Description, FunctionType Signature)
 {
     if (Description.FieldName == "print")
     {
         return(new SpecTestPrintFunctionDefinition(
                    Signature.ParameterTypes,
                    Signature.ReturnTypes,
                    PrintSuffix));
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 4
0
        /// <inheritdoc/>
        public FunctionDefinition ImportFunction(
            ImportedFunction description, FunctionType signature)
        {
            switch (description.FieldName)
            {
            case "print":
            case "print_i32":
            case "print_i32_f32":
            case "print_f64_f64":
            case "print_f32":
            case "print_f64":
                return(new SpecTestPrintFunctionDefinition(
                           signature.ParameterTypes,
                           signature.ReturnTypes,
                           PrintSuffix,
                           PrintWriter));

            default:
                return(null);
            }
        }
Exemplo n.º 5
0
 /// <inheritdoc/>
 public FunctionDefinition ImportFunction(ImportedFunction Description, FunctionType Signature)
 {
     return(ImportOrDefault <FunctionDefinition>(Description, funcDefDict));
 }