fix(llvm): Implement handle-based console.log functions for plugin return values

- Add nyash.console.log_handle(i64) -> i64 family functions to nyrt
- Replace invalid int-to-pointer conversion with proper handle-based calls
- Fix bool(i1) -> i64 type conversion in LLVM compiler
- Resolve LLVM function verification errors
- Enable plugin method execution without NYASH_LLVM_ALLOW_BY_NAME
- Merge codex TLV fixes for plugin return value handling (2000+ lines)

Technical Details:
- Root cause: build_int_to_ptr(handle_value, i8*, "arg_i2p") treated
  handle IDs as memory addresses (invalid operation)
- Solution: Direct i64 handle passing to nyrt functions with proper
  handle registry lookup and to_string_box() conversion
- Type safety: Added proper i1/i32/i64 -> i64 conversion handling

Status: Console.log type errors resolved, plugin return value display
still under investigation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-11 00:21:11 +09:00
parent 5dd3227a1a
commit e114f9bfe3
238 changed files with 2478 additions and 39 deletions

6
debug_simple_math.nyash Normal file
View File

@ -0,0 +1,6 @@
// Test with MathBox
print("Testing MathBox:")
local m = new MathBox()
local result = m.sqrt(16)
print("sqrt(16) =")
print(result)