public String getType(Symtab st) {
		if (type != null)
			return type;
		else {
			if (ident != null) {
				SymtabEntry identEntry = st.lookup(ident.toString());
				if (identEntry == null)
					Main.error("variable does not exist (" + ident.toString()
							+ ")");
				return identEntry.getType();
			} else if (oa != null) {
				return oa.getAttributeType(st);
			} else if (lg != null) {
				return lg.getType(st);
			} else {
				SymtabEntry id = st.lookup(fc.getID());
				if (id != null) {
					String functionType = Utils.getFunctionType(id.getType());
					return functionType;
				} else {
					Main.error("Function does not exist!");
					return "null";
				}
			}
		}
	}