Files
hakorune/docs/reference
Moe Charm 2200312f09 docs: Add field visibility analysis and MIR BoxCall documentation
## Field Visibility Analysis Results
- Confirmed init{} fields are **public** in current Nyash implementation
- No access modifier (private/public) system currently implemented
- All fields accessible via me.fieldname syntax
- Documented findings for future reference

## MIR Documentation Enhancements
- Created comprehensive mir-dumper-guide.md for reading MIR dumps
- Enhanced mir-26-specification.md with BoxCall vs regular Call examples
- Added clear identification patterns:
  * BoxCall: `call %value.method(args)` (plugins/builtins)
  * Regular Call: `call %func(%me, args)` (user-defined boxes)

## VM Backend BoxRef Handling Improvements
- Fixed BoxRef method dispatch using share_box() instead of clone_box()
- Prevents unintended constructor calls during method resolution
- Maintains proper instance identity throughout VM execution

## MIR Builder User-Defined Box Tracking
- Added user_defined_boxes HashSet to track declared user boxes
- Improved method lowering decisions for user-defined vs builtin boxes
- Enhanced AST→MIR conversion accuracy for method calls

## Plugin Tester Lifecycle Enhancements
- Added comprehensive FileBox lifecycle testing (open/write/close)
- Enhanced cloneSelf() and copyFrom() testing with proper Handle parsing
- Added TLV encoding helpers for strings and bytes
- Improved error reporting and step-by-step validation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 01:18:25 +09:00
..

Nyash Reference Documentation 📖

このディレクトリには、Nyashプログラミング言語の正式な技術仕様が含まれています。

📚 サブディレクトリ

language/

  • 言語仕様構文、型システム、Box仕様、デリゲーション
  • 正式な言語リファレンス

architecture/

  • システムアーキテクチャMIR、VM、インタープリター
  • 実行バックエンド仕様
  • 内部設計ドキュメント

api/

  • ビルトインBoxのAPI仕様
  • 標準ライブラリリファレンス
  • 各Boxのメソッド詳細

plugin-system/

  • プラグインシステム仕様
  • BID-FFIBox Interface Definition - Foreign Function Interface
  • プラグイン開発ガイド

📝 注意事項

このディレクトリのドキュメントは安定版です。開発中の仕様はdevelopment/を参照してください。