Fix amending module with abstract class (#319)

This fixes an assertion error that gets thrown if:
1. A module declares a class as abstract
2. An amending module does not use that abstract class as a type

Underneath the hood, the modifiers of the class/typelias object member
is considered different from the modifiers on the VmClass/VmTypeAlias
values.

The object model skips forcing any explicitly members that are explicitly
declared hidden, abstract, or local.
However, it _should_ evaluate any abstract classes found in a module.
So, it's incorrect to apply the same modifiers on the class to the object member.
This commit is contained in:
Daniel Chao
2024-03-15 07:53:09 -07:00
committed by GitHub
parent 9c1ae0d683
commit faa7ac69bb
5 changed files with 28 additions and 2 deletions

View File

@@ -0,0 +1,12 @@
module Birds
abstract class Bird {
name: String
}
class Pigeon extends Bird {
name = "Pigeon"
passenger: Boolean
}
pidgy: Pigeon?

View File

@@ -0,0 +1 @@
amends ".../input-helper/modules/Birds.pkl"

View File

@@ -0,0 +1 @@
pidgy = null