private void checkMethodCall()

in analyzer/src/main/java/com/android/tools/sizereduction/analyzer/model/GroovyGradleParser.java [379:424]


  private void checkMethodCall(
      String statement, String parent, Map<String, String> namedArguments) {
    if (statement.equals("apply") && parent == null && namedArguments.containsKey("plugin")) {
      String plugin = namedArguments.get("plugin");
      switch (plugin) {
        case "com.android.application":
          gradleContextBuilder.setPluginType(GradleContext.PluginType.APPLICATION);
          break;
        case "com.android.dynamic-feature":
          gradleContextBuilder.setPluginType(GradleContext.PluginType.DYNAMIC_FEATURE);
          break;
        case "com.android.feature":
          gradleContextBuilder.setPluginType(GradleContext.PluginType.FEATURE);
          break;
        default:
          // there are other plugins that can be applied, ignore them.
          break;
      }
    } else if (parent != null
        && parent.equals("dependencies")
        && (statement.equals("implementation")
            || statement.equals("api")
            || statement.equals("compile"))) {
      String group = "";
      String name = "";
      String version = "";
      for (Map.Entry<String, String> entry : namedArguments.entrySet()) {
        switch (entry.getKey()) {
          case "group":
            group = entry.getValue();
            break;
          case "name":
            name = entry.getValue();
            break;
          case "version":
            version = entry.getValue();
            break;
          default:
            break;
        }
      }
      if (!group.isEmpty() && !name.isEmpty() && !version.isEmpty()) {
        addDependencyToGradleContext(group, name, version);
      }
    }
  }