diff options
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression')
| -rw-r--r-- | src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java | 9 | ||||
| -rw-r--r-- | src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java | 2 |
2 files changed, 10 insertions, 1 deletions
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 3c46ec4..2537d9c 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 @@ -1,6 +1,7 @@ package no.eliashaugsbakk.kompilator.parsing.node.expression; import java.util.List; +import no.eliashaugsbakk.kompilator.parsing.Type; /** * Represents a function call statement (e.g., print("Hello, world")). @@ -13,4 +14,12 @@ public class FunctionCall extends Expression { this.functionName = functionName; this.arguments = arguments; } + + public Type getReturnType() { + if (functionName.equals("skriv")) { + return new Type("void", false); + } + // TODO: Look up return type in function table when you add more functions + return null; + } } diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java index c1f475f..91607f8 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java @@ -4,7 +4,7 @@ package no.eliashaugsbakk.kompilator.parsing.node.expression; * Resolves to a variable's value */ public class Identifier extends Expression { - final String name; + public final String name; public Identifier(String name) { this.name = name; |
