summaryrefslogtreecommitdiffstats
path: root/src/ast/types
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/types')
-rw-r--r--src/ast/types/AtomType.java3
-rw-r--r--src/ast/types/BoolType.java2
-rw-r--r--src/ast/types/ErrorType.java2
-rw-r--r--src/ast/types/FunctionType.java5
-rw-r--r--src/ast/types/ImportType.java3
-rw-r--r--src/ast/types/IntType.java2
-rw-r--r--src/ast/types/NoneType.java1
-rw-r--r--src/ast/types/ReservedWordsType.java2
-rw-r--r--src/ast/types/Type.java11
-rw-r--r--src/ast/types/VoidType.java1
10 files changed, 22 insertions, 10 deletions
diff --git a/src/ast/types/AtomType.java b/src/ast/types/AtomType.java
index 0387ec1..fc1c69e 100644
--- a/src/ast/types/AtomType.java
+++ b/src/ast/types/AtomType.java
@@ -2,9 +2,10 @@ package ast.types;
/**
* An tom type.
- * TODO: do I need to use this one?
*/
public class AtomType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "Atom\n";
}
diff --git a/src/ast/types/BoolType.java b/src/ast/types/BoolType.java
index 20c2750..01e2cd5 100644
--- a/src/ast/types/BoolType.java
+++ b/src/ast/types/BoolType.java
@@ -4,6 +4,8 @@ package ast.types;
* A boolean type. A bool is True or False.
*/
public class BoolType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "Bool\n";
}
diff --git a/src/ast/types/ErrorType.java b/src/ast/types/ErrorType.java
index 4a7a0cf..71176d1 100644
--- a/src/ast/types/ErrorType.java
+++ b/src/ast/types/ErrorType.java
@@ -4,6 +4,8 @@ package ast.types;
* Error type.
*/
public class ErrorType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "Error\n";
}
diff --git a/src/ast/types/FunctionType.java b/src/ast/types/FunctionType.java
index ef50641..5e6adaa 100644
--- a/src/ast/types/FunctionType.java
+++ b/src/ast/types/FunctionType.java
@@ -5,8 +5,8 @@ package ast.types;
*/
public class FunctionType extends Type {
- private int paramNumber;
- private Type returnType;
+ private final int paramNumber;
+ private final Type returnType;
public FunctionType(int paramNumber, Type returnType) {
this.paramNumber = paramNumber;
@@ -22,6 +22,7 @@ public class FunctionType extends Type {
return returnType;
}
+ @Override
public String toPrint(String prefix) {
return prefix + "Function\n";
}
diff --git a/src/ast/types/ImportType.java b/src/ast/types/ImportType.java
index 6852bfa..892de10 100644
--- a/src/ast/types/ImportType.java
+++ b/src/ast/types/ImportType.java
@@ -4,8 +4,9 @@ package ast.types;
* A type for the imported names.
*/
public class ImportType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "Import\n";
}
}
-
diff --git a/src/ast/types/IntType.java b/src/ast/types/IntType.java
index a29518b..6483d93 100644
--- a/src/ast/types/IntType.java
+++ b/src/ast/types/IntType.java
@@ -4,6 +4,8 @@ package ast.types;
* An integer type.
*/
public class IntType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "Int\n";
}
diff --git a/src/ast/types/NoneType.java b/src/ast/types/NoneType.java
index 42f7fd7..730add9 100644
--- a/src/ast/types/NoneType.java
+++ b/src/ast/types/NoneType.java
@@ -5,6 +5,7 @@ package ast.types;
*/
public class NoneType extends Type {
+ @Override
public String toPrint(String prefix) {
return prefix + "None\n";
}
diff --git a/src/ast/types/ReservedWordsType.java b/src/ast/types/ReservedWordsType.java
index f5f7ac5..da72890 100644
--- a/src/ast/types/ReservedWordsType.java
+++ b/src/ast/types/ReservedWordsType.java
@@ -4,6 +4,8 @@ package ast.types;
* A type for the continue and break statements.
*/
public class ReservedWordsType extends Type {
+
+ @Override
public String toPrint(String prefix) {
return prefix + "ReservedWords\n";
}
diff --git a/src/ast/types/Type.java b/src/ast/types/Type.java
index 6bff8b9..6190106 100644
--- a/src/ast/types/Type.java
+++ b/src/ast/types/Type.java
@@ -1,26 +1,25 @@
package ast.types;
+import ast.nodes.*;
import java.util.ArrayList;
-
import semanticanalysis.SemanticError;
import semanticanalysis.SymbolTable;
-import ast.nodes.*;
/**
* A node which represents a type class.
*/
public class Type implements Node {
+
public boolean isEqual(Type A, Type B) {
- if (A.getClass().equals(B.getClass()))
- return true;
- else
- return false;
+ return A.getClass().equals(B.getClass());
}
+ @Override
public String toPrint(String s) {
return s;
}
+ @Override
public ArrayList<SemanticError> checkSemantics(SymbolTable ST, int _nesting) {
// It is never invoked
return null;
diff --git a/src/ast/types/VoidType.java b/src/ast/types/VoidType.java
index 8e3f9b2..2d21da6 100644
--- a/src/ast/types/VoidType.java
+++ b/src/ast/types/VoidType.java
@@ -5,6 +5,7 @@ package ast.types;
*/
public class VoidType extends Type {
+ @Override
public String toPrint(String prefix) {
return prefix + "Void\n";
}