OpenPackage (クラス)
public OpenPackage {inherits Package}
パッケージ: CURL.LANGUAGE.COMPONENT

動的な作成および変更が可能なパッケージ。

注意事項

OpenPackage 内のコード evaluated は、既定では deprecated の警告を生成しません。

コンストラクタ
default:新しいパッケージを初期化します。
コンストラクタ public {OpenPackage.default
default-imports?:bool = true,
manifest:ComponentManifest = {get-empty-manifest},
...:Object
}

プロパティ
alias-iterator:このパッケージで定義されているエイリアスの反復子を返します。
アクセサ public final inline OpenPackage.alias-iterator:{Iterator-of AliasedNameRef}
import-iterator:このパッケージによってインポートされているパッケージの反復子を返します。
アクセサ public final inline OpenPackage.import-iterator:{Iterator-of ImportedPackageRef}
プロパティ 継承 Package: imported-packages
プロパティ 継承 Component: error-name, frozen?, id, meta-data, name, source-url, source-url-name, transitive-id

メソッド
add-alias:名前のエイリアスをパッケージに追加します。
public final {OpenPackage.add-alias
alias:String,
target-package:Package,
target-name:String = alias,
public?:bool = false
}:bool
add-imported-package:インポートされるパッケージを追加します。
public final {OpenPackage.add-imported-package
package:Package,
public?:bool = false,
import-all?:bool = true,
public-import-all?:bool = false,
import-all-override?:bool = false,
package-name:#String = ""
}:bool
freeze:パッケージをフリーズして変更されないようにします。
public final {OpenPackage.freeze}:void
メソッド 継承 Package: add, get-member, get-members, get-nonlocal-option, get-nonlocal-options, lookup
メソッド 継承 Component: assert-not-frozen
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {OpenPackage.default
default-imports?:bool = true,
manifest:ComponentManifest = {get-empty-manifest},
...:Object
}

新しいパッケージを初期化します。

default-imports?: true の場合、CURL.LANG パッケージの内容はこのパッケージによって暗黙的にインポートされます。
manifest: このパッケージに関連付けられた既定のマニフェストになります。 指定しない場合、空のマニフェストになります。
...: このパッケージが内容を暗黙的にインポートする Package オブジェクトのリスト。

説明

パッケージの curl-api-version は、API バージョンが 1.7 以降の場合は現在実行中のスクリプトまたはアプレットのバージョンに設定され、それ以外の場合は何も割り当てられません。

暗黙的なインポートの詳細については import を参照してください。



プロパティ詳細
alias-iterator (アクセサ)
アクセサ public final inline OpenPackage.alias-iterator:{Iterator-of AliasedNameRef}

このパッケージで定義されているエイリアスの反復子を返します。

戻り値

パッケージのエイリアス定義を繰り返し処理するオブジェクトを返します。繰り返し処理の順序は関係ありません。

説明

パッケージ内の define-alias で定義されているエイリアスと、OpenPackage.add-alias を使用して追加されたエイリアスが含まれます。


import-iterator (アクセサ)
アクセサ public final inline OpenPackage.import-iterator:{Iterator-of ImportedPackageRef}

このパッケージによってインポートされているパッケージの反復子を返します。

戻り値

パッケージ内のパッケージ インポート情報を繰り返し処理するオブジェクトを返します。繰り返し処理は常に次の順序になります。

  1. import-all? 属性が true に設定されたパッケージは、同じ属性が false に設定されているすべてのパッケージの前に来ます。
  2. import-all? および import-all-override? 属性が true に設定されたパッケージは、インポートされたときと逆の順になります。その他の import-all? 属性のパッケージは、import-all-override? 属性のパッケージに関してそのインポート時と逆の順になりますが、相互に関しては必ずしもこの順になりません。

説明

OpenPackage の初期化の結果としてインポートされたパッケージ、パッケージ内の import 式の評価の結果インポートされたパッケージ、および OpenPackage.add-imported-package を使用して追加されたパッケージが含まれます。





メソッド詳細
add-alias (メソッド)
public final {OpenPackage.add-alias
alias:String,
target-package:Package,
target-name:String = alias,
public?:bool = false
}:bool

名前のエイリアスをパッケージに追加します。

alias: 作成するエイリアス。
target-package: ターゲット名を含むパッケージ。
target-name: alias が参照する、target-package にある名前。
public?: エイリアスが public アクセス属性を持っているかどうかを示します。持っていない場合は package アクセスになります。

戻り値

追加に成功した場合は true を返します。名前がローカルですでに使用されている場合のみ false を返します。


add-imported-package (メソッド)
public final {OpenPackage.add-imported-package
package:Package,
public?:bool = false,
import-all?:bool = true,
public-import-all?:bool = false,
import-all-override?:bool = false,
package-name:#String = ""
}:bool

インポートされるパッケージを追加します。

package: インポートされるパッケージ。これは、フリーズされたパッケージ (frozen? 属性で指定) か、または JIT 以外のコンパイル パッケージ (パッケージのメタデータの ComponentMetaData.jit-compiled? 属性で指定) であることが必要です。
public?: インポートされるパッケージがパブリックの場合は true。これは、パッケージ自体の名前がパブリック アクセスが可能であることを暗黙的に示すだけです。
import-all?: パッケージ内のすべてのシンボルも自動的にインポートされる場合は true。public-import-all? が設定されている場合のみこれらのシンボルはパブリックになります。
public-import-all?: インポートされるパッケージ内のすべてのシンボルがパブリックの場合は true。これは、public?import-all? の両方を暗黙的に表します。
import-all-override?: これが true で import-all? も true の場合、このパッケージから自動的にインポートされるシンボルは、ソース ファイルで先にインポートされた他の import-all パッケージで定義されている同じシンボルをサイレント オーバーライドすることになります。
package-name: 追加されたパッケージにバインドされる名前。指定されない場合は既定によりパッケージ名になりますが、public?import-all?public-import-all? のいずれかが true である場合のみバインドされます。null に設定されると名前はバインドされません。

戻り値

パッケージが追加された場合は true を返します。

説明

新しい import-all? パッケージはリストの先頭に追加され、import-all? でないパッケージはリストの最後に追加されます。

package がこのパッケージの場合、メソッドは false を返すだけです。


freeze (メソッド)
public final {OpenPackage.freeze}:void

パッケージをフリーズして変更されないようにします。

説明

frozen? 属性を設定し、パッケージへの変更はできなくなります。また、パブリックのインポート パッケージ内のあいまいな名前のチェックが行なわれます。すでにフリーズされたパッケージでこれを呼び出しても効果はありません。