
com.oracle.truffle.nfi.backend.libffi.LibFFILanguageProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of truffle-nfi-libffi Show documentation
Show all versions of truffle-nfi-libffi Show documentation
Implementation of the Truffle NFI using libffi.
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