void DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { if (!hasValue()) dateTimeFieldsState.setMonth(DateTimeFieldsState::emptyValue); ASSERT(valueAsInteger() < static_cast<int>(symbolsSize())); dateTimeFieldsState.setMonth(valueAsInteger() + 1); }
void DateTimeAMPMFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { if (hasValue()) dateTimeFieldsState.setAMPM(valueAsInteger() ? DateTimeFieldsState::AMPMValuePM : DateTimeFieldsState::AMPMValueAM); else dateTimeFieldsState.setAMPM(DateTimeFieldsState::AMPMValueEmpty); }
void DateTimeHourFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { if (!hasValue()) { dateTimeFieldsState.setHour(DateTimeFieldsState::emptyValue); return; } const int value = valueAsInteger(); switch (maximum()) { case 11: dateTimeFieldsState.setHour(value ? value : 12); return; case 12: dateTimeFieldsState.setHour(value); return; case 23: dateTimeFieldsState.setHour(value ? value % 12 : 12); dateTimeFieldsState.setAMPM(value >= 12 ? DateTimeFieldsState::AMPMValuePM : DateTimeFieldsState::AMPMValueAM); return; case 24: if (value == 24) { dateTimeFieldsState.setHour(12); dateTimeFieldsState.setHour(DateTimeFieldsState::AMPMValueAM); return; } dateTimeFieldsState.setHour(value == 12 ? 12 : value % 12); dateTimeFieldsState.setAMPM(value >= 12 ? DateTimeFieldsState::AMPMValuePM : DateTimeFieldsState::AMPMValueAM); return; default: ASSERT_NOT_REACHED(); } }
void updateGeneralStatusRegs(RegisterViewModel& model, const State& state, bool is64Bit, const QString &default_region_name) { const auto ip=state.instruction_pointer_register(); const auto flags=state.flags_register(); Q_ASSERT(!!ip); Q_ASSERT(!!flags); const auto ipComment=rIPcomment(ip.valueAsAddress(),default_region_name); const auto flagsComment=eflagsComment(flags.valueAsInteger()); if(is64Bit) { model.updateIP(ip.value<edb::value64>(),ipComment); model.updateFlags(flags.value<edb::value64>(),flagsComment); } else { model.updateIP(ip.value<edb::value32>(),ipComment); model.updateFlags(flags.value<edb::value32>(),flagsComment); } }
void DateTimeDayFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { dateTimeFieldsState.setDayOfMonth(hasValue() ? valueAsInteger() : DateTimeFieldsState::emptyValue); }
void DateTimeYearFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { dateTimeFieldsState.setYear(hasValue() ? valueAsInteger() : DateTimeFieldsState::emptyValue); }
void DateTimeMillisecondFieldElement::populateDateTimeFieldsState(DateTimeFieldsState& dateTimeFieldsState) { dateTimeFieldsState.setMillisecond(hasValue() ? valueAsInteger() : DateTimeFieldsState::emptyValue); }