mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
Add Boolean return support
This commit is contained in:
@ -22,12 +22,11 @@ def _handle_name_expr(expr: ast.Name, local_sym_tab: Dict, builder: ir.IRBuilder
|
|||||||
|
|
||||||
def _handle_constant_expr(expr: ast.Constant):
|
def _handle_constant_expr(expr: ast.Constant):
|
||||||
"""Handle ast.Constant expressions."""
|
"""Handle ast.Constant expressions."""
|
||||||
if isinstance(expr.value, int):
|
logger.info("We the best")
|
||||||
return ir.Constant(ir.IntType(64), expr.value), ir.IntType(64)
|
if isinstance(expr.value, int) or isinstance(expr.value, bool):
|
||||||
elif isinstance(expr.value, bool):
|
return ir.Constant(ir.IntType(64), int(expr.value)), ir.IntType(64)
|
||||||
return ir.Constant(ir.IntType(1), int(expr.value)), ir.IntType(1)
|
|
||||||
else:
|
else:
|
||||||
logger.info("Unsupported constant type")
|
logger.error("Unsupported constant type")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
18
tests/passing_tests/return/bool.py
Normal file
18
tests/passing_tests/return/bool.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from pythonbpf import bpf, section, bpfglobal, compile
|
||||||
|
from ctypes import c_void_p, c_int64
|
||||||
|
|
||||||
|
|
||||||
|
@bpf
|
||||||
|
@section("tracepoint/syscalls/sys_enter_execve")
|
||||||
|
def hello_world(ctx: c_void_p) -> c_int64:
|
||||||
|
print("Hello, World!")
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@bpf
|
||||||
|
@bpfglobal
|
||||||
|
def LICENSE() -> str:
|
||||||
|
return "GPL"
|
||||||
|
|
||||||
|
|
||||||
|
compile()
|
||||||
Reference in New Issue
Block a user