public static void addCapturePoints()

in src/main/java/com/intellij/rt/debugger/agent/CaptureAgent.java [356:387]


  public static void addCapturePoints(String capturePoints) throws UnmodifiableClassException, IOException {
    if (CaptureStorage.DEBUG) {
      System.out.println("Capture agent: adding points " + capturePoints);
    }

    Properties properties = new Properties();
    properties.load(new StringReader(capturePoints));

    Set<String> classNames = new HashSet<>();

    for (Map.Entry<Object, Object> entry : properties.entrySet()) {
      InstrumentPoint point = addPoint((String)entry.getKey(), (String)entry.getValue());
      if (point != null) {
        classNames.add(getClassName(point.myClassName));
      }
    }

    List<Class<?>> classes = new ArrayList<>(classNames.size());
    for (Class<?> aClass : ourInstrumentation.getAllLoadedClasses()) {
      if (classNames.contains(aClass.getName())) {
        classes.add(aClass);
      }
    }

    if (!classes.isEmpty()) {
      if (CaptureStorage.DEBUG) {
        System.out.println("Capture agent: retransforming " + classes);
      }

      ourInstrumentation.retransformClasses(classes.toArray(new Class[0]));
    }
  }