public String getAttributeType(Symtab st) {
		String oaType = null;
		if (id1 != null) {
			SymtabEntry oaEntry = st.lookup(id1.toString());
			oaType = oaEntry.getType();
		} else
			oaType = oa.getAttributeType(st);
		if (!oaType.equals("message")) {
			SymtabEntry structEntry = st.lookup(oaType);
			if (structEntry == null)
				Main.error(oa.toString() + " does not have attributes");
			Symtab structTable = structEntry.getTable();
			SymtabEntry attEntry = structTable.lookup(getID2());
			if (attEntry == null) {
				if (oa != null)
					Main.error(getID2() + " is not an attribute of " + oa.toString());
				else
					Main.error(getID2() + " is not an attribute of " + getID1());
			}
			return attEntry.getType();
		} else
			return "wildcard";
	}