if (!(vector instanceof RArray)) { throw new SpecializationException(Failure.NOT_ARRAY_BASE); }
RArray vrarr = (RArray) vector;
Names names = vrarr.names();
if (names == null) { throw new SpecializationException(Failure.UNSPECIFIED); }
RSymbol symbol = RSymbol.getSymbol(irstr.getString(0));
int i = names.map(symbol);
if (i == -1) { throw new SpecializationException(Failure.UNSPECIFIED); }
return getWithName(vrarr, i, subset);
} catch (SpecializationException e) {
Failure f = (Failure) e.getResult();
if (DEBUG_SEL) Utils.debug("selection - SimpleScalarStringSelection failed: " + f);