docs: private boolean tryMacroMethod(MethodCallExpression call, ExtensionMethodNode macroMethod, Object[] macroArguments) {
          Expression result = (Expression) InvokerHelper.invokeStaticMethod(
              macroMethod.getExtensionMethodNode().getDeclaringClass().getTypeClass(),
              macroMethod.getName(),
              macroArguments
          );
  
          if (result == null) {
              // Allow macro methods to return null as an indicator that they didn't match a method call
              return false;
          }
  
          call.setObjectExpression(MACRO_STUB_INSTANCE);
          call.setMethod(new ConstantExpression(MACRO_STUB_METHOD_NAME));
  
          // TODO check that we reset everything here
          call.setSpreadSafe(false);
          call.setSafe(false);
          call.setImplicitThis(false);
          call.setArguments(result);
          call.setGenericsTypes(GenericsType.EMPTY_ARRAY);
  
          return true;
      }