diff options
| author | Elias Haugsbakk <[email protected]> | 2026-09-20 23:54:32 +0200 |
|---|---|---|
| committer | Elias Haugsbakk <[email protected]> | 2026-09-20 23:54:32 +0200 |
| commit | 01c95f485b294db81f3c99a037e003929f0eb278 (patch) | |
| tree | c20d059988fd728a8211d5feb70310a60db5db9e /src/main/java/no/eliashaugsbakk/kompilator/parsing | |
| parent | c5009b0cf424b99ae6d27e14fdd21666500b21b8 (diff) | |
fix code warnings
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing')
5 files changed, 6 insertions, 16 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/AST.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/AST.java index ad8a3a2..d628c41 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/AST.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/AST.java @@ -2,14 +2,5 @@ package no.eliashaugsbakk.kompilator.parsing; import no.eliashaugsbakk.kompilator.parsing.node.ASTNode; -public class AST { - private final ASTNode root; - - public AST(ASTNode root) { - this.root = root; - } - - public ASTNode getRoot() { - return root; - } +public record AST(ASTNode root) { } diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java index d660ccd..0a5179c 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java @@ -4,8 +4,7 @@ package no.eliashaugsbakk.kompilator.parsing; 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; + return !this.nullable || target.nullable; } } diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/Program.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/Program.java index 0c7cd32..d61654f 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/Program.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/Program.java @@ -8,7 +8,7 @@ import no.eliashaugsbakk.kompilator.parsing.node.statement.Statement; * Root node of the AST. Contains all top-level statements. */ public class Program extends ASTNode { - public List<Statement> statements = new ArrayList<>(); + public final List<Statement> statements = new ArrayList<>(); public void addStatement(Statement statement) { this.statements.add(statement); diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java index 2537d9c..e18063b 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java @@ -7,8 +7,8 @@ import no.eliashaugsbakk.kompilator.parsing.Type; * Represents a function call statement (e.g., print("Hello, world")). */ public class FunctionCall extends Expression { - public String functionName; - public List<Expression> arguments; + public final String functionName; + public final List<Expression> arguments; public FunctionCall(String functionName, List<Expression> arguments) { this.functionName = functionName; diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java index b810a04..e46b691 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java @@ -8,7 +8,7 @@ import no.eliashaugsbakk.kompilator.parsing.node.expression.Expression; * function call. */ public class ExpressionStatement extends Statement { - public Expression expression; + public final Expression expression; public ExpressionStatement(Expression expression) { this.expression = expression; } |
