message: Fix open source build for SwitchDispatch
diff: @@ -33,12 +33,50 @@ struct Spec {
  DexAccessFlags access_flags;
  DexField* type_tag_field;
  DexMethod* overridden_meth;
  - boost::optional<size_t> max_num_dispatch_target{boost::none};
  + boost::optional<size_t> max_num_dispatch_target;
  +
  + Spec(DexType* owner_type,
  + Type type,
  + const std::string name,
  + DexProto* proto,
  + DexAccessFlags access_flags,
  + DexField* type_tag_field,
  + DexMethod* overridden_meth)
  + : owner_type(owner_type),
  + type(type),
  + name(name),
  + proto(proto),
  + access_flags(access_flags),
  + type_tag_field(type_tag_field),
  + overridden_meth(overridden_meth) {
  + max_num_dispatch_target = boost::none;
  + }
  +
  + Spec(DexType* owner_type,
  + Type type,
  + const std::string name,
  + DexProto* proto,
  + DexAccessFlags access_flags,
  + DexField* type_tag_field,
  + DexMethod* overridden_meth,
  + boost::optional<size_t> max_num_dispatch_target)
  + : owner_type(owner_type),
  + type(type),
  + name(name),
  + proto(proto),
  + access_flags(access_flags),
  + type_tag_field(type_tag_field),
  + overridden_meth(overridden_meth),
  + max_num_dispatch_target(max_num_dispatch_target) {}
  };
  struct DispatchMethod {
  DexMethod* main_dispatch;
  - std::vector<DexMethod*> sub_dispatches{};
  + std::vector<DexMethod*> sub_dispatches;
  +
  + explicit DispatchMethod(DexMethod* main) : main_dispatch(main) {}
  + DispatchMethod(DexMethod* main, std::vector<DexMethod*> subs)
  + : main_dispatch(main), sub_dispatches(subs) {}
  };
  /**
  