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

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

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

import com.alibaba.fastffi.CXXTemplate;
import com.alibaba.fastffi.FFINameAlias;
import com.alibaba.fastffi.FFISkip;
import com.alibaba.fastffi.FFISynthetic;
import com.alibaba.fastffi.FFITypeAlias;
import com.alibaba.fastffi.FFITypeFactory;
import java.lang.UnsatisfiedLinkError;

@FFISynthetic("com.alibaba.fastffi.clang.DeclCastingGen")
public class DeclCastingGen_cxx_0x7189d728 implements DeclCastingGen {
  public static final DeclCastingGen INSTANCE;

  static {
    try {
      System.loadLibrary("llvm4jni");
    } catch (UnsatisfiedLinkError e) {
      System.load(FFITypeFactory.findNativeLibrary(DeclCastingGen_cxx_0x7189d728.class, "llvm4jni"));
    }
  }
  static {
    INSTANCE = new DeclCastingGen_cxx_0x7189d728();
  }

  public DeclCastingGen_cxx_0x7189d728() {
  }

  @FFITypeAlias("clang::AccessSpecDecl")
  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("cast")
  public AccessSpecDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::AccessSpecDecl") @FFISkip AccessSpecDecl unused) {
    long ret$ = nativeCast0(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.AccessSpecDecl_cxx_0x111392ba(ret$));
  }

  @FFITypeAlias("clang::AccessSpecDecl")
  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast0(long from0);

  @FFITypeAlias("clang::BindingDecl")
  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("cast")
  public BindingDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BindingDecl") @FFISkip BindingDecl unused) {
    long ret$ = nativeCast1(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BindingDecl_cxx_0x1b2de03e(ret$));
  }

  @FFITypeAlias("clang::BindingDecl")
  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast1(long from0);

  @FFITypeAlias("clang::BlockDecl")
  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("cast")
  public BlockDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BlockDecl") @FFISkip BlockDecl unused) {
    long ret$ = nativeCast2(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BlockDecl_cxx_0xda8c206(ret$));
  }

  @FFITypeAlias("clang::BlockDecl")
  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast2(long from0);

  @FFITypeAlias("clang::BuiltinTemplateDecl")
  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("cast")
  public BuiltinTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BuiltinTemplateDecl") @FFISkip BuiltinTemplateDecl unused) {
    long ret$ = nativeCast3(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BuiltinTemplateDecl_cxx_0x118a8076(ret$));
  }

  @FFITypeAlias("clang::BuiltinTemplateDecl")
  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast3(long from0);

  @FFITypeAlias("clang::CXXConstructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("cast")
  public CXXConstructorDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConstructorDecl") @FFISkip CXXConstructorDecl unused) {
    long ret$ = nativeCast4(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXConstructorDecl_cxx_0x85a30452(ret$));
  }

  @FFITypeAlias("clang::CXXConstructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast4(long from0);

  @FFITypeAlias("clang::CXXConversionDecl")
  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("cast")
  public CXXConversionDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConversionDecl") @FFISkip CXXConversionDecl unused) {
    long ret$ = nativeCast5(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXConversionDecl_cxx_0xf2a892(ret$));
  }

  @FFITypeAlias("clang::CXXConversionDecl")
  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast5(long from0);

  @FFITypeAlias("clang::CXXDeductionGuideDecl")
  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("cast")
  public CXXDeductionGuideDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDeductionGuideDecl") @FFISkip CXXDeductionGuideDecl unused) {
    long ret$ = nativeCast6(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXDeductionGuideDecl_cxx_0x69ee3393(ret$));
  }

  @FFITypeAlias("clang::CXXDeductionGuideDecl")
  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast6(long from0);

  @FFITypeAlias("clang::CXXDestructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("cast")
  public CXXDestructorDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDestructorDecl") @FFISkip CXXDestructorDecl unused) {
    long ret$ = nativeCast7(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXDestructorDecl_cxx_0x7af32df5(ret$));
  }

  @FFITypeAlias("clang::CXXDestructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast7(long from0);

  @FFITypeAlias("clang::CXXMethodDecl")
  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("cast")
  public CXXMethodDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXMethodDecl") @FFISkip CXXMethodDecl unused) {
    long ret$ = nativeCast8(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXMethodDecl_cxx_0x510cffdd(ret$));
  }

  @FFITypeAlias("clang::CXXMethodDecl")
  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast8(long from0);

  @FFITypeAlias("clang::CXXRecordDecl")
  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("cast")
  public CXXRecordDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXRecordDecl") @FFISkip CXXRecordDecl unused) {
    long ret$ = nativeCast9(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXRecordDecl_cxx_0xa7f2634d(ret$));
  }

  @FFITypeAlias("clang::CXXRecordDecl")
  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast9(long from0);

  @FFITypeAlias("clang::CapturedDecl")
  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("cast")
  public CapturedDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CapturedDecl") @FFISkip CapturedDecl unused) {
    long ret$ = nativeCast10(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CapturedDecl_cxx_0x88655619(ret$));
  }

  @FFITypeAlias("clang::CapturedDecl")
  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast10(long from0);

  @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("cast")
  public ClassScopeFunctionSpecializationDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl") @FFISkip ClassScopeFunctionSpecializationDecl unused) {
    long ret$ = nativeCast11(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassScopeFunctionSpecializationDecl_cxx_0x860b671a(ret$));
  }

  @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast11(long from0);

  @FFITypeAlias("clang::ClassTemplateDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("cast")
  public ClassTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateDecl") @FFISkip ClassTemplateDecl unused) {
    long ret$ = nativeCast12(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplateDecl_cxx_0x34e7f60b(ret$));
  }

  @FFITypeAlias("clang::ClassTemplateDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast12(long from0);

  @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("cast")
  public ClassTemplatePartialSpecializationDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl") @FFISkip ClassTemplatePartialSpecializationDecl unused) {
    long ret$ = nativeCast13(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplatePartialSpecializationDecl_cxx_0xb62d8975(ret$));
  }

  @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast13(long from0);

  @FFITypeAlias("clang::ClassTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("cast")
  public ClassTemplateSpecializationDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateSpecializationDecl") @FFISkip ClassTemplateSpecializationDecl unused) {
    long ret$ = nativeCast14(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplateSpecializationDecl_cxx_0xd4ce2076(ret$));
  }

  @FFITypeAlias("clang::ClassTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast14(long from0);

  @FFITypeAlias("clang::ConceptDecl")
  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("cast")
  public ConceptDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConceptDecl") @FFISkip ConceptDecl unused) {
    long ret$ = nativeCast15(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ConceptDecl_cxx_0x327202a1(ret$));
  }

  @FFITypeAlias("clang::ConceptDecl")
  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast15(long from0);

  @FFITypeAlias("clang::ConstructorUsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("cast")
  public ConstructorUsingShadowDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConstructorUsingShadowDecl") @FFISkip ConstructorUsingShadowDecl unused) {
    long ret$ = nativeCast16(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ConstructorUsingShadowDecl_cxx_0xefa0f2e5(ret$));
  }

  @FFITypeAlias("clang::ConstructorUsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast16(long from0);

  @FFITypeAlias("clang::DeclContext")
  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("cast")
  public DeclContext cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclContext") @FFISkip DeclContext unused) {
    long ret$ = nativeCast17(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DeclContext_cxx_0x7beaa914(ret$));
  }

  @FFITypeAlias("clang::DeclContext")
  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("cast")
  public static native long nativeCast17(long from0);

  @FFITypeAlias("clang::DeclaratorDecl")
  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("cast")
  public DeclaratorDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclaratorDecl") @FFISkip DeclaratorDecl unused) {
    long ret$ = nativeCast18(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DeclaratorDecl_cxx_0x7852b4ac(ret$));
  }

  @FFITypeAlias("clang::DeclaratorDecl")
  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast18(long from0);

  @FFITypeAlias("clang::DecompositionDecl")
  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("cast")
  public DecompositionDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DecompositionDecl") @FFISkip DecompositionDecl unused) {
    long ret$ = nativeCast19(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DecompositionDecl_cxx_0x222ad302(ret$));
  }

  @FFITypeAlias("clang::DecompositionDecl")
  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast19(long from0);

  @FFITypeAlias("clang::EmptyDecl")
  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("cast")
  public EmptyDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EmptyDecl") @FFISkip EmptyDecl unused) {
    long ret$ = nativeCast20(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EmptyDecl_cxx_0x850522c6(ret$));
  }

  @FFITypeAlias("clang::EmptyDecl")
  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast20(long from0);

  @FFITypeAlias("clang::EnumConstantDecl")
  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("cast")
  public EnumConstantDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumConstantDecl") @FFISkip EnumConstantDecl unused) {
    long ret$ = nativeCast21(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EnumConstantDecl_cxx_0x835f9400(ret$));
  }

  @FFITypeAlias("clang::EnumConstantDecl")
  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast21(long from0);

  @FFITypeAlias("clang::EnumDecl")
  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("cast")
  public EnumDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumDecl") @FFISkip EnumDecl unused) {
    long ret$ = nativeCast22(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EnumDecl_cxx_0x17f4603c(ret$));
  }

  @FFITypeAlias("clang::EnumDecl")
  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast22(long from0);

  @FFITypeAlias("clang::ExportDecl")
  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("cast")
  public ExportDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExportDecl") @FFISkip ExportDecl unused) {
    long ret$ = nativeCast23(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ExportDecl_cxx_0x68b4552f(ret$));
  }

  @FFITypeAlias("clang::ExportDecl")
  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast23(long from0);

  @FFITypeAlias("clang::ExternCContextDecl")
  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("cast")
  public ExternCContextDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExternCContextDecl") @FFISkip ExternCContextDecl unused) {
    long ret$ = nativeCast24(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ExternCContextDecl_cxx_0x64d20007(ret$));
  }

  @FFITypeAlias("clang::ExternCContextDecl")
  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast24(long from0);

  @FFITypeAlias("clang::FieldDecl")
  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("cast")
  public FieldDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FieldDecl") @FFISkip FieldDecl unused) {
    long ret$ = nativeCast25(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FieldDecl_cxx_0x25119ff3(ret$));
  }

  @FFITypeAlias("clang::FieldDecl")
  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast25(long from0);

  @FFITypeAlias("clang::FileScopeAsmDecl")
  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("cast")
  public FileScopeAsmDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FileScopeAsmDecl") @FFISkip FileScopeAsmDecl unused) {
    long ret$ = nativeCast26(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FileScopeAsmDecl_cxx_0x4bceba5e(ret$));
  }

  @FFITypeAlias("clang::FileScopeAsmDecl")
  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast26(long from0);

  @FFITypeAlias("clang::FriendDecl")
  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("cast")
  public FriendDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendDecl") @FFISkip FriendDecl unused) {
    long ret$ = nativeCast27(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FriendDecl_cxx_0xf387c719(ret$));
  }

  @FFITypeAlias("clang::FriendDecl")
  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast27(long from0);

  @FFITypeAlias("clang::FriendTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("cast")
  public FriendTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendTemplateDecl") @FFISkip FriendTemplateDecl unused) {
    long ret$ = nativeCast28(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FriendTemplateDecl_cxx_0x2a675bb3(ret$));
  }

  @FFITypeAlias("clang::FriendTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast28(long from0);

  @FFITypeAlias("clang::FunctionDecl")
  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("cast")
  public FunctionDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionDecl") @FFISkip FunctionDecl unused) {
    long ret$ = nativeCast29(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FunctionDecl_cxx_0x4dde1b13(ret$));
  }

  @FFITypeAlias("clang::FunctionDecl")
  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast29(long from0);

  @FFITypeAlias("clang::FunctionTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("cast")
  public FunctionTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionTemplateDecl") @FFISkip FunctionTemplateDecl unused) {
    long ret$ = nativeCast30(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FunctionTemplateDecl_cxx_0xc98f15ad(ret$));
  }

  @FFITypeAlias("clang::FunctionTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast30(long from0);

  @FFITypeAlias("clang::ImplicitParamDecl")
  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("cast")
  public ImplicitParamDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImplicitParamDecl") @FFISkip ImplicitParamDecl unused) {
    long ret$ = nativeCast31(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ImplicitParamDecl_cxx_0x9932daa1(ret$));
  }

  @FFITypeAlias("clang::ImplicitParamDecl")
  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast31(long from0);

  @FFITypeAlias("clang::ImportDecl")
  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("cast")
  public ImportDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImportDecl") @FFISkip ImportDecl unused) {
    long ret$ = nativeCast32(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ImportDecl_cxx_0xdae954a0(ret$));
  }

  @FFITypeAlias("clang::ImportDecl")
  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast32(long from0);

  @FFITypeAlias("clang::IndirectFieldDecl")
  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("cast")
  public IndirectFieldDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::IndirectFieldDecl") @FFISkip IndirectFieldDecl unused) {
    long ret$ = nativeCast33(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.IndirectFieldDecl_cxx_0x6a773f45(ret$));
  }

  @FFITypeAlias("clang::IndirectFieldDecl")
  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast33(long from0);

  @FFITypeAlias("clang::LabelDecl")
  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("cast")
  public LabelDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LabelDecl") @FFISkip LabelDecl unused) {
    long ret$ = nativeCast34(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LabelDecl_cxx_0xb56ef0ed(ret$));
  }

  @FFITypeAlias("clang::LabelDecl")
  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast34(long from0);

  @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl")
  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("cast")
  public LifetimeExtendedTemporaryDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl") @FFISkip LifetimeExtendedTemporaryDecl unused) {
    long ret$ = nativeCast35(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LifetimeExtendedTemporaryDecl_cxx_0xe7e6e748(ret$));
  }

  @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl")
  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast35(long from0);

  @FFITypeAlias("clang::LinkageSpecDecl")
  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("cast")
  public LinkageSpecDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LinkageSpecDecl") @FFISkip LinkageSpecDecl unused) {
    long ret$ = nativeCast36(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LinkageSpecDecl_cxx_0xae862cd9(ret$));
  }

  @FFITypeAlias("clang::LinkageSpecDecl")
  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast36(long from0);

  @FFITypeAlias("clang::MSGuidDecl")
  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("cast")
  public MSGuidDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSGuidDecl") @FFISkip MSGuidDecl unused) {
    long ret$ = nativeCast37(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.MSGuidDecl_cxx_0x2733f12a(ret$));
  }

  @FFITypeAlias("clang::MSGuidDecl")
  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast37(long from0);

  @FFITypeAlias("clang::MSPropertyDecl")
  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("cast")
  public MSPropertyDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSPropertyDecl") @FFISkip MSPropertyDecl unused) {
    long ret$ = nativeCast38(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.MSPropertyDecl_cxx_0x133aef6(ret$));
  }

  @FFITypeAlias("clang::MSPropertyDecl")
  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast38(long from0);

  @FFITypeAlias("clang::NamedDecl")
  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("cast")
  public NamedDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamedDecl") @FFISkip NamedDecl unused) {
    long ret$ = nativeCast39(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamedDecl_cxx_0x236b9eb2(ret$));
  }

  @FFITypeAlias("clang::NamedDecl")
  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast39(long from0);

  @FFITypeAlias("clang::NamespaceAliasDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("cast")
  public NamespaceAliasDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceAliasDecl") @FFISkip NamespaceAliasDecl unused) {
    long ret$ = nativeCast40(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamespaceAliasDecl_cxx_0xf85a89b0(ret$));
  }

  @FFITypeAlias("clang::NamespaceAliasDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast40(long from0);

  @FFITypeAlias("clang::NamespaceDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("cast")
  public NamespaceDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceDecl") @FFISkip NamespaceDecl unused) {
    long ret$ = nativeCast41(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamespaceDecl_cxx_0xe9140c54(ret$));
  }

  @FFITypeAlias("clang::NamespaceDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast41(long from0);

  @FFITypeAlias("clang::NonTypeTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("cast")
  public NonTypeTemplateParmDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NonTypeTemplateParmDecl") @FFISkip NonTypeTemplateParmDecl unused) {
    long ret$ = nativeCast42(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NonTypeTemplateParmDecl_cxx_0xdcdf8806(ret$));
  }

  @FFITypeAlias("clang::NonTypeTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast42(long from0);

  @FFITypeAlias("clang::ParmVarDecl")
  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("cast")
  public ParmVarDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ParmVarDecl") @FFISkip ParmVarDecl unused) {
    long ret$ = nativeCast43(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ParmVarDecl_cxx_0x92b60a54(ret$));
  }

  @FFITypeAlias("clang::ParmVarDecl")
  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast43(long from0);

  @FFITypeAlias("clang::PragmaCommentDecl")
  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("cast")
  public PragmaCommentDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaCommentDecl") @FFISkip PragmaCommentDecl unused) {
    long ret$ = nativeCast44(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.PragmaCommentDecl_cxx_0x64f778fc(ret$));
  }

  @FFITypeAlias("clang::PragmaCommentDecl")
  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast44(long from0);

  @FFITypeAlias("clang::PragmaDetectMismatchDecl")
  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("cast")
  public PragmaDetectMismatchDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaDetectMismatchDecl") @FFISkip PragmaDetectMismatchDecl unused) {
    long ret$ = nativeCast45(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.PragmaDetectMismatchDecl_cxx_0xb35f1528(ret$));
  }

  @FFITypeAlias("clang::PragmaDetectMismatchDecl")
  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast45(long from0);

  @FFITypeAlias("clang::RecordDecl")
  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("cast")
  public RecordDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RecordDecl") @FFISkip RecordDecl unused) {
    long ret$ = nativeCast46(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RecordDecl_cxx_0x880a174c(ret$));
  }

  @FFITypeAlias("clang::RecordDecl")
  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast46(long from0);

  @FFITypeAlias("clang::RedeclarableTemplateDecl")
  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("cast")
  public RedeclarableTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RedeclarableTemplateDecl") @FFISkip RedeclarableTemplateDecl unused) {
    long ret$ = nativeCast47(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RedeclarableTemplateDecl_cxx_0x3fe869fd(ret$));
  }

  @FFITypeAlias("clang::RedeclarableTemplateDecl")
  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast47(long from0);

  @FFITypeAlias("clang::RequiresExprBodyDecl")
  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("cast")
  public RequiresExprBodyDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RequiresExprBodyDecl") @FFISkip RequiresExprBodyDecl unused) {
    long ret$ = nativeCast48(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RequiresExprBodyDecl_cxx_0x6fe5aec0(ret$));
  }

  @FFITypeAlias("clang::RequiresExprBodyDecl")
  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast48(long from0);

  @FFITypeAlias("clang::StaticAssertDecl")
  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("cast")
  public StaticAssertDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::StaticAssertDecl") @FFISkip StaticAssertDecl unused) {
    long ret$ = nativeCast49(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.StaticAssertDecl_cxx_0x80080c0f(ret$));
  }

  @FFITypeAlias("clang::StaticAssertDecl")
  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast49(long from0);

  @FFITypeAlias("clang::TagDecl")
  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("cast")
  public TagDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TagDecl") @FFISkip TagDecl unused) {
    long ret$ = nativeCast50(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TagDecl_cxx_0x4d8f6e53(ret$));
  }

  @FFITypeAlias("clang::TagDecl")
  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast50(long from0);

  @FFITypeAlias("clang::TemplateDecl")
  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("cast")
  public TemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateDecl") @FFISkip TemplateDecl unused) {
    long ret$ = nativeCast51(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateDecl_cxx_0x204852b5(ret$));
  }

  @FFITypeAlias("clang::TemplateDecl")
  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast51(long from0);

  @FFITypeAlias("clang::TemplateTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("cast")
  public TemplateTemplateParmDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTemplateParmDecl") @FFISkip TemplateTemplateParmDecl unused) {
    long ret$ = nativeCast52(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateTemplateParmDecl_cxx_0x58f8b2db(ret$));
  }

  @FFITypeAlias("clang::TemplateTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast52(long from0);

  @FFITypeAlias("clang::TemplateTypeParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("cast")
  public TemplateTypeParmDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTypeParmDecl") @FFISkip TemplateTypeParmDecl unused) {
    long ret$ = nativeCast53(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateTypeParmDecl_cxx_0xd950331b(ret$));
  }

  @FFITypeAlias("clang::TemplateTypeParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast53(long from0);

  @FFITypeAlias("clang::TranslationUnitDecl")
  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("cast")
  public TranslationUnitDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TranslationUnitDecl") @FFISkip TranslationUnitDecl unused) {
    long ret$ = nativeCast54(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TranslationUnitDecl_cxx_0xf910aa8e(ret$));
  }

  @FFITypeAlias("clang::TranslationUnitDecl")
  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast54(long from0);

  @FFITypeAlias("clang::TypeAliasDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("cast")
  public TypeAliasDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasDecl") @FFISkip TypeAliasDecl unused) {
    long ret$ = nativeCast55(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeAliasDecl_cxx_0x726dcaf(ret$));
  }

  @FFITypeAlias("clang::TypeAliasDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast55(long from0);

  @FFITypeAlias("clang::TypeAliasTemplateDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("cast")
  public TypeAliasTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasTemplateDecl") @FFISkip TypeAliasTemplateDecl unused) {
    long ret$ = nativeCast56(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeAliasTemplateDecl_cxx_0xac3a7b49(ret$));
  }

  @FFITypeAlias("clang::TypeAliasTemplateDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast56(long from0);

  @FFITypeAlias("clang::TypeDecl")
  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("cast")
  public TypeDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeDecl") @FFISkip TypeDecl unused) {
    long ret$ = nativeCast57(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeDecl_cxx_0x6b1195f5(ret$));
  }

  @FFITypeAlias("clang::TypeDecl")
  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast57(long from0);

  @FFITypeAlias("clang::TypedefDecl")
  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("cast")
  public TypedefDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefDecl") @FFISkip TypedefDecl unused) {
    long ret$ = nativeCast58(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypedefDecl_cxx_0x505ab144(ret$));
  }

  @FFITypeAlias("clang::TypedefDecl")
  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast58(long from0);

  @FFITypeAlias("clang::TypedefNameDecl")
  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("cast")
  public TypedefNameDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefNameDecl") @FFISkip TypedefNameDecl unused) {
    long ret$ = nativeCast59(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypedefNameDecl_cxx_0xa159856f(ret$));
  }

  @FFITypeAlias("clang::TypedefNameDecl")
  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast59(long from0);

  @FFITypeAlias("clang::UnresolvedUsingTypenameDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("cast")
  public UnresolvedUsingTypenameDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingTypenameDecl") @FFISkip UnresolvedUsingTypenameDecl unused) {
    long ret$ = nativeCast60(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UnresolvedUsingTypenameDecl_cxx_0xf8afcd91(ret$));
  }

  @FFITypeAlias("clang::UnresolvedUsingTypenameDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast60(long from0);

  @FFITypeAlias("clang::UnresolvedUsingValueDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("cast")
  public UnresolvedUsingValueDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingValueDecl") @FFISkip UnresolvedUsingValueDecl unused) {
    long ret$ = nativeCast61(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UnresolvedUsingValueDecl_cxx_0xa31d5679(ret$));
  }

  @FFITypeAlias("clang::UnresolvedUsingValueDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast61(long from0);

  @FFITypeAlias("clang::UsingDecl")
  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("cast")
  public UsingDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDecl") @FFISkip UsingDecl unused) {
    long ret$ = nativeCast62(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingDecl_cxx_0xbb0cc67d(ret$));
  }

  @FFITypeAlias("clang::UsingDecl")
  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast62(long from0);

  @FFITypeAlias("clang::UsingDirectiveDecl")
  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("cast")
  public UsingDirectiveDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDirectiveDecl") @FFISkip UsingDirectiveDecl unused) {
    long ret$ = nativeCast63(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingDirectiveDecl_cxx_0x1bf24d26(ret$));
  }

  @FFITypeAlias("clang::UsingDirectiveDecl")
  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast63(long from0);

  @FFITypeAlias("clang::UsingPackDecl")
  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("cast")
  public UsingPackDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingPackDecl") @FFISkip UsingPackDecl unused) {
    long ret$ = nativeCast64(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingPackDecl_cxx_0x4d22c6b6(ret$));
  }

  @FFITypeAlias("clang::UsingPackDecl")
  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast64(long from0);

  @FFITypeAlias("clang::UsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("cast")
  public UsingShadowDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingShadowDecl") @FFISkip UsingShadowDecl unused) {
    long ret$ = nativeCast65(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingShadowDecl_cxx_0x8289397d(ret$));
  }

  @FFITypeAlias("clang::UsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast65(long from0);

  @FFITypeAlias("clang::ValueDecl")
  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("cast")
  public ValueDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ValueDecl") @FFISkip ValueDecl unused) {
    long ret$ = nativeCast66(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ValueDecl_cxx_0xac047cea(ret$));
  }

  @FFITypeAlias("clang::ValueDecl")
  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast66(long from0);

  @FFITypeAlias("clang::VarDecl")
  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("cast")
  public VarDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarDecl") @FFISkip VarDecl unused) {
    long ret$ = nativeCast67(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarDecl_cxx_0xb7f6e760(ret$));
  }

  @FFITypeAlias("clang::VarDecl")
  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast67(long from0);

  @FFITypeAlias("clang::VarTemplateDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("cast")
  public VarTemplateDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateDecl") @FFISkip VarTemplateDecl unused) {
    long ret$ = nativeCast68(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplateDecl_cxx_0xbcb144fa(ret$));
  }

  @FFITypeAlias("clang::VarTemplateDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast68(long from0);

  @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("cast")
  public VarTemplatePartialSpecializationDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl") @FFISkip VarTemplatePartialSpecializationDecl unused) {
    long ret$ = nativeCast69(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplatePartialSpecializationDecl_cxx_0x6bba35e6(ret$));
  }

  @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast69(long from0);

  @FFITypeAlias("clang::VarTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("cast")
  public VarTemplateSpecializationDecl cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateSpecializationDecl") @FFISkip VarTemplateSpecializationDecl unused) {
    long ret$ = nativeCast70(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplateSpecializationDecl_cxx_0x470f2125(ret$));
  }

  @FFITypeAlias("clang::VarTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast70(long from0);

  @FFITypeAlias("clang::Decl")
  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("cast")
  public Decl cast(@FFITypeAlias("clang::DeclContext") DeclContext from,
      @FFITypeAlias("clang::Decl") @FFISkip Decl unused) {
    long ret$ = nativeCast71(((com.alibaba.fastffi.FFIPointerImpl) from).address); return com.alibaba.fastffi.clang.DeclTypeRefiner.refine(ret$ == 0L ? null : new com.alibaba.fastffi.clang.Decl_cxx_0x2308e01b(ret$));
  }

  @FFITypeAlias("clang::Decl")
  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("cast")
  public static native long nativeCast71(long from0);

  @FFITypeAlias("clang::AccessSpecDecl")
  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("dyn_cast")
  public AccessSpecDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::AccessSpecDecl") @FFISkip AccessSpecDecl unused) {
    long ret$ = nativeDyn_cast0(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.AccessSpecDecl_cxx_0x111392ba(ret$));
  }

  @FFITypeAlias("clang::AccessSpecDecl")
  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast0(long from0);

  @FFITypeAlias("clang::BindingDecl")
  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("dyn_cast")
  public BindingDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BindingDecl") @FFISkip BindingDecl unused) {
    long ret$ = nativeDyn_cast1(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BindingDecl_cxx_0x1b2de03e(ret$));
  }

  @FFITypeAlias("clang::BindingDecl")
  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast1(long from0);

  @FFITypeAlias("clang::BlockDecl")
  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("dyn_cast")
  public BlockDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BlockDecl") @FFISkip BlockDecl unused) {
    long ret$ = nativeDyn_cast2(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BlockDecl_cxx_0xda8c206(ret$));
  }

  @FFITypeAlias("clang::BlockDecl")
  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast2(long from0);

  @FFITypeAlias("clang::BuiltinTemplateDecl")
  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public BuiltinTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BuiltinTemplateDecl") @FFISkip BuiltinTemplateDecl unused) {
    long ret$ = nativeDyn_cast3(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.BuiltinTemplateDecl_cxx_0x118a8076(ret$));
  }

  @FFITypeAlias("clang::BuiltinTemplateDecl")
  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast3(long from0);

  @FFITypeAlias("clang::CXXConstructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXConstructorDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConstructorDecl") @FFISkip CXXConstructorDecl unused) {
    long ret$ = nativeDyn_cast4(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXConstructorDecl_cxx_0x85a30452(ret$));
  }

  @FFITypeAlias("clang::CXXConstructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast4(long from0);

  @FFITypeAlias("clang::CXXConversionDecl")
  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXConversionDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConversionDecl") @FFISkip CXXConversionDecl unused) {
    long ret$ = nativeDyn_cast5(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXConversionDecl_cxx_0xf2a892(ret$));
  }

  @FFITypeAlias("clang::CXXConversionDecl")
  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast5(long from0);

  @FFITypeAlias("clang::CXXDeductionGuideDecl")
  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXDeductionGuideDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDeductionGuideDecl") @FFISkip CXXDeductionGuideDecl unused) {
    long ret$ = nativeDyn_cast6(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXDeductionGuideDecl_cxx_0x69ee3393(ret$));
  }

  @FFITypeAlias("clang::CXXDeductionGuideDecl")
  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast6(long from0);

  @FFITypeAlias("clang::CXXDestructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXDestructorDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDestructorDecl") @FFISkip CXXDestructorDecl unused) {
    long ret$ = nativeDyn_cast7(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXDestructorDecl_cxx_0x7af32df5(ret$));
  }

  @FFITypeAlias("clang::CXXDestructorDecl")
  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast7(long from0);

  @FFITypeAlias("clang::CXXMethodDecl")
  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXMethodDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXMethodDecl") @FFISkip CXXMethodDecl unused) {
    long ret$ = nativeDyn_cast8(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXMethodDecl_cxx_0x510cffdd(ret$));
  }

  @FFITypeAlias("clang::CXXMethodDecl")
  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast8(long from0);

  @FFITypeAlias("clang::CXXRecordDecl")
  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("dyn_cast")
  public CXXRecordDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXRecordDecl") @FFISkip CXXRecordDecl unused) {
    long ret$ = nativeDyn_cast9(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CXXRecordDecl_cxx_0xa7f2634d(ret$));
  }

  @FFITypeAlias("clang::CXXRecordDecl")
  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast9(long from0);

  @FFITypeAlias("clang::CapturedDecl")
  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("dyn_cast")
  public CapturedDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CapturedDecl") @FFISkip CapturedDecl unused) {
    long ret$ = nativeDyn_cast10(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.CapturedDecl_cxx_0x88655619(ret$));
  }

  @FFITypeAlias("clang::CapturedDecl")
  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast10(long from0);

  @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public ClassScopeFunctionSpecializationDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl") @FFISkip ClassScopeFunctionSpecializationDecl unused) {
    long ret$ = nativeDyn_cast11(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassScopeFunctionSpecializationDecl_cxx_0x860b671a(ret$));
  }

  @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast11(long from0);

  @FFITypeAlias("clang::ClassTemplateDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public ClassTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateDecl") @FFISkip ClassTemplateDecl unused) {
    long ret$ = nativeDyn_cast12(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplateDecl_cxx_0x34e7f60b(ret$));
  }

  @FFITypeAlias("clang::ClassTemplateDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast12(long from0);

  @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public ClassTemplatePartialSpecializationDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl") @FFISkip ClassTemplatePartialSpecializationDecl unused) {
    long ret$ = nativeDyn_cast13(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplatePartialSpecializationDecl_cxx_0xb62d8975(ret$));
  }

  @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast13(long from0);

  @FFITypeAlias("clang::ClassTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public ClassTemplateSpecializationDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateSpecializationDecl") @FFISkip ClassTemplateSpecializationDecl unused) {
    long ret$ = nativeDyn_cast14(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ClassTemplateSpecializationDecl_cxx_0xd4ce2076(ret$));
  }

  @FFITypeAlias("clang::ClassTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast14(long from0);

  @FFITypeAlias("clang::ConceptDecl")
  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("dyn_cast")
  public ConceptDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConceptDecl") @FFISkip ConceptDecl unused) {
    long ret$ = nativeDyn_cast15(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ConceptDecl_cxx_0x327202a1(ret$));
  }

  @FFITypeAlias("clang::ConceptDecl")
  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast15(long from0);

  @FFITypeAlias("clang::ConstructorUsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("dyn_cast")
  public ConstructorUsingShadowDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConstructorUsingShadowDecl") @FFISkip ConstructorUsingShadowDecl unused) {
    long ret$ = nativeDyn_cast16(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ConstructorUsingShadowDecl_cxx_0xefa0f2e5(ret$));
  }

  @FFITypeAlias("clang::ConstructorUsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast16(long from0);

  @FFITypeAlias("clang::DeclContext")
  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("dyn_cast")
  public DeclContext dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclContext") @FFISkip DeclContext unused) {
    long ret$ = nativeDyn_cast17(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DeclContext_cxx_0x7beaa914(ret$));
  }

  @FFITypeAlias("clang::DeclContext")
  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast17(long from0);

  @FFITypeAlias("clang::DeclaratorDecl")
  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("dyn_cast")
  public DeclaratorDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclaratorDecl") @FFISkip DeclaratorDecl unused) {
    long ret$ = nativeDyn_cast18(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DeclaratorDecl_cxx_0x7852b4ac(ret$));
  }

  @FFITypeAlias("clang::DeclaratorDecl")
  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast18(long from0);

  @FFITypeAlias("clang::DecompositionDecl")
  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("dyn_cast")
  public DecompositionDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DecompositionDecl") @FFISkip DecompositionDecl unused) {
    long ret$ = nativeDyn_cast19(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.DecompositionDecl_cxx_0x222ad302(ret$));
  }

  @FFITypeAlias("clang::DecompositionDecl")
  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast19(long from0);

  @FFITypeAlias("clang::EmptyDecl")
  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("dyn_cast")
  public EmptyDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EmptyDecl") @FFISkip EmptyDecl unused) {
    long ret$ = nativeDyn_cast20(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EmptyDecl_cxx_0x850522c6(ret$));
  }

  @FFITypeAlias("clang::EmptyDecl")
  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast20(long from0);

  @FFITypeAlias("clang::EnumConstantDecl")
  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("dyn_cast")
  public EnumConstantDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumConstantDecl") @FFISkip EnumConstantDecl unused) {
    long ret$ = nativeDyn_cast21(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EnumConstantDecl_cxx_0x835f9400(ret$));
  }

  @FFITypeAlias("clang::EnumConstantDecl")
  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast21(long from0);

  @FFITypeAlias("clang::EnumDecl")
  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("dyn_cast")
  public EnumDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumDecl") @FFISkip EnumDecl unused) {
    long ret$ = nativeDyn_cast22(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.EnumDecl_cxx_0x17f4603c(ret$));
  }

  @FFITypeAlias("clang::EnumDecl")
  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast22(long from0);

  @FFITypeAlias("clang::ExportDecl")
  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("dyn_cast")
  public ExportDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExportDecl") @FFISkip ExportDecl unused) {
    long ret$ = nativeDyn_cast23(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ExportDecl_cxx_0x68b4552f(ret$));
  }

  @FFITypeAlias("clang::ExportDecl")
  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast23(long from0);

  @FFITypeAlias("clang::ExternCContextDecl")
  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("dyn_cast")
  public ExternCContextDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExternCContextDecl") @FFISkip ExternCContextDecl unused) {
    long ret$ = nativeDyn_cast24(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ExternCContextDecl_cxx_0x64d20007(ret$));
  }

  @FFITypeAlias("clang::ExternCContextDecl")
  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast24(long from0);

  @FFITypeAlias("clang::FieldDecl")
  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("dyn_cast")
  public FieldDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FieldDecl") @FFISkip FieldDecl unused) {
    long ret$ = nativeDyn_cast25(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FieldDecl_cxx_0x25119ff3(ret$));
  }

  @FFITypeAlias("clang::FieldDecl")
  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast25(long from0);

  @FFITypeAlias("clang::FileScopeAsmDecl")
  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("dyn_cast")
  public FileScopeAsmDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FileScopeAsmDecl") @FFISkip FileScopeAsmDecl unused) {
    long ret$ = nativeDyn_cast26(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FileScopeAsmDecl_cxx_0x4bceba5e(ret$));
  }

  @FFITypeAlias("clang::FileScopeAsmDecl")
  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast26(long from0);

  @FFITypeAlias("clang::FriendDecl")
  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("dyn_cast")
  public FriendDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendDecl") @FFISkip FriendDecl unused) {
    long ret$ = nativeDyn_cast27(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FriendDecl_cxx_0xf387c719(ret$));
  }

  @FFITypeAlias("clang::FriendDecl")
  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast27(long from0);

  @FFITypeAlias("clang::FriendTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public FriendTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendTemplateDecl") @FFISkip FriendTemplateDecl unused) {
    long ret$ = nativeDyn_cast28(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FriendTemplateDecl_cxx_0x2a675bb3(ret$));
  }

  @FFITypeAlias("clang::FriendTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast28(long from0);

  @FFITypeAlias("clang::FunctionDecl")
  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("dyn_cast")
  public FunctionDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionDecl") @FFISkip FunctionDecl unused) {
    long ret$ = nativeDyn_cast29(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FunctionDecl_cxx_0x4dde1b13(ret$));
  }

  @FFITypeAlias("clang::FunctionDecl")
  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast29(long from0);

  @FFITypeAlias("clang::FunctionTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public FunctionTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionTemplateDecl") @FFISkip FunctionTemplateDecl unused) {
    long ret$ = nativeDyn_cast30(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.FunctionTemplateDecl_cxx_0xc98f15ad(ret$));
  }

  @FFITypeAlias("clang::FunctionTemplateDecl")
  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast30(long from0);

  @FFITypeAlias("clang::ImplicitParamDecl")
  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("dyn_cast")
  public ImplicitParamDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImplicitParamDecl") @FFISkip ImplicitParamDecl unused) {
    long ret$ = nativeDyn_cast31(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ImplicitParamDecl_cxx_0x9932daa1(ret$));
  }

  @FFITypeAlias("clang::ImplicitParamDecl")
  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast31(long from0);

  @FFITypeAlias("clang::ImportDecl")
  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("dyn_cast")
  public ImportDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImportDecl") @FFISkip ImportDecl unused) {
    long ret$ = nativeDyn_cast32(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ImportDecl_cxx_0xdae954a0(ret$));
  }

  @FFITypeAlias("clang::ImportDecl")
  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast32(long from0);

  @FFITypeAlias("clang::IndirectFieldDecl")
  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("dyn_cast")
  public IndirectFieldDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::IndirectFieldDecl") @FFISkip IndirectFieldDecl unused) {
    long ret$ = nativeDyn_cast33(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.IndirectFieldDecl_cxx_0x6a773f45(ret$));
  }

  @FFITypeAlias("clang::IndirectFieldDecl")
  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast33(long from0);

  @FFITypeAlias("clang::LabelDecl")
  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("dyn_cast")
  public LabelDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LabelDecl") @FFISkip LabelDecl unused) {
    long ret$ = nativeDyn_cast34(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LabelDecl_cxx_0xb56ef0ed(ret$));
  }

  @FFITypeAlias("clang::LabelDecl")
  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast34(long from0);

  @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl")
  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("dyn_cast")
  public LifetimeExtendedTemporaryDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl") @FFISkip LifetimeExtendedTemporaryDecl unused) {
    long ret$ = nativeDyn_cast35(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LifetimeExtendedTemporaryDecl_cxx_0xe7e6e748(ret$));
  }

  @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl")
  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast35(long from0);

  @FFITypeAlias("clang::LinkageSpecDecl")
  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("dyn_cast")
  public LinkageSpecDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LinkageSpecDecl") @FFISkip LinkageSpecDecl unused) {
    long ret$ = nativeDyn_cast36(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.LinkageSpecDecl_cxx_0xae862cd9(ret$));
  }

  @FFITypeAlias("clang::LinkageSpecDecl")
  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast36(long from0);

  @FFITypeAlias("clang::MSGuidDecl")
  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("dyn_cast")
  public MSGuidDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSGuidDecl") @FFISkip MSGuidDecl unused) {
    long ret$ = nativeDyn_cast37(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.MSGuidDecl_cxx_0x2733f12a(ret$));
  }

  @FFITypeAlias("clang::MSGuidDecl")
  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast37(long from0);

  @FFITypeAlias("clang::MSPropertyDecl")
  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("dyn_cast")
  public MSPropertyDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSPropertyDecl") @FFISkip MSPropertyDecl unused) {
    long ret$ = nativeDyn_cast38(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.MSPropertyDecl_cxx_0x133aef6(ret$));
  }

  @FFITypeAlias("clang::MSPropertyDecl")
  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast38(long from0);

  @FFITypeAlias("clang::NamedDecl")
  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("dyn_cast")
  public NamedDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamedDecl") @FFISkip NamedDecl unused) {
    long ret$ = nativeDyn_cast39(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamedDecl_cxx_0x236b9eb2(ret$));
  }

  @FFITypeAlias("clang::NamedDecl")
  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast39(long from0);

  @FFITypeAlias("clang::NamespaceAliasDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("dyn_cast")
  public NamespaceAliasDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceAliasDecl") @FFISkip NamespaceAliasDecl unused) {
    long ret$ = nativeDyn_cast40(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamespaceAliasDecl_cxx_0xf85a89b0(ret$));
  }

  @FFITypeAlias("clang::NamespaceAliasDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast40(long from0);

  @FFITypeAlias("clang::NamespaceDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("dyn_cast")
  public NamespaceDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceDecl") @FFISkip NamespaceDecl unused) {
    long ret$ = nativeDyn_cast41(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NamespaceDecl_cxx_0xe9140c54(ret$));
  }

  @FFITypeAlias("clang::NamespaceDecl")
  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast41(long from0);

  @FFITypeAlias("clang::NonTypeTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public NonTypeTemplateParmDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NonTypeTemplateParmDecl") @FFISkip NonTypeTemplateParmDecl unused) {
    long ret$ = nativeDyn_cast42(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.NonTypeTemplateParmDecl_cxx_0xdcdf8806(ret$));
  }

  @FFITypeAlias("clang::NonTypeTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast42(long from0);

  @FFITypeAlias("clang::ParmVarDecl")
  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("dyn_cast")
  public ParmVarDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ParmVarDecl") @FFISkip ParmVarDecl unused) {
    long ret$ = nativeDyn_cast43(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ParmVarDecl_cxx_0x92b60a54(ret$));
  }

  @FFITypeAlias("clang::ParmVarDecl")
  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast43(long from0);

  @FFITypeAlias("clang::PragmaCommentDecl")
  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("dyn_cast")
  public PragmaCommentDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaCommentDecl") @FFISkip PragmaCommentDecl unused) {
    long ret$ = nativeDyn_cast44(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.PragmaCommentDecl_cxx_0x64f778fc(ret$));
  }

  @FFITypeAlias("clang::PragmaCommentDecl")
  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast44(long from0);

  @FFITypeAlias("clang::PragmaDetectMismatchDecl")
  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("dyn_cast")
  public PragmaDetectMismatchDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaDetectMismatchDecl") @FFISkip PragmaDetectMismatchDecl unused) {
    long ret$ = nativeDyn_cast45(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.PragmaDetectMismatchDecl_cxx_0xb35f1528(ret$));
  }

  @FFITypeAlias("clang::PragmaDetectMismatchDecl")
  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast45(long from0);

  @FFITypeAlias("clang::RecordDecl")
  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("dyn_cast")
  public RecordDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RecordDecl") @FFISkip RecordDecl unused) {
    long ret$ = nativeDyn_cast46(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RecordDecl_cxx_0x880a174c(ret$));
  }

  @FFITypeAlias("clang::RecordDecl")
  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast46(long from0);

  @FFITypeAlias("clang::RedeclarableTemplateDecl")
  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public RedeclarableTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RedeclarableTemplateDecl") @FFISkip RedeclarableTemplateDecl unused) {
    long ret$ = nativeDyn_cast47(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RedeclarableTemplateDecl_cxx_0x3fe869fd(ret$));
  }

  @FFITypeAlias("clang::RedeclarableTemplateDecl")
  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast47(long from0);

  @FFITypeAlias("clang::RequiresExprBodyDecl")
  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("dyn_cast")
  public RequiresExprBodyDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RequiresExprBodyDecl") @FFISkip RequiresExprBodyDecl unused) {
    long ret$ = nativeDyn_cast48(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.RequiresExprBodyDecl_cxx_0x6fe5aec0(ret$));
  }

  @FFITypeAlias("clang::RequiresExprBodyDecl")
  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast48(long from0);

  @FFITypeAlias("clang::StaticAssertDecl")
  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("dyn_cast")
  public StaticAssertDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::StaticAssertDecl") @FFISkip StaticAssertDecl unused) {
    long ret$ = nativeDyn_cast49(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.StaticAssertDecl_cxx_0x80080c0f(ret$));
  }

  @FFITypeAlias("clang::StaticAssertDecl")
  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast49(long from0);

  @FFITypeAlias("clang::TagDecl")
  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("dyn_cast")
  public TagDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TagDecl") @FFISkip TagDecl unused) {
    long ret$ = nativeDyn_cast50(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TagDecl_cxx_0x4d8f6e53(ret$));
  }

  @FFITypeAlias("clang::TagDecl")
  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast50(long from0);

  @FFITypeAlias("clang::TemplateDecl")
  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public TemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateDecl") @FFISkip TemplateDecl unused) {
    long ret$ = nativeDyn_cast51(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateDecl_cxx_0x204852b5(ret$));
  }

  @FFITypeAlias("clang::TemplateDecl")
  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast51(long from0);

  @FFITypeAlias("clang::TemplateTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public TemplateTemplateParmDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTemplateParmDecl") @FFISkip TemplateTemplateParmDecl unused) {
    long ret$ = nativeDyn_cast52(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateTemplateParmDecl_cxx_0x58f8b2db(ret$));
  }

  @FFITypeAlias("clang::TemplateTemplateParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast52(long from0);

  @FFITypeAlias("clang::TemplateTypeParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public TemplateTypeParmDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTypeParmDecl") @FFISkip TemplateTypeParmDecl unused) {
    long ret$ = nativeDyn_cast53(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TemplateTypeParmDecl_cxx_0xd950331b(ret$));
  }

  @FFITypeAlias("clang::TemplateTypeParmDecl")
  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast53(long from0);

  @FFITypeAlias("clang::TranslationUnitDecl")
  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("dyn_cast")
  public TranslationUnitDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TranslationUnitDecl") @FFISkip TranslationUnitDecl unused) {
    long ret$ = nativeDyn_cast54(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TranslationUnitDecl_cxx_0xf910aa8e(ret$));
  }

  @FFITypeAlias("clang::TranslationUnitDecl")
  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast54(long from0);

  @FFITypeAlias("clang::TypeAliasDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("dyn_cast")
  public TypeAliasDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasDecl") @FFISkip TypeAliasDecl unused) {
    long ret$ = nativeDyn_cast55(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeAliasDecl_cxx_0x726dcaf(ret$));
  }

  @FFITypeAlias("clang::TypeAliasDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast55(long from0);

  @FFITypeAlias("clang::TypeAliasTemplateDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public TypeAliasTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasTemplateDecl") @FFISkip TypeAliasTemplateDecl unused) {
    long ret$ = nativeDyn_cast56(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeAliasTemplateDecl_cxx_0xac3a7b49(ret$));
  }

  @FFITypeAlias("clang::TypeAliasTemplateDecl")
  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast56(long from0);

  @FFITypeAlias("clang::TypeDecl")
  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("dyn_cast")
  public TypeDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeDecl") @FFISkip TypeDecl unused) {
    long ret$ = nativeDyn_cast57(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypeDecl_cxx_0x6b1195f5(ret$));
  }

  @FFITypeAlias("clang::TypeDecl")
  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast57(long from0);

  @FFITypeAlias("clang::TypedefDecl")
  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("dyn_cast")
  public TypedefDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefDecl") @FFISkip TypedefDecl unused) {
    long ret$ = nativeDyn_cast58(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypedefDecl_cxx_0x505ab144(ret$));
  }

  @FFITypeAlias("clang::TypedefDecl")
  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast58(long from0);

  @FFITypeAlias("clang::TypedefNameDecl")
  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("dyn_cast")
  public TypedefNameDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefNameDecl") @FFISkip TypedefNameDecl unused) {
    long ret$ = nativeDyn_cast59(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.TypedefNameDecl_cxx_0xa159856f(ret$));
  }

  @FFITypeAlias("clang::TypedefNameDecl")
  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast59(long from0);

  @FFITypeAlias("clang::UnresolvedUsingTypenameDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("dyn_cast")
  public UnresolvedUsingTypenameDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingTypenameDecl") @FFISkip UnresolvedUsingTypenameDecl unused) {
    long ret$ = nativeDyn_cast60(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UnresolvedUsingTypenameDecl_cxx_0xf8afcd91(ret$));
  }

  @FFITypeAlias("clang::UnresolvedUsingTypenameDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast60(long from0);

  @FFITypeAlias("clang::UnresolvedUsingValueDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("dyn_cast")
  public UnresolvedUsingValueDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingValueDecl") @FFISkip UnresolvedUsingValueDecl unused) {
    long ret$ = nativeDyn_cast61(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UnresolvedUsingValueDecl_cxx_0xa31d5679(ret$));
  }

  @FFITypeAlias("clang::UnresolvedUsingValueDecl")
  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast61(long from0);

  @FFITypeAlias("clang::UsingDecl")
  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("dyn_cast")
  public UsingDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDecl") @FFISkip UsingDecl unused) {
    long ret$ = nativeDyn_cast62(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingDecl_cxx_0xbb0cc67d(ret$));
  }

  @FFITypeAlias("clang::UsingDecl")
  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast62(long from0);

  @FFITypeAlias("clang::UsingDirectiveDecl")
  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("dyn_cast")
  public UsingDirectiveDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDirectiveDecl") @FFISkip UsingDirectiveDecl unused) {
    long ret$ = nativeDyn_cast63(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingDirectiveDecl_cxx_0x1bf24d26(ret$));
  }

  @FFITypeAlias("clang::UsingDirectiveDecl")
  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast63(long from0);

  @FFITypeAlias("clang::UsingPackDecl")
  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("dyn_cast")
  public UsingPackDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingPackDecl") @FFISkip UsingPackDecl unused) {
    long ret$ = nativeDyn_cast64(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingPackDecl_cxx_0x4d22c6b6(ret$));
  }

  @FFITypeAlias("clang::UsingPackDecl")
  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast64(long from0);

  @FFITypeAlias("clang::UsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("dyn_cast")
  public UsingShadowDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingShadowDecl") @FFISkip UsingShadowDecl unused) {
    long ret$ = nativeDyn_cast65(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.UsingShadowDecl_cxx_0x8289397d(ret$));
  }

  @FFITypeAlias("clang::UsingShadowDecl")
  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast65(long from0);

  @FFITypeAlias("clang::ValueDecl")
  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("dyn_cast")
  public ValueDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ValueDecl") @FFISkip ValueDecl unused) {
    long ret$ = nativeDyn_cast66(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.ValueDecl_cxx_0xac047cea(ret$));
  }

  @FFITypeAlias("clang::ValueDecl")
  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast66(long from0);

  @FFITypeAlias("clang::VarDecl")
  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("dyn_cast")
  public VarDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarDecl") @FFISkip VarDecl unused) {
    long ret$ = nativeDyn_cast67(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarDecl_cxx_0xb7f6e760(ret$));
  }

  @FFITypeAlias("clang::VarDecl")
  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast67(long from0);

  @FFITypeAlias("clang::VarTemplateDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public VarTemplateDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateDecl") @FFISkip VarTemplateDecl unused) {
    long ret$ = nativeDyn_cast68(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplateDecl_cxx_0xbcb144fa(ret$));
  }

  @FFITypeAlias("clang::VarTemplateDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast68(long from0);

  @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public VarTemplatePartialSpecializationDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl") @FFISkip VarTemplatePartialSpecializationDecl unused) {
    long ret$ = nativeDyn_cast69(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplatePartialSpecializationDecl_cxx_0x6bba35e6(ret$));
  }

  @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast69(long from0);

  @FFITypeAlias("clang::VarTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public VarTemplateSpecializationDecl dyn_cast(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateSpecializationDecl") @FFISkip VarTemplateSpecializationDecl unused) {
    long ret$ = nativeDyn_cast70(((com.alibaba.fastffi.FFIPointerImpl) from).address); return (ret$ == 0L ? null : new com.alibaba.fastffi.clang.VarTemplateSpecializationDecl_cxx_0x470f2125(ret$));
  }

  @FFITypeAlias("clang::VarTemplateSpecializationDecl")
  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast70(long from0);

  @FFITypeAlias("clang::Decl")
  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("dyn_cast")
  public Decl dyn_cast(@FFITypeAlias("clang::DeclContext") DeclContext from,
      @FFITypeAlias("clang::Decl") @FFISkip Decl unused) {
    long ret$ = nativeDyn_cast71(((com.alibaba.fastffi.FFIPointerImpl) from).address); return com.alibaba.fastffi.clang.DeclTypeRefiner.refine(ret$ == 0L ? null : new com.alibaba.fastffi.clang.Decl_cxx_0x2308e01b(ret$));
  }

  @FFITypeAlias("clang::Decl")
  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("dyn_cast")
  public static native long nativeDyn_cast71(long from0);

  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::AccessSpecDecl") @FFISkip AccessSpecDecl unused) {
    return nativeIsa0(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::AccessSpecDecl",
      java = "AccessSpecDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa0(long from0);

  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BindingDecl") @FFISkip BindingDecl unused) {
    return nativeIsa1(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::BindingDecl",
      java = "BindingDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa1(long from0);

  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BlockDecl") @FFISkip BlockDecl unused) {
    return nativeIsa2(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::BlockDecl",
      java = "BlockDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa2(long from0);

  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::BuiltinTemplateDecl") @FFISkip BuiltinTemplateDecl unused) {
    return nativeIsa3(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::BuiltinTemplateDecl",
      java = "BuiltinTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa3(long from0);

  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConstructorDecl") @FFISkip CXXConstructorDecl unused) {
    return nativeIsa4(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXConstructorDecl",
      java = "CXXConstructorDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa4(long from0);

  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXConversionDecl") @FFISkip CXXConversionDecl unused) {
    return nativeIsa5(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXConversionDecl",
      java = "CXXConversionDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa5(long from0);

  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDeductionGuideDecl") @FFISkip CXXDeductionGuideDecl unused) {
    return nativeIsa6(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXDeductionGuideDecl",
      java = "CXXDeductionGuideDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa6(long from0);

  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXDestructorDecl") @FFISkip CXXDestructorDecl unused) {
    return nativeIsa7(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXDestructorDecl",
      java = "CXXDestructorDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa7(long from0);

  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXMethodDecl") @FFISkip CXXMethodDecl unused) {
    return nativeIsa8(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXMethodDecl",
      java = "CXXMethodDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa8(long from0);

  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CXXRecordDecl") @FFISkip CXXRecordDecl unused) {
    return nativeIsa9(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CXXRecordDecl",
      java = "CXXRecordDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa9(long from0);

  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::CapturedDecl") @FFISkip CapturedDecl unused) {
    return nativeIsa10(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::CapturedDecl",
      java = "CapturedDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa10(long from0);

  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassScopeFunctionSpecializationDecl") @FFISkip ClassScopeFunctionSpecializationDecl unused) {
    return nativeIsa11(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ClassScopeFunctionSpecializationDecl",
      java = "ClassScopeFunctionSpecializationDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa11(long from0);

  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateDecl") @FFISkip ClassTemplateDecl unused) {
    return nativeIsa12(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ClassTemplateDecl",
      java = "ClassTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa12(long from0);

  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplatePartialSpecializationDecl") @FFISkip ClassTemplatePartialSpecializationDecl unused) {
    return nativeIsa13(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ClassTemplatePartialSpecializationDecl",
      java = "ClassTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa13(long from0);

  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ClassTemplateSpecializationDecl") @FFISkip ClassTemplateSpecializationDecl unused) {
    return nativeIsa14(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ClassTemplateSpecializationDecl",
      java = "ClassTemplateSpecializationDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa14(long from0);

  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConceptDecl") @FFISkip ConceptDecl unused) {
    return nativeIsa15(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ConceptDecl",
      java = "ConceptDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa15(long from0);

  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ConstructorUsingShadowDecl") @FFISkip ConstructorUsingShadowDecl unused) {
    return nativeIsa16(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ConstructorUsingShadowDecl",
      java = "ConstructorUsingShadowDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa16(long from0);

  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclContext") @FFISkip DeclContext unused) {
    return nativeIsa17(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::DeclContext",
      java = "DeclContext"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa17(long from0);

  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DeclaratorDecl") @FFISkip DeclaratorDecl unused) {
    return nativeIsa18(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::DeclaratorDecl",
      java = "DeclaratorDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa18(long from0);

  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::DecompositionDecl") @FFISkip DecompositionDecl unused) {
    return nativeIsa19(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::DecompositionDecl",
      java = "DecompositionDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa19(long from0);

  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EmptyDecl") @FFISkip EmptyDecl unused) {
    return nativeIsa20(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::EmptyDecl",
      java = "EmptyDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa20(long from0);

  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumConstantDecl") @FFISkip EnumConstantDecl unused) {
    return nativeIsa21(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::EnumConstantDecl",
      java = "EnumConstantDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa21(long from0);

  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::EnumDecl") @FFISkip EnumDecl unused) {
    return nativeIsa22(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::EnumDecl",
      java = "EnumDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa22(long from0);

  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExportDecl") @FFISkip ExportDecl unused) {
    return nativeIsa23(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ExportDecl",
      java = "ExportDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa23(long from0);

  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ExternCContextDecl") @FFISkip ExternCContextDecl unused) {
    return nativeIsa24(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ExternCContextDecl",
      java = "ExternCContextDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa24(long from0);

  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FieldDecl") @FFISkip FieldDecl unused) {
    return nativeIsa25(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FieldDecl",
      java = "FieldDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa25(long from0);

  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FileScopeAsmDecl") @FFISkip FileScopeAsmDecl unused) {
    return nativeIsa26(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FileScopeAsmDecl",
      java = "FileScopeAsmDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa26(long from0);

  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendDecl") @FFISkip FriendDecl unused) {
    return nativeIsa27(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FriendDecl",
      java = "FriendDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa27(long from0);

  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FriendTemplateDecl") @FFISkip FriendTemplateDecl unused) {
    return nativeIsa28(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FriendTemplateDecl",
      java = "FriendTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa28(long from0);

  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionDecl") @FFISkip FunctionDecl unused) {
    return nativeIsa29(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FunctionDecl",
      java = "FunctionDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa29(long from0);

  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::FunctionTemplateDecl") @FFISkip FunctionTemplateDecl unused) {
    return nativeIsa30(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::FunctionTemplateDecl",
      java = "FunctionTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa30(long from0);

  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImplicitParamDecl") @FFISkip ImplicitParamDecl unused) {
    return nativeIsa31(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ImplicitParamDecl",
      java = "ImplicitParamDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa31(long from0);

  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ImportDecl") @FFISkip ImportDecl unused) {
    return nativeIsa32(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ImportDecl",
      java = "ImportDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa32(long from0);

  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::IndirectFieldDecl") @FFISkip IndirectFieldDecl unused) {
    return nativeIsa33(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::IndirectFieldDecl",
      java = "IndirectFieldDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa33(long from0);

  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LabelDecl") @FFISkip LabelDecl unused) {
    return nativeIsa34(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::LabelDecl",
      java = "LabelDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa34(long from0);

  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LifetimeExtendedTemporaryDecl") @FFISkip LifetimeExtendedTemporaryDecl unused) {
    return nativeIsa35(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::LifetimeExtendedTemporaryDecl",
      java = "LifetimeExtendedTemporaryDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa35(long from0);

  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::LinkageSpecDecl") @FFISkip LinkageSpecDecl unused) {
    return nativeIsa36(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::LinkageSpecDecl",
      java = "LinkageSpecDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa36(long from0);

  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSGuidDecl") @FFISkip MSGuidDecl unused) {
    return nativeIsa37(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::MSGuidDecl",
      java = "MSGuidDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa37(long from0);

  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::MSPropertyDecl") @FFISkip MSPropertyDecl unused) {
    return nativeIsa38(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::MSPropertyDecl",
      java = "MSPropertyDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa38(long from0);

  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamedDecl") @FFISkip NamedDecl unused) {
    return nativeIsa39(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::NamedDecl",
      java = "NamedDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa39(long from0);

  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceAliasDecl") @FFISkip NamespaceAliasDecl unused) {
    return nativeIsa40(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::NamespaceAliasDecl",
      java = "NamespaceAliasDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa40(long from0);

  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NamespaceDecl") @FFISkip NamespaceDecl unused) {
    return nativeIsa41(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::NamespaceDecl",
      java = "NamespaceDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa41(long from0);

  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::NonTypeTemplateParmDecl") @FFISkip NonTypeTemplateParmDecl unused) {
    return nativeIsa42(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::NonTypeTemplateParmDecl",
      java = "NonTypeTemplateParmDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa42(long from0);

  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ParmVarDecl") @FFISkip ParmVarDecl unused) {
    return nativeIsa43(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ParmVarDecl",
      java = "ParmVarDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa43(long from0);

  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaCommentDecl") @FFISkip PragmaCommentDecl unused) {
    return nativeIsa44(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::PragmaCommentDecl",
      java = "PragmaCommentDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa44(long from0);

  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::PragmaDetectMismatchDecl") @FFISkip PragmaDetectMismatchDecl unused) {
    return nativeIsa45(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::PragmaDetectMismatchDecl",
      java = "PragmaDetectMismatchDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa45(long from0);

  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RecordDecl") @FFISkip RecordDecl unused) {
    return nativeIsa46(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::RecordDecl",
      java = "RecordDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa46(long from0);

  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RedeclarableTemplateDecl") @FFISkip RedeclarableTemplateDecl unused) {
    return nativeIsa47(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::RedeclarableTemplateDecl",
      java = "RedeclarableTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa47(long from0);

  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::RequiresExprBodyDecl") @FFISkip RequiresExprBodyDecl unused) {
    return nativeIsa48(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::RequiresExprBodyDecl",
      java = "RequiresExprBodyDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa48(long from0);

  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::StaticAssertDecl") @FFISkip StaticAssertDecl unused) {
    return nativeIsa49(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::StaticAssertDecl",
      java = "StaticAssertDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa49(long from0);

  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TagDecl") @FFISkip TagDecl unused) {
    return nativeIsa50(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TagDecl",
      java = "TagDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa50(long from0);

  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateDecl") @FFISkip TemplateDecl unused) {
    return nativeIsa51(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TemplateDecl",
      java = "TemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa51(long from0);

  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTemplateParmDecl") @FFISkip TemplateTemplateParmDecl unused) {
    return nativeIsa52(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TemplateTemplateParmDecl",
      java = "TemplateTemplateParmDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa52(long from0);

  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TemplateTypeParmDecl") @FFISkip TemplateTypeParmDecl unused) {
    return nativeIsa53(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TemplateTypeParmDecl",
      java = "TemplateTypeParmDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa53(long from0);

  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TranslationUnitDecl") @FFISkip TranslationUnitDecl unused) {
    return nativeIsa54(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TranslationUnitDecl",
      java = "TranslationUnitDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa54(long from0);

  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasDecl") @FFISkip TypeAliasDecl unused) {
    return nativeIsa55(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TypeAliasDecl",
      java = "TypeAliasDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa55(long from0);

  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeAliasTemplateDecl") @FFISkip TypeAliasTemplateDecl unused) {
    return nativeIsa56(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TypeAliasTemplateDecl",
      java = "TypeAliasTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa56(long from0);

  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypeDecl") @FFISkip TypeDecl unused) {
    return nativeIsa57(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TypeDecl",
      java = "TypeDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa57(long from0);

  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefDecl") @FFISkip TypedefDecl unused) {
    return nativeIsa58(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TypedefDecl",
      java = "TypedefDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa58(long from0);

  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::TypedefNameDecl") @FFISkip TypedefNameDecl unused) {
    return nativeIsa59(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::TypedefNameDecl",
      java = "TypedefNameDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa59(long from0);

  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingTypenameDecl") @FFISkip UnresolvedUsingTypenameDecl unused) {
    return nativeIsa60(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UnresolvedUsingTypenameDecl",
      java = "UnresolvedUsingTypenameDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa60(long from0);

  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UnresolvedUsingValueDecl") @FFISkip UnresolvedUsingValueDecl unused) {
    return nativeIsa61(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UnresolvedUsingValueDecl",
      java = "UnresolvedUsingValueDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa61(long from0);

  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDecl") @FFISkip UsingDecl unused) {
    return nativeIsa62(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UsingDecl",
      java = "UsingDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa62(long from0);

  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingDirectiveDecl") @FFISkip UsingDirectiveDecl unused) {
    return nativeIsa63(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UsingDirectiveDecl",
      java = "UsingDirectiveDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa63(long from0);

  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingPackDecl") @FFISkip UsingPackDecl unused) {
    return nativeIsa64(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UsingPackDecl",
      java = "UsingPackDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa64(long from0);

  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::UsingShadowDecl") @FFISkip UsingShadowDecl unused) {
    return nativeIsa65(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::UsingShadowDecl",
      java = "UsingShadowDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa65(long from0);

  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::ValueDecl") @FFISkip ValueDecl unused) {
    return nativeIsa66(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::ValueDecl",
      java = "ValueDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa66(long from0);

  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarDecl") @FFISkip VarDecl unused) {
    return nativeIsa67(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::VarDecl",
      java = "VarDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa67(long from0);

  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateDecl") @FFISkip VarTemplateDecl unused) {
    return nativeIsa68(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::VarTemplateDecl",
      java = "VarTemplateDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa68(long from0);

  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplatePartialSpecializationDecl") @FFISkip VarTemplatePartialSpecializationDecl unused) {
    return nativeIsa69(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::VarTemplatePartialSpecializationDecl",
      java = "VarTemplatePartialSpecializationDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa69(long from0);

  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::Decl") Decl from,
      @FFITypeAlias("clang::VarTemplateSpecializationDecl") @FFISkip VarTemplateSpecializationDecl unused) {
    return nativeIsa70(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::VarTemplateSpecializationDecl",
      java = "VarTemplateSpecializationDecl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa70(long from0);

  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("isa")
  public boolean isa(@FFITypeAlias("clang::DeclContext") DeclContext from,
      @FFITypeAlias("clang::Decl") @FFISkip Decl unused) {
    return nativeIsa71(((com.alibaba.fastffi.FFIPointerImpl) from).address);
  }

  @CXXTemplate(
      cxx = "clang::Decl",
      java = "Decl"
  )
  @FFINameAlias("isa")
  public static native boolean nativeIsa71(long from0);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy