com.alibaba.fastffi.clang.TemplateDeclInstantiator_cxx_0x8a151b53 Maven / Gradle / Ivy
The newest version!
package com.alibaba.fastffi.clang;
import com.alibaba.fastffi.CXXOperator;
import com.alibaba.fastffi.FFIForeignType;
import com.alibaba.fastffi.FFIPointerImpl;
import com.alibaba.fastffi.FFISynthetic;
import com.alibaba.fastffi.FFITypeFactory;
import java.lang.Object;
import java.lang.String;
import java.lang.UnsatisfiedLinkError;
@FFIForeignType(
value = "clang::TemplateDeclInstantiator",
factory = TemplateDeclInstantiator_cxx_0x8a151b53Factory.class
)
@FFISynthetic("com.alibaba.fastffi.clang.TemplateDeclInstantiator")
public class TemplateDeclInstantiator_cxx_0x8a151b53 extends FFIPointerImpl implements TemplateDeclInstantiator {
public static final int SIZE;
public static final int HASH_SHIFT;
static {
try {
System.loadLibrary("llvm4jni");
} catch (UnsatisfiedLinkError e) {
System.load(FFITypeFactory.findNativeLibrary(TemplateDeclInstantiator_cxx_0x8a151b53.class, "llvm4jni"));
}
}
static {
SIZE = _elementSize$$$();
assert SIZE > 0;
HASH_SHIFT = 31 - Integer.numberOfLeadingZeros(1 + SIZE);
assert HASH_SHIFT > 0;
}
public TemplateDeclInstantiator_cxx_0x8a151b53(final long address) {
super(address);
}
private static final native int _elementSize$$$();
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TemplateDeclInstantiator_cxx_0x8a151b53 that = (TemplateDeclInstantiator_cxx_0x8a151b53) o;
return this.address == that.address;
}
public int hashCode() {
return (int) (address >> HASH_SHIFT);
}
public String toString() {
return getClass().getName() + "@" + Long.toHexString(address);
}
public ClassTemplatePartialSpecializationDecl InstantiateClassTemplatePartialSpecialization(
ClassTemplateDecl ClassTemplate, ClassTemplatePartialSpecializationDecl PartialSpec) {
long ret$ = native_InstantiateClassTemplatePartialSpecialization(address, ((com.alibaba.fastffi.FFIPointerImpl) ClassTemplate).address, ((com.alibaba.fastffi.FFIPointerImpl) PartialSpec).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplatePartialSpecializationDecl_cxx_0xb62d8975(ret$));
}
public static native long native_InstantiateClassTemplatePartialSpecialization(long ptr,
long ClassTemplate0, long PartialSpec1);
public void InstantiateEnumDefinition(EnumDecl Enum, EnumDecl Pattern) {
native_InstantiateEnumDefinition(address, ((com.alibaba.fastffi.FFIPointerImpl) Enum).address, ((com.alibaba.fastffi.FFIPointerImpl) Pattern).address);
}
public static native void native_InstantiateEnumDefinition(long ptr, long Enum0, long Pattern1);
public Decl InstantiateTypedefNameDecl(TypedefNameDecl D, boolean IsTypeAlias) {
long ret$ = native_InstantiateTypedefNameDecl(address, ((com.alibaba.fastffi.FFIPointerImpl) D).address, IsTypeAlias); return com.alibaba.fastffi.clang.DeclTypeRefiner.refine(ret$ == 0L ? null : new com.alibaba.fastffi.clang.Decl_cxx_0x2308e01b(ret$));
}
public static native long native_InstantiateTypedefNameDecl(long ptr, long D0,
boolean IsTypeAlias1);
public VarTemplatePartialSpecializationDecl InstantiateVarTemplatePartialSpecialization(
VarTemplateDecl VarTemplate, VarTemplatePartialSpecializationDecl PartialSpec) {
long ret$ = native_InstantiateVarTemplatePartialSpecialization(address, ((com.alibaba.fastffi.FFIPointerImpl) VarTemplate).address, ((com.alibaba.fastffi.FFIPointerImpl) PartialSpec).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplatePartialSpecializationDecl_cxx_0x6bba35e6(ret$));
}
public static native long native_InstantiateVarTemplatePartialSpecialization(long ptr,
long VarTemplate0, long PartialSpec1);
@CXXOperator("delete")
public void delete() {
nativeDelete(address);
}
@CXXOperator("delete")
public static native void nativeDelete(long ptr);
public static native long nativeCreateFactory0(long SemaRef0, long Owner1,
long multiLevelTemplateArguments2);
}