================================================================================
packages/packages1
================================================================================

amends ".../snippetTest.pkl"

import "package://localhost:12110/birds@0.5.0#/Bird.pkl"
import "package://localhost:12110/fruit@1.0.5#/Fruit.pkl"

examples {
  ["basic imports"] {
    new Bird { 
      name = "Pigeon"
      // purposefully instantiate a Fruit to verify that the types match up.
      favoriteFruit = new Fruit {
        name = "Banana"
      }
    }
    import("package://localhost:12110/birds@0.5.0#/catalog/Swallow.pkl")
    import("package://localhost:12110/birds@0.5.0#/catalog/Ostritch.pkl")
  }
  ["reads"] {
    read("package://localhost:12110/birds@0.5.0#/Bird.pkl")
    read("package://localhost:12110/birds@0.5.0#/catalog/Swallow.pkl")
    read("package://localhost:12110/birds@0.5.0#/catalog/Ostritch.pkl")
  }
}

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

(module
  (moduleHeader
    (extendsOrAmendsClause
      (stringConstant)))
  (importClause
    (stringConstant))
  (importClause
    (stringConstant))
  (classProperty
    (identifier)
    (objectBody
      (objectEntry
        (slStringLiteral)
        (objectBody
          (objectElement
            (newExpr
              (type
                (qualifiedIdentifier
                  (identifier)))
              (objectBody
                (objectProperty
                  (identifier)
                  (slStringLiteral))
                (lineComment)
                (objectProperty
                  (identifier)
                  (newExpr
                    (type
                      (qualifiedIdentifier
                        (identifier)))
                    (objectBody
                      (objectProperty
                        (identifier)
                        (slStringLiteral))))))))
          (objectElement
            (importExpr
              (stringConstant)))
          (objectElement
            (importExpr
              (stringConstant)))))
      (objectEntry
        (slStringLiteral)
        (objectBody
          (objectElement
            (readExpr
              (parenthesizedExpr
                (slStringLiteral))))
          (objectElement
            (readExpr
              (parenthesizedExpr
                (slStringLiteral))))
          (objectElement
            (readExpr
              (parenthesizedExpr
                (slStringLiteral)))))))))
