Class CXCursor
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.llvm.CXCursor
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class CXCursor extends org.lwjgl.system.Struct 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 usevisitChildren
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
CXCursor.Buffer
An array ofCXCursor
structs.
-
Constructor Summary
Constructors Constructor Description CXCursor(java.nio.ByteBuffer container)
Creates aCXCursor
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CXCursor
calloc()
Returns a newCXCursor
instance allocated withmemCalloc
.static CXCursor.Buffer
calloc(int capacity)
Returns a newCXCursor.Buffer
instance allocated withmemCalloc
.static CXCursor
callocStack()
Returns a newCXCursor
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static CXCursor.Buffer
callocStack(int capacity)
Returns a newCXCursor.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static CXCursor.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static CXCursor
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static CXCursor
create()
Returns a newCXCursor
instance allocated withBufferUtils
.static CXCursor.Buffer
create(int capacity)
Returns a newCXCursor.Buffer
instance allocated withBufferUtils
.static CXCursor
create(long address)
Returns a newCXCursor
instance for the specified memory address.static CXCursor.Buffer
create(long address, int capacity)
Create aCXCursor.Buffer
instance at the specified memory.static CXCursor
createSafe(long address)
static CXCursor.Buffer
createSafe(long address, int capacity)
org.lwjgl.PointerBuffer
data()
Returns aPointerBuffer
view of thedata
field.long
data(int index)
Returns the value at the specified index of thedata
field.int
kind()
Returns the value of thekind
field.static CXCursor
malloc()
Returns a newCXCursor
instance allocated withmemAlloc
.static CXCursor.Buffer
malloc(int capacity)
Returns a newCXCursor.Buffer
instance allocated withmemAlloc
.static CXCursor
mallocStack()
Returns a newCXCursor
instance allocated on the thread-localMemoryStack
.static CXCursor.Buffer
mallocStack(int capacity)
Returns a newCXCursor.Buffer
instance allocated on the thread-localMemoryStack
.static CXCursor.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor.Buffer
instance allocated on the specifiedMemoryStack
.static CXCursor
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor
instance allocated on the specifiedMemoryStack
.static org.lwjgl.PointerBuffer
ndata(long struct)
Unsafe version ofdata()
.static long
ndata(long struct, int index)
Unsafe version ofdata
.static int
nkind(long struct)
Unsafe version ofkind()
.static int
nxdata(long struct)
Unsafe version ofxdata()
.int
sizeof()
int
xdata()
Returns the value of thexdata
field.
-
-
-
Constructor Detail
-
CXCursor
public CXCursor(java.nio.ByteBuffer container)
Creates aCXCursor
instance at the current position of the specifiedByteBuffer
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
kind
public int kind()
Returns the value of thekind
field.
-
xdata
public int xdata()
Returns the value of thexdata
field.
-
data
public org.lwjgl.PointerBuffer data()
Returns aPointerBuffer
view of thedata
field.
-
data
public long data(int index)
Returns the value at the specified index of thedata
field.
-
malloc
public static CXCursor malloc()
Returns a newCXCursor
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static CXCursor calloc()
Returns a newCXCursor
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static CXCursor create()
Returns a newCXCursor
instance allocated withBufferUtils
.
-
create
public static CXCursor create(long address)
Returns a newCXCursor
instance for the specified memory address.
-
createSafe
@Nullable public static CXCursor createSafe(long address)
-
malloc
public static CXCursor.Buffer malloc(int capacity)
Returns a newCXCursor.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static CXCursor.Buffer calloc(int capacity)
Returns a newCXCursor.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static CXCursor.Buffer create(int capacity)
Returns a newCXCursor.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static CXCursor.Buffer create(long address, int capacity)
Create aCXCursor.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static CXCursor.Buffer createSafe(long address, int capacity)
-
mallocStack
public static CXCursor mallocStack()
Returns a newCXCursor
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static CXCursor callocStack()
Returns a newCXCursor
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static CXCursor mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static CXCursor callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static CXCursor.Buffer mallocStack(int capacity)
Returns a newCXCursor.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static CXCursor.Buffer callocStack(int capacity)
Returns a newCXCursor.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static CXCursor.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static CXCursor.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newCXCursor.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nkind
public static int nkind(long struct)
Unsafe version ofkind()
.
-
nxdata
public static int nxdata(long struct)
Unsafe version ofxdata()
.
-
ndata
public static org.lwjgl.PointerBuffer ndata(long struct)
Unsafe version ofdata()
.
-
ndata
public static long ndata(long struct, int index)
Unsafe version ofdata
.
-
-