================================================================================
mappings/equality
================================================================================

local x = new Mapping {
  ["one"] = 1
  ["two"] = 2
}

res1 = x == x
res2 = x == new Mapping {
  ["one"] = 1
  ["two"] = 2
}
res3 = x == new Mapping {
  ["two"] = 2
}
res4 = x == new Mapping {
  ["one"] = 1
  ["two"] = 3
}
res5 = x == (x) {}
res6 = x == (x) { ["one"] = 1 }
res7 = x == (x) { ["one"] = 2 }
res8 = x == (x) { default = 9 }
res9 = (x) { default = 9 } == (x) { default = 10 }
res10 = new Mapping { ["one"] = 1 } == new Mapping { ["one"] = 1; default = 1 }
res11 = new Mapping { ["one"] = x; local x = 1 } == new Mapping { ["one"] = 1 }
res12 = new Mapping { ["one"] = x; local x = 1; local `_` = "two" } == new Mapping { ["one"] = 1; default = 9 }
res13 = new Mapping { ["one"] = x; local x = 1 } { ["two"] = y; local y = 2 } == new Mapping { ["one"] = 1; ["two"] = 2 }

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

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