UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    型エイリアス DeclarationReference

    DeclarationReference: { context: string } & (
        | { kind: "destination_object"; objectGlobalId: ObjectGlobalId }
        | { kind: "destination_property"; propertyGlobalId: PropertyGlobalId }
        | { kind: "property"; propertyGlobalId: PropertyGlobalId }
        | {
            kind: "property_stage";
            propertyGlobalId: PropertyGlobalId;
            stageName: string;
        }
        | { kind: "slot"; slotGlobalId: SlotGlobalId }
        | { kind: "object"; objectGlobalId: ObjectGlobalId }
    )

    ある宣言が、別の宣言を名前で名指しした1件。名指しはどれも「書いた時点で分かる誤り」を持ちうる ——指した先が無い・在っても指せる形ではない——ので、種類が違っても貯める先と検める場所は1つ。

    • destination_object/destination_property: 行き先を型で指した宣言(moveのto_object・ spawnのinto_object、9.4節・9.6節)。型の名前をその場に書いたか、型を値に持つプロパティ (6.9節)から引いたかの2通りで、どちらも「その型のインスタンスを1つ指す」同じ宣言。
    • property: 他所で宣言されたプロパティを名前で引いた宣言(条件のprop・deftnessのskillなど)。
    • property_stage: そのプロパティの段(6.4節)を名前で指した宣言(in_stage・from_stageなど)。
    • slot: 他所で宣言されたスロットを名前で引いた宣言(条件のslot・in_slot、amongのslot、 moveのto_slot)。
    • object: 型を名前で引いた宣言(「どの型が当てはまるか」の指定の{object: ...}(4.1節)・ spawnのobjectなど)。行き先とは違い、世界に幾つ在る型でもよい。

    contextはその宣言が書かれた場所で、指した先が正しくなかったときのエラーメッセージに使う。