================================================================================
generators/predicateMembersThis
================================================================================

hidden pigeon = new { name = "Pigeon" }
hidden barnOwl = new { name = "Barn Owl" }
hidden people = new {
  pigeon
  barnOwl
}

res1 = (people) {
  [[this == pigeon && (() -> this).apply() == pigeon && (let (x = this) x) == pigeon]] = 99
}

--------------------------------------------------------------------------------

(module
  (classProperty
    (modifier)
    (identifier)
    (newExpr
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (modifier)
    (identifier)
    (newExpr
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (modifier)
    (identifier)
    (newExpr
      (objectBody
        (objectElement
          (variableExpr
            (identifier)))
        (objectElement
          (variableExpr
            (identifier))))))
  (classProperty
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectPredicate
          (binaryExpr
            (binaryExpr
              (methodCallExpr
                (binaryExpr
                  (binaryExpr
                    (thisExpr)
                    (variableExpr
                      (identifier)))
                  (parenthesizedExpr
                    (functionLiteral
                      (parameterList)
                      (thisExpr))))
                (identifier)
                (argumentList))
              (variableExpr
                (identifier)))
            (binaryExpr
              (parenthesizedExpr
                (letExpr
                  (typedIdentifier
                    (identifier))
                  (thisExpr)
                  (variableExpr
                    (identifier))))
              (variableExpr
                (identifier))))
          (intLiteral))))))
