================================================================================
listings2/inequality
================================================================================

local x = new Listing {
  when (false) { 0 }
  "one"
  "two"
}

res1 = x != x
res2 = x != new Listing {
  when (false) { 0 }
  "one"
  "two"
}
res3 = x != new Listing {
  when (false) { 0 }
  "two"
}
res4 = x != new Listing {
  when (false) { 0 }
  "two"
  "one"
}
res5 = x != (x) {}
res6 = x != (x) { when (false) { 0 }; "one" }
res8 = x != (x) { when (false) { 0 }; default = 9 }
res9 = (x) { when (false) { 0 }; default = 9 } != (x) { when (false) { 0 }; default = 10 }
res10 = new Listing { when (false) { 0 }; "one" } != new Listing { when (false) { 0 }; "one"; default = 9 }

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

(module
  (classProperty
    (modifier)
    (identifier)
    (newExpr
      (type
        (qualifiedIdentifier
          (identifier)))
      (objectBody
        (whenGenerator
          (falseLiteral)
          (objectBody
            (objectElement
              (intLiteral))))
        (objectElement
          (slStringLiteral))
        (objectElement
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (variableExpr
        (identifier))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (variableExpr
        (identifier))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectProperty
            (identifier)
            (intLiteral))))
      (objectLiteral
        (parenthesizedExpr
          (variableExpr
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (identifier)
    (binaryExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (whenGenerator
            (falseLiteral)
            (objectBody
              (objectElement
                (intLiteral))))
          (objectElement
            (slStringLiteral))
          (objectProperty
            (identifier)
            (intLiteral)))))))
