32 lines
801 B
Plaintext
32 lines
801 B
Plaintext
// 🚨 無効なoverride検証テスト - エラーが発生すべき
|
||
|
||
// 親Box
|
||
box Animal {
|
||
init { name }
|
||
|
||
pack(animalName) {
|
||
me.name = animalName
|
||
}
|
||
|
||
speak() {
|
||
return me.name + " makes a sound"
|
||
}
|
||
}
|
||
|
||
// 子Box - 存在しないメソッドをoverride(エラーになるはず)
|
||
box BadDog from Animal {
|
||
init { breed }
|
||
|
||
pack(dogName, dogBreed) {
|
||
from Animal.pack(dogName)
|
||
me.breed = dogBreed
|
||
}
|
||
|
||
// 🚨 これはエラーになるはず - nonExistentMethodは危険パターンに含まれている
|
||
override nonExistentMethod() {
|
||
return "This should fail"
|
||
}
|
||
}
|
||
|
||
// このファイルはパースエラーで実行されないはず
|
||
print("このメッセージが表示されたらテスト失敗") |