while ((specbuf.length() > 0) && (specbuf.substring(0, 1).matches("[0-9]"))) {
val += "" + specbuf.substring(0, 1);
specbuf.delete(0, 1);
}
int upperValue = Integer.parseInt(val);
sig = new IntSignature(new OtpErlangList(),new OtpErlangList(new OtpErlangObject[]{
new OtpErlangInt(lowerValue),new OtpErlangInt(upperValue)
}));
} else {
sig = new LiteralSignature(val);
}
} else if (spec.startsWith("any()")) {
specbuf.delete(0, 5);
sig = new AnySignature(new OtpErlangList());
} else if (spec.startsWith("integer()")) {
specbuf.delete(0, 9);
sig = new IntSignature(new OtpErlangList());
} else if (spec.startsWith("non_neg_integer()")) {
specbuf.delete(0, 17);
sig = new IntSignature(new OtpErlangList(new OtpErlangObject[]{IntSignature.NonNegativeAtom}));
} else if (spec.startsWith("number()")) {
specbuf.delete(0, 8);
sig = new IntSignature(new OtpErlangList());
} else if (spec.startsWith("pos_integer()")) {
specbuf.delete(0, 13);
sig = new IntSignature(new OtpErlangList(new OtpErlangObject[]{IntSignature.PositiveAtom}));
} else if (spec.startsWith("binary()")) {
specbuf.delete(0, 8);
sig = new BinarySignature(new OtpErlangList());
} else if (spec.startsWith("boolean()")) {
specbuf.delete(0, 9);