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

com.alibaba.fastffi.clang.Attr_cxx_0x2307bd62 Maven / Gradle / Ivy

The newest version!
package com.alibaba.fastffi.clang;

import com.alibaba.fastffi.FFIForeignType;
import com.alibaba.fastffi.FFISynthetic;
import com.alibaba.fastffi.FFITypeFactory;
import com.alibaba.fastffi.llvm.CharPointer;
import java.lang.Object;
import java.lang.String;
import java.lang.UnsatisfiedLinkError;

@FFIForeignType("clang::Attr")
@FFISynthetic("com.alibaba.fastffi.clang.Attr")
public class Attr_cxx_0x2307bd62 extends AttributeCommonInfo_cxx_0xe4a5b564 implements Attr {
  public static final int SIZE;

  public static final int HASH_SHIFT;

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

  public Attr_cxx_0x2307bd62(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;
    Attr_cxx_0x2307bd62 that = (Attr_cxx_0x2307bd62) o;
    return this.address == that.address;
  }

  public int hashCode() {
    return (int) (address >> HASH_SHIFT);
  }

  public String toString() {
    return getClass().getName() + "@" + Long.toHexString(address);
  }

  public AttrKind getKind() {
    return AttrKind.get(nativeGetKind(address));
  }

  public static native int nativeGetKind(long ptr);

  public CharPointer getSpelling() {
    long ret$ = nativeGetSpelling(address); return (ret$ == 0L ? null : new com.alibaba.fastffi.llvm.CharPointer_cxx_0x2e9356(ret$));
  }

  public static native long nativeGetSpelling(long ptr);

  public boolean isImplicit() {
    return nativeIsImplicit(address);
  }

  public static native boolean nativeIsImplicit(long ptr);

  public boolean isInherited() {
    return nativeIsInherited(address);
  }

  public static native boolean nativeIsInherited(long ptr);

  public boolean isLateParsed() {
    return nativeIsLateParsed(address);
  }

  public static native boolean nativeIsLateParsed(long ptr);

  public boolean isPackExpansion() {
    return nativeIsPackExpansion(address);
  }

  public static native boolean nativeIsPackExpansion(long ptr);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy