diff options
Diffstat (limited to 'src/ast/types/FunctionType.java')
| -rw-r--r-- | src/ast/types/FunctionType.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/ast/types/FunctionType.java b/src/ast/types/FunctionType.java index 5e6adaa..1a04bb6 100644 --- a/src/ast/types/FunctionType.java +++ b/src/ast/types/FunctionType.java @@ -7,13 +7,25 @@ public class FunctionType extends Type { private final int paramNumber; private final Type returnType; + private final String label; + private int localvarNum; - public FunctionType(int paramNumber, Type returnType) { + public FunctionType(int paramNumber, Type returnType, String label) { this.paramNumber = paramNumber; this.returnType = returnType; + this.label = label; + this.localvarNum = 0; } - // Return the length of the parameters + public void addLocalVar() { + localvarNum++; + } + + public int getLocalvarNum() { + return localvarNum; + } + + // Return the number of the parameters public int getParamNumber() { return paramNumber; } @@ -22,8 +34,17 @@ public class FunctionType extends Type { return returnType; } + public String getLabel() { + return label; + } + @Override public String toPrint(String prefix) { return prefix + "Function\n"; } + + @Override + public String toString() { + return "NP: " + paramNumber + " RT: " + returnType + " L: " + label; + } } |
