Previous: Encoder Stage Up: 目次 Next: Writer Stage

Packager Stage

EncoderステージでGeneratorオブジェクトが適切にエンコードされたら、 Rubiniusは新しいCompiledCodeオブジェクトを作り、そのたくさんのプロパティを設定して、 バイトコードを CompiledCode オブジェクトとしてパッケージします。

以下のプロパティは全てのCompiledCodeオブジェクトにあります。 executableメソッドを呼ぶと、 RubyのメソッドオブジェクトからCompiledCodeオブジェクトを取り出すことができます。

Packagerステージでは、全ての子ジェネレータ(メソッドやブロックなど)もまた CompiledCode化されます。 これらの子CompiedCodeは親CompiledCodeのliterals内に入ります。

Generatorが自身をCompiledCodeとしてパッケージし終えたら、 それを入力値としてWriterステージに移行します。

参照されているファイル

カスタマイズする

package メソッドは、一般的には、CompiledCodeオブジェクトの変数郡を充填させ るために設計されていますが、同じインターフェースを使ってPackagerを 他のオブジェクトに情報を入れるために使うこともできます。 しかし、追加のカスタマイズをさらに行わないと、そのままではあまり便利ではないかもしれません。

Previous: Encoder Stage Up: 目次 Next: Writer Stage

Tweet at @rubinius on Twitter or email community@rubini.us. Please report Rubinius issues to our issue tracker.