Exemplo n.º 1
0
/**
 * 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;
}
Exemplo n.º 2
0
wml_formula_callable_serialization_scope::wml_formula_callable_serialization_scope()
{
	scopes.push(scope_info());
}