anchor.diff:      vfrSetMinMaxStep[OObj]
     }
     vfrStatementQuestionOptionList
  -  E:EndOneOf                                           << CRT_END_OP (E); >>
  +  E:EndOneOf                                           << 
  +                                                          IsSupported = FALSE;
  +                                                          switch (_GET_CURRQEST_DATATYPE()) {
  +                                                            case EFI_IFR_TYPE_NUM_SIZE_8:
  +                                                            case EFI_IFR_TYPE_NUM_SIZE_16:
  +                                                            case EFI_IFR_TYPE_NUM_SIZE_32:
  +                                                            case EFI_IFR_TYPE_NUM_SIZE_64:
  +                                                              IsSupported = TRUE;
  +                                                              break;
  +                                                            default:
  +                                                              break;
  +                                                          }
  +                                                          if (!IsSupported) {
  +                                                            _PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "OneOf question only support UINT8, UINT16, UINT32 and UINT64 data type.");
  +                                                          }
  +                                                          CRT_END_OP (E); 
  +                                                       >>
     ";"
     ;
   
  
positive.code:   <<
       CIfrOneOf OObj;
       UINT32    DataTypeSize;
    >>
    L:OneOf                                              << OObj.SetLineNo(L->getLine()); >>
    vfrQuestionHeader[OObj] ","                          << //check data type
  
negative.code:   }
    vfrSetMinMaxStep[NObj]
    vfrStatementQuestionOptionList
    E:EndNumeric                                         << 
                                                            IsSupported = FALSE;
                                                            switch (_GET_CURRQEST_DATATYPE()) {
                                                              case EFI_IFR_TYPE_NUM_SIZE_8:
                                                              case EFI_IFR_TYPE_NUM_SIZE_16:
                                                              case EFI_IFR_TYPE_NUM_SIZE_32:
                                                              case EFI_IFR_TYPE_NUM_SIZE_64:
                                                                IsSupported = TRUE;
                                                                break;
                                                              default:
                                                                break;
                                                            }
                                                            if (!IsSupported) {
                                                              _PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "Numeric question only support UINT8, UINT16, UINT32 and UINT64 data type.");
                                                            }
                                                            CRT_END_OP (E); 
                                                         >>
    ";"
    ;
  
  