Class CXCursor

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<CXCursor>
org.lwjgl.llvm.CXCursor
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class CXCursor extends org.lwjgl.system.Struct<CXCursor> implements org.lwjgl.system.NativeResource
A cursor representing some element in the abstract syntax tree for a translation unit.

The cursor abstraction unifies the different kinds of entities in a program --declaration, statements, expressions, references to declarations, etc.-- under a single "cursor" abstraction with a common set of operations. Common operation for a cursor include: getting the physical location in a source file where the cursor points, getting the name associated with a cursor, and retrieving cursors for any child nodes of a particular cursor.

Cursors can be produced in two specific ways. getTranslationUnitCursor produces a cursor for a translation unit, from which one can use visitChildren to explore the rest of the translation unit. getCursor maps from a physical source location to the entity that resides at that location, allowing one to map from the source code into the AST.

Layout


 struct CXCursor {
     enum CXCursorKind kind;
     int xdata;
     void const * data[3];
 }
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    An array of CXCursor structs.

    Nested classes/interfaces inherited from class org.lwjgl.system.Struct

    org.lwjgl.system.Struct.StructValidation

    Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

    org.lwjgl.system.Pointer.Default
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The struct alignment in bytes.
    static final int
    The struct member offsets.
    static final int
    The struct member offsets.
    static final int
    The struct size in bytes.
    static final int
    The struct member offsets.

    Fields inherited from interface org.lwjgl.system.Pointer

    BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
  • Constructor Summary

    Constructors
    Constructor
    Description
    CXCursor(ByteBuffer container)
    Creates a CXCursor instance at the current position of the specified ByteBuffer container.
  • Method Summary

    Modifier and Type
    Method
    Description
    static CXCursor
    Returns a new CXCursor instance allocated with memCalloc.
    calloc(int capacity)
    Returns a new CXCursor.Buffer instance allocated with memCalloc.
    calloc(int capacity, org.lwjgl.system.MemoryStack stack)
    Returns a new CXCursor.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
    static CXCursor
    calloc(org.lwjgl.system.MemoryStack stack)
    Returns a new CXCursor instance allocated on the specified MemoryStack and initializes all its bits to zero.
    static CXCursor
    Deprecated.
    callocStack(int capacity)
    Deprecated.
    callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
    Deprecated.
    static CXCursor
    callocStack(org.lwjgl.system.MemoryStack stack)
    Deprecated.
    static CXCursor
    Returns a new CXCursor instance allocated with BufferUtils.
    create(int capacity)
    Returns a new CXCursor.Buffer instance allocated with BufferUtils.
    static CXCursor
    create(long address)
    Returns a new CXCursor instance for the specified memory address.
    create(long address, int capacity)
    Create a CXCursor.Buffer instance at the specified memory.
    static @Nullable CXCursor
    createSafe(long address)
    Like create, but returns null if address is NULL.
    static @Nullable CXCursor.Buffer
    createSafe(long address, int capacity)
    Like create, but returns null if address is NULL.
    org.lwjgl.PointerBuffer
     
    long
    data(int index)
     
    int
     
    static CXCursor
    Returns a new CXCursor instance allocated with memAlloc.
    malloc(int capacity)
    Returns a new CXCursor.Buffer instance allocated with memAlloc.
    malloc(int capacity, org.lwjgl.system.MemoryStack stack)
    Returns a new CXCursor.Buffer instance allocated on the specified MemoryStack.
    static CXCursor
    malloc(org.lwjgl.system.MemoryStack stack)
    Returns a new CXCursor instance allocated on the specified MemoryStack.
    static CXCursor
    Deprecated.
    mallocStack(int capacity)
    Deprecated.
    mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
    Deprecated.
    static CXCursor
    mallocStack(org.lwjgl.system.MemoryStack stack)
    Deprecated.
    static org.lwjgl.PointerBuffer
    ndata(long struct)
    Unsafe version of data().
    static long
    ndata(long struct, int index)
    Unsafe version of data.
    static int
    nkind(long struct)
    Unsafe version of kind().
    static int
    nxdata(long struct)
    Unsafe version of xdata().
    int
     
    int
     

    Methods inherited from class org.lwjgl.system.Struct

    clear, free, isNull, validate, validate

    Methods inherited from class org.lwjgl.system.Pointer.Default

    address, equals, hashCode, toString

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.lwjgl.system.NativeResource

    close, free
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • KIND

      public static final int KIND
      The struct member offsets.
    • XDATA

      public static final int XDATA
      The struct member offsets.
    • DATA

      public static final int DATA
      The struct member offsets.
  • Constructor Details

    • CXCursor

      public CXCursor(ByteBuffer container)
      Creates a CXCursor instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details

    • sizeof

      public int sizeof()
      Specified by:
      sizeof in class org.lwjgl.system.Struct<CXCursor>
    • kind

      public int kind()
      Returns:
      the value of the kind field.
    • xdata

      public int xdata()
      Returns:
      the value of the xdata field.
    • data

      public org.lwjgl.PointerBuffer data()
      Returns:
      a PointerBuffer view of the data field.
    • data

      public long data(int index)
      Returns:
      the value at the specified index of the data field.
    • malloc

      public static CXCursor malloc()
      Returns a new CXCursor instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static CXCursor calloc()
      Returns a new CXCursor instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static CXCursor create()
      Returns a new CXCursor instance allocated with BufferUtils.
    • create

      public static CXCursor create(long address)
      Returns a new CXCursor instance for the specified memory address.
    • createSafe

      public static @Nullable CXCursor createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static CXCursor.Buffer malloc(int capacity)
      Returns a new CXCursor.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static CXCursor.Buffer calloc(int capacity)
      Returns a new CXCursor.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static CXCursor.Buffer create(int capacity)
      Returns a new CXCursor.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static CXCursor.Buffer create(long address, int capacity)
      Create a CXCursor.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      public static @Nullable CXCursor.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • mallocStack

      @Deprecated public static CXCursor mallocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static CXCursor callocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static CXCursor mallocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static CXCursor callocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static CXCursor.Buffer mallocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static CXCursor.Buffer callocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • mallocStack

      @Deprecated public static CXCursor.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static CXCursor.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static CXCursor malloc(org.lwjgl.system.MemoryStack stack)
      Returns a new CXCursor instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static CXCursor calloc(org.lwjgl.system.MemoryStack stack)
      Returns a new CXCursor instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static CXCursor.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new CXCursor.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static CXCursor.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new CXCursor.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • nkind

      public static int nkind(long struct)
      Unsafe version of kind().
    • nxdata

      public static int nxdata(long struct)
      Unsafe version of xdata().
    • ndata

      public static org.lwjgl.PointerBuffer ndata(long struct)
      Unsafe version of data().
    • ndata

      public static long ndata(long struct, int index)
      Unsafe version of data.