protected void processImpl()

in TransformCore/src/main/java/com/facebook/ads/injkit/crashshield/CrashShieldInjector.java [140:192]


  protected void processImpl(ClassNode clsNode, Model model) {
    if ((clsNode.access & Opcodes.ACC_INTERFACE) != 0) {
      return;
    }

    if (ANDROID_CLASS_INAME_AND_SAFE_CLASS_INAME_MAP.containsValue(clsNode.name)) {
      return;
    }

    FindAndRemoveAnnotationResult defaultOp =
        findAndRemoveAnnotation(clsNode.visibleAnnotations, clsNode.invisibleAnnotations);

    for (MethodNode method : clsNode.methods) {
      if (AsmMethodUtils.isStaticInitializer(method)) {
        continue;
      }
      if (AsmMethodUtils.isConstructor(method)) {
        if (!maybeRenameParentConstructorCall(shouldProcessViews, method, clsNode)
            && shouldProcessConstructors) {
          injectHandleThrowable(clsNode, method);
        }
        continue;
      }

      if (shouldProcessViews) {
        if (CrashShieldViewClassFilter.isViewClassChild(clsNode, model)) {
          renameMethodsAndSuperCalls(method, clsNode);
          if (CrashShieldViewClassFilter.isViewMethodToRename(method.name, method.desc)) {
            renameMethod(method);
          }
          continue;
        }
      }

      FindAndRemoveAnnotationResult methodOp =
          findAndRemoveAnnotation(method.visibleAnnotations, method.invisibleAnnotations)
              .or(defaultOp);

      if (CrashShieldViewClassFilter.isAutoProcessedMethod(method, clsNode, model)
          && methodOp != FindAndRemoveAnnotationResult.FOUND_NO_AUTO_HANDLE) {
        injectHandleThrowable(clsNode, method);
        continue;
      }

      if (methodOp == FindAndRemoveAnnotationResult.FOUND_AUTO_HANDLE) {
        injectHandleThrowable(clsNode, method);
      }
    }

    if (shouldProcessViews) {
      renameSuperClassIfDirectChild(clsNode);
    }
  }