All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.oracle.truffle.nfi.backend.libffi.LibFFILanguageProvider Maven / Gradle / Ivy

The newest version!
// CheckStyle: start generated
package com.oracle.truffle.nfi.backend.libffi;

import com.oracle.truffle.api.TruffleLanguage.ContextPolicy;
import com.oracle.truffle.api.TruffleLanguage.Registration;
import com.oracle.truffle.api.dsl.GeneratedBy;
import com.oracle.truffle.api.provider.TruffleLanguageProvider;
import java.util.Collection;
import java.util.List;

@GeneratedBy(LibFFILanguage.class)
@Registration(characterMimeTypes = "trufflenfi/native", contextPolicy = ContextPolicy.SHARED, id = "internal/nfi-native", internal = true, name = "nfi-native", version = "0.1")
public final class LibFFILanguageProvider extends TruffleLanguageProvider {

    @Override
    protected String getLanguageClassName() {
        return "com.oracle.truffle.nfi.backend.libffi.LibFFILanguage";
    }

    @Override
    protected Object create() {
        return new LibFFILanguage();
    }

    @Override
    protected Collection getServicesClassNames() {
        return List.of("com.oracle.truffle.nfi.backend.spi.NFIBackendFactory");
    }

    @Override
    protected List createFileTypeDetectors() {
        return List.of();
    }

    @Override
    protected List getInternalResourceIds() {
        return List.of("libnfi");
    }

    @Override
    protected Object createInternalResource(String resourceId) {
        switch (resourceId) {
            case "libnfi" :
                return new LibNFIResource();
            default :
                throw new IllegalArgumentException(String.format("Unsupported internal resource id %s, supported ids are libnfi", resourceId));
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy