================================================================================
basic/localModuleMemberOverride1
================================================================================

open module localModuleMemberOverride1

local class C1 {
  x = "original"
}
local class C2 {
  x = "original"
}
class C3 {
  x = "original"
}

local p1 = "original"
local p2 = "original"
p3 = "original"

local function f1() = "original"
local function f2() = "original"
function f3() = "original"

c1 = new C1 {}.x
c2 = new C2 {}.x
c3 = new C3 {}.x

pp1 = p1
pp2 = p2
pp3 = p3

ff1 = f1()
ff2 = f2()
ff3 = f3()

foo {
  c1 = new C1 {}.x
  c2 = new C2 {}.x
  c3 = new C3 {}.x

  pp1 = p1
  pp2 = p2
  pp3 = p3

  ff1 = f1()
  ff2 = f2()
  ff3 = f3()
}

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

(module
  (moduleHeader
    (moduleClause
      (modifier)
      (qualifiedIdentifier
        (identifier))))
  (clazz
    (modifier)
    (identifier)
    (classBody
      (classProperty
        (identifier)
        (slStringLiteral))))
  (clazz
    (modifier)
    (identifier)
    (classBody
      (classProperty
        (identifier)
        (slStringLiteral))))
  (clazz
    (identifier)
    (classBody
      (classProperty
        (identifier)
        (slStringLiteral))))
  (classProperty
    (modifier)
    (identifier)
    (slStringLiteral))
  (classProperty
    (modifier)
    (identifier)
    (slStringLiteral))
  (classProperty
    (identifier)
    (slStringLiteral))
  (classMethod
    (methodHeader
      (modifier)
      (identifier)
      (parameterList))
    (slStringLiteral))
  (classMethod
    (methodHeader
      (modifier)
      (identifier)
      (parameterList))
    (slStringLiteral))
  (classMethod
    (methodHeader
      (identifier)
      (parameterList))
    (slStringLiteral))
  (classProperty
    (identifier)
    (propertyCallExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody))
      (identifier)))
  (classProperty
    (identifier)
    (propertyCallExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody))
      (identifier)))
  (classProperty
    (identifier)
    (propertyCallExpr
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody))
      (identifier)))
  (classProperty
    (identifier)
    (variableExpr
      (identifier)))
  (classProperty
    (identifier)
    (variableExpr
      (identifier)))
  (classProperty
    (identifier)
    (variableExpr
      (identifier)))
  (classProperty
    (identifier)
    (methodCallExpr
      (identifier)
      (argumentList)))
  (classProperty
    (identifier)
    (methodCallExpr
      (identifier)
      (argumentList)))
  (classProperty
    (identifier)
    (methodCallExpr
      (identifier)
      (argumentList)))
  (classProperty
    (identifier)
    (objectBody
      (objectProperty
        (identifier)
        (propertyCallExpr
          (newExpr
            (type
              (qualifiedIdentifier
                (identifier)))
            (objectBody))
          (identifier)))
      (objectProperty
        (identifier)
        (propertyCallExpr
          (newExpr
            (type
              (qualifiedIdentifier
                (identifier)))
            (objectBody))
          (identifier)))
      (objectProperty
        (identifier)
        (propertyCallExpr
          (newExpr
            (type
              (qualifiedIdentifier
                (identifier)))
            (objectBody))
          (identifier)))
      (objectProperty
        (identifier)
        (variableExpr
          (identifier)))
      (objectProperty
        (identifier)
        (variableExpr
          (identifier)))
      (objectProperty
        (identifier)
        (variableExpr
          (identifier)))
      (objectProperty
        (identifier)
        (methodCallExpr
          (identifier)
          (argumentList)))
      (objectProperty
        (identifier)
        (methodCallExpr
          (identifier)
          (argumentList)))
      (objectProperty
        (identifier)
        (methodCallExpr
          (identifier)
          (argumentList))))))
