com.alibaba.fastffi.clang.TemplateName_cxx_0x204cd096 Maven / Gradle / Ivy
The newest version!
package com.alibaba.fastffi.clang;
import com.alibaba.fastffi.CXXReference;
import com.alibaba.fastffi.CXXValue;
import com.alibaba.fastffi.FFIForeignType;
import com.alibaba.fastffi.FFIPointerImpl;
import com.alibaba.fastffi.FFISynthetic;
import com.alibaba.fastffi.FFITypeFactory;
import com.alibaba.fastffi.llvm.StringOStream;
import java.lang.Object;
import java.lang.String;
import java.lang.UnsatisfiedLinkError;
@FFIForeignType(
value = "clang::TemplateName",
factory = TemplateName_cxx_0x204cd096Factory.class
)
@FFISynthetic("com.alibaba.fastffi.clang.TemplateName")
public class TemplateName_cxx_0x204cd096 extends FFIPointerImpl implements TemplateName {
public static final int SIZE;
public static final int HASH_SHIFT;
static {
try {
System.loadLibrary("llvm4jni");
} catch (UnsatisfiedLinkError e) {
System.load(FFITypeFactory.findNativeLibrary(TemplateName_cxx_0x204cd096.class, "llvm4jni"));
}
}
static {
SIZE = _elementSize$$$();
assert SIZE > 0;
HASH_SHIFT = 31 - Integer.numberOfLeadingZeros(1 + SIZE);
assert HASH_SHIFT > 0;
}
public TemplateName_cxx_0x204cd096(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;
TemplateName_cxx_0x204cd096 that = (TemplateName_cxx_0x204cd096) o;
return this.address == that.address;
}
public int hashCode() {
return (int) (address >> HASH_SHIFT);
}
public String toString() {
return getClass().getName() + "@" + Long.toHexString(address);
}
public boolean containsUnexpandedParameterPack() {
return nativeContainsUnexpandedParameterPack(address);
}
public static native boolean nativeContainsUnexpandedParameterPack(long ptr);
public void dump(@CXXReference StringOStream Out) {
nativeDump0(address, ((com.alibaba.fastffi.FFIPointerImpl) Out).address);
}
public static native void nativeDump0(long ptr, long Out0);
public TemplateDecl getAsTemplateDecl() {
long ret$ = nativeGetAsTemplateDecl(address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateDecl_cxx_0x204852b5(ret$));
}
public static native long nativeGetAsTemplateDecl(long ptr);
public TemplateName.NameKind getKind() {
return com.alibaba.fastffi.clang.TemplateName.NameKind.get(nativeGetKind(address));
}
public static native int nativeGetKind(long ptr);
@CXXValue
public TemplateName getNameToSubstitute() {
long ret$ = nativeGetNameToSubstitute(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.TemplateName_cxx_0x204cd096.SIZE)); return (new com.alibaba.fastffi.clang.TemplateName_cxx_0x204cd096(ret$));
}
@CXXValue
public static native long nativeGetNameToSubstitute(long ptr, long rv_base);
@CXXValue
public TemplateName getUnderlying() {
long ret$ = nativeGetUnderlying(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.TemplateName_cxx_0x204cd096.SIZE)); return (new com.alibaba.fastffi.clang.TemplateName_cxx_0x204cd096(ret$));
}
@CXXValue
public static native long nativeGetUnderlying(long ptr, long rv_base);
public boolean isDependent() {
return nativeIsDependent(address);
}
public static native boolean nativeIsDependent(long ptr);
public boolean isInstantiationDependent() {
return nativeIsInstantiationDependent(address);
}
public static native boolean nativeIsInstantiationDependent(long ptr);
public boolean isNull() {
return nativeIsNull(address);
}
public static native boolean nativeIsNull(long ptr);
public static native long nativeCreateFactory0(long Template0);
}