summaryrefslogtreecommitdiff
path: root/src/main/java/no/eliashaugsbakk/kompilator/parsing
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-09-20 23:54:32 +0200
committerElias Haugsbakk <[email protected]>2026-09-20 23:54:32 +0200
commit01c95f485b294db81f3c99a037e003929f0eb278 (patch)
treec20d059988fd728a8211d5feb70310a60db5db9e /src/main/java/no/eliashaugsbakk/kompilator/parsing
parentc5009b0cf424b99ae6d27e14fdd21666500b21b8 (diff)
fix code warnings
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing')
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/AST.java11
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/Type.java3
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/node/Program.java2
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java4
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java2
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;
}