void RegisteredStructureSet::filter(SpeculatedType type) { genericFilter( [&] (RegisteredStructure structure) -> bool { return type & speculationFromStructure(structure.get()); }); }
void RegisteredStructureSet::filterArrayModes(ArrayModes arrayModes) { genericFilter( [&] (RegisteredStructure structure) -> bool { return arrayModes & arrayModeFromStructure(structure.get()); }); }
void StructureSet::filterArrayModes(ArrayModes arrayModes) { genericFilter( [&] (Structure* structure) -> bool { return arrayModes & arrayModeFromStructure(structure); }); }
void RegisteredStructureSet::filter(const DFG::StructureAbstractValue& other) { genericFilter( [&] (RegisteredStructure structure) -> bool { return other.contains(structure); }); }
void StructureSet::filter(SpeculatedType type) { genericFilter( [&] (Structure* structure) -> bool { return type & speculationFromStructure(structure); }); }
void StructureSet::filter(const StructureSet& other) { if (other.isThin()) { if (!other.singleStructure() || !contains(other.singleStructure())) clear(); else { clear(); set(other.singleStructure()); } return; } ContainsOutOfLine containsOutOfLine(other); genericFilter(containsOutOfLine); }
void StructureSet::filterArrayModes(ArrayModes arrayModes) { ArrayModesContains functor(arrayModes); genericFilter(functor); }
void StructureSet::filter(SpeculatedType type) { SpeculatedTypeContains functor(type); genericFilter(functor); }
void StructureSet::filter(const DFG::StructureAbstractValue& other) { StructureAbstractValueContains functor(other); genericFilter(functor); }