forked from dotnet/LLVMSharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LLVMBasicBlockRef.cs
81 lines (67 loc) · 1.94 KB
/
LLVMBasicBlockRef.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
namespace LLVMSharp
{
using System;
using System.Runtime.InteropServices;
partial struct LLVMBasicBlockRef
{
public LLVMValueRef BasicBlockAsValue()
{
return LLVM.BasicBlockAsValue(this);
}
public LLVMValueRef GetBasicBlockParent()
{
return LLVM.GetBasicBlockParent(this);
}
public LLVMValueRef GetBasicBlockTerminator()
{
return LLVM.GetBasicBlockTerminator(this);
}
public LLVMBasicBlockRef GetNextBasicBlock()
{
return LLVM.GetNextBasicBlock(this);
}
public LLVMBasicBlockRef GetPreviousBasicBlock()
{
return LLVM.GetPreviousBasicBlock(this);
}
public LLVMBasicBlockRef InsertBasicBlock(string @Name)
{
return LLVM.InsertBasicBlock(this, @Name);
}
public void DeleteBasicBlock()
{
LLVM.DeleteBasicBlock(this);
}
public void RemoveBasicBlockFromParent()
{
LLVM.RemoveBasicBlockFromParent(this);
}
public void MoveBasicBlockBefore(LLVMBasicBlockRef @MovePos)
{
LLVM.MoveBasicBlockBefore(this, @MovePos);
}
public void MoveBasicBlockAfter(LLVMBasicBlockRef @MovePos)
{
LLVM.MoveBasicBlockAfter(this, @MovePos);
}
public LLVMValueRef GetFirstInstruction()
{
return LLVM.GetFirstInstruction(this);
}
public LLVMValueRef GetLastInstruction()
{
return LLVM.GetLastInstruction(this);
}
public void Dump()
{
LLVM.DumpValue(this);
}
public override string ToString()
{
IntPtr ptr = LLVM.PrintValueToString(this);
string retval = Marshal.PtrToStringAnsi(ptr) ?? string.Empty;
LLVM.DisposeMessage(ptr);
return retval;
}
}
}