パッケージ関連のABC
パッケージ関連のABCを淡々と貼るよ。
要約
- publicな関数はNamespaceを使う
- internalな関数はInternalNamespaceを使う
- グローバルや階層パッケージ(flash.display.*など)は特別扱いされない
グローバルでinternalな関数
package{ function f(){ return "global internal"; } }
0:cpool_ns[1]=internal 0:cpool_mn[1]=qname ::f
グローバルでpubilcな関数
package{ public function f(){ return "global public"; } }
0:cpool_ns[1]=namespace 0:cpool_mn[1]=qname g
適当なパッケージ内でinternalな関数
package hoge{ function g(){ return "package internal"; } }
0:cpool_ns[1]=internal hoge 0:cpool_mn[1]=qname hoge::g
適当なパッケージ内でpublicな関数
package hoge{ public function g(){ return "package global"; } }
0:cpool_ns[1]=namespace hoge 0:cpool_mn[1]=qname hoge::g
階層構造
package a{ package b{ function f(){ return "f"; } } }
コンパイルできない。
package a.b{ function f(){ return "f"; } }
0:cpool_ns[1]=internal a.b 0:cpool_mn[1]=qname a.b::f