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

com.alibaba.fastffi.clang.TemplateArgument_cxx_0xc958b748 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.APSInt;
import com.alibaba.fastffi.llvm.StringOStream;
import java.lang.Object;
import java.lang.String;
import java.lang.UnsatisfiedLinkError;

@FFIForeignType("clang::TemplateArgument")
@FFISynthetic("com.alibaba.fastffi.clang.TemplateArgument")
public class TemplateArgument_cxx_0xc958b748 extends FFIPointerImpl implements TemplateArgument {
  public static final int SIZE;

  public static final int HASH_SHIFT;

  static {
    try {
      System.loadLibrary("llvm4jni");
    } catch (UnsatisfiedLinkError e) {
      System.load(FFITypeFactory.findNativeLibrary(TemplateArgument_cxx_0xc958b748.class, "llvm4jni"));
    }
  }
  static {
    SIZE = _elementSize$$$();
    assert SIZE > 0;
    HASH_SHIFT = 31 - Integer.numberOfLeadingZeros(1 + SIZE);
    assert HASH_SHIFT > 0;
  }

  public TemplateArgument_cxx_0xc958b748(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;
    TemplateArgument_cxx_0xc958b748 that = (TemplateArgument_cxx_0xc958b748) 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 ValueDecl getAsDecl() {
    long ret$ = nativeGetAsDecl(address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ValueDecl_cxx_0xac047cea(ret$));
  }

  public static native long nativeGetAsDecl(long ptr);

  public Expr getAsExpr() {
    long ret$ = nativeGetAsExpr(address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.Expr_cxx_0x23099d66(ret$));
  }

  public static native long nativeGetAsExpr(long ptr);

  @CXXValue
  public APSInt getAsIntegral() {
    long ret$ = nativeGetAsIntegral(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.llvm.APSInt_cxx_0xc3115fc2.SIZE)); return (new com.alibaba.fastffi.llvm.APSInt_cxx_0xc3115fc2(ret$));
  }

  @CXXValue
  public static native long nativeGetAsIntegral(long ptr, long rv_base);

  @CXXValue
  public TemplateName getAsTemplate() {
    long ret$ = nativeGetAsTemplate(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 nativeGetAsTemplate(long ptr, long rv_base);

  @CXXValue
  public TemplateName getAsTemplateOrTemplatePattern() {
    long ret$ = nativeGetAsTemplateOrTemplatePattern(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 nativeGetAsTemplateOrTemplatePattern(long ptr, long rv_base);

  @CXXValue
  public QualType getAsType() {
    long ret$ = nativeGetAsType(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a.SIZE)); return (new com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a(ret$));
  }

  @CXXValue
  public static native long nativeGetAsType(long ptr, long rv_base);

  @CXXValue
  public QualType getIntegralType() {
    long ret$ = nativeGetIntegralType(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a.SIZE)); return (new com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a(ret$));
  }

  @CXXValue
  public static native long nativeGetIntegralType(long ptr, long rv_base);

  public TemplateArgument.ArgKind getKind() {
    return com.alibaba.fastffi.clang.TemplateArgument.ArgKind.get(nativeGetKind(address));
  }

  public static native int nativeGetKind(long ptr);

  @CXXValue
  public QualType getNonTypeTemplateArgumentType() {
    long ret$ = nativeGetNonTypeTemplateArgumentType(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a.SIZE)); return (new com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a(ret$));
  }

  @CXXValue
  public static native long nativeGetNonTypeTemplateArgumentType(long ptr, long rv_base);

  @CXXValue
  public QualType getNullPtrType() {
    long ret$ = nativeGetNullPtrType(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a.SIZE)); return (new com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a(ret$));
  }

  @CXXValue
  public static native long nativeGetNullPtrType(long ptr, long rv_base);

  @CXXValue
  public TemplateArgumentArray getPackAsArray() {
    long ret$ = nativeGetPackAsArray(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.TemplateArgumentArray_cxx_0x1a8a7901.SIZE)); return (new com.alibaba.fastffi.clang.TemplateArgumentArray_cxx_0x1a8a7901(ret$));
  }

  @CXXValue
  public static native long nativeGetPackAsArray(long ptr, long rv_base);

  @CXXValue
  public TemplateArgument getPackExpansionPattern() {
    long ret$ = nativeGetPackExpansionPattern(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.TemplateArgument_cxx_0xc958b748.SIZE)); return (new com.alibaba.fastffi.clang.TemplateArgument_cxx_0xc958b748(ret$));
  }

  @CXXValue
  public static native long nativeGetPackExpansionPattern(long ptr, long rv_base);

  @CXXValue
  public QualType getParamTypeForDecl() {
    long ret$ = nativeGetParamTypeForDecl(address, com.alibaba.fastffi.CXXValueScope.allocate(com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a.SIZE)); return (new com.alibaba.fastffi.clang.QualType_cxx_0x46a6a81a(ret$));
  }

  @CXXValue
  public static native long nativeGetParamTypeForDecl(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 boolean isPackExpansion() {
    return nativeIsPackExpansion(address);
  }

  public static native boolean nativeIsPackExpansion(long ptr);

  public void setIntegralType(@CXXValue QualType T) {
    nativeSetIntegralType(address, ((com.alibaba.fastffi.FFIPointerImpl) T).address);
  }

  public static native void nativeSetIntegralType(long ptr, long T0);

  public boolean structurallyEquals(@CXXReference TemplateArgument Other) {
    return nativeStructurallyEquals(address, ((com.alibaba.fastffi.FFIPointerImpl) Other).address);
  }

  public static native boolean nativeStructurallyEquals(long ptr, long Other0);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy