-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathFullType.java
More file actions
34 lines (32 loc) · 819 Bytes
/
FullType.java
File metadata and controls
34 lines (32 loc) · 819 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.ArrayList;
class FullType
{
public String baseType;
public boolean isArray;
public int arraySize;
public boolean isFunction;
public ArrayList<Pair<String,FullType>> args;
public Object value;
public FullType(String s)
{
baseType = s;
isArray = false;
isFunction = false;
}
public boolean isAble(FullType f)
{
if (baseType.equals(f.baseType) &&
isArray == f.isArray &&
isFunction == false && f.isFunction == false)
return true;
if (isFunction == false && f.isFunction == false &&
isArray == false && f.isArray == false &&
(baseType.equals("varf") && f.baseType.equals("var")))
return true;
return false;
}
public String toString()
{
return baseType + (isArray?"[]":"") + (isFunction?"()":"");
}
}