diff options
| author | Elias Haugsbakk <[email protected]> | 2026-09-20 23:25:08 +0200 |
|---|---|---|
| committer | Elias Haugsbakk <[email protected]> | 2026-09-20 23:25:08 +0200 |
| commit | 10e0580ca3e920a5c7c126abdd70683c6fe2188f (patch) | |
| tree | 26f176023df595dd0d10170380db66d6c334dd91 /src/main/java/no/eliashaugsbakk/kompilator/parsing | |
| parent | b8ccfae5f782aa09343b885225dca2b1d36052aa (diff) | |
refactor Type to be a record class
- now with method to check type compatability
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing')
| -rw-r--r-- | src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java index 6b1007c..d660ccd 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java @@ -1,28 +1,11 @@ package no.eliashaugsbakk.kompilator.parsing; -import java.util.Objects; -public class Type { - public final String type; - public final boolean nullable; - - public Type(String type, boolean nullable) { - this.type = type; - this.nullable = nullable; - } - - @Override - public boolean equals(Object o) { - if (o instanceof Type t) { - return this.type.equals(t.type) && this.nullable == t.nullable; - } else { - return false; - } - } - - @Override - public int hashCode() { - return Objects.hash(type, nullable); +public record Type(String name, boolean nullable) { + boolean isAssignableTo(Type target) { + if (!this.name.equals(target.name)) return false; + if (this.nullable && !target.nullable) return false; + return true; } } |
