/** * Rename virtual methods. */ size_t rename_virtuals(Scope& classes) { // build a ClassScope a RefsMap and a VirtualRenamer ClassScopes class_scopes(classes); scope_info(class_scopes); RefsMap def_refs; collect_refs(classes, def_refs); VirtualRenamer vr(class_scopes, def_refs); // rename virtual only first const auto obj_t = get_object_type(); int seed = 0; size_t renamed = vr.rename_virtual_scopes(obj_t, seed); TRACE(OBFUSCATE, 2, "Virtual renamed: %ld\n", renamed); // rename interfaces std::unordered_set<const VirtualScope*> visited; size_t intf_renamed = vr.rename_interface_scopes(seed); TRACE(OBFUSCATE, 2, "Interface renamed: %ld\n", intf_renamed); TRACE(OBFUSCATE, 2, "MAX seed: %d\n", seed); return renamed + intf_renamed; }
wml_formula_callable_serialization_scope::wml_formula_callable_serialization_scope() { scopes.push(scope_info()); }