# Copyright 2005-2007 Kevin Reid, under the terms of the MIT X license # found at http://www.opensource.org/licenses/mit-license.html ................ Check for type optUncall, which is wanted by the default uncaller list As E-on-CL has no special concept of type importing, all of the objects that can uncall in Java E are instead accessible via . could act as a PackageLoader on , but there is nothing that needs it. ? [.optUncall([])] # value: [null] ? [.optUncall(String)] # value: [null] Coarse check ? def deSubgraphKit :DeepFrozen := # value: ? def recognizer := deSubgraphKit.getDefaultRecognizer() # value: ? def deepCopy(o) :any { > return recognizer.recognize(o, deSubgraphKit.makeBuilder()) > } # value: ? var a := 0 # value: 0 ? def &b := deepCopy(&a) # value: ? &a == &b # value: false ? a == b # value: true ? a := 1 # value: 1 ? [a, b] # value: [1, 0] ? b := 2 # value: 2 ? [a, b] # value: [1, 2] deENodeKit ? def deENodeKit := # value: Bug: makeFinalPattern was being used incorrectly ? deSubgraphKit.recognize(def x := [x], deENodeKit.makeBuilder()) # value: e`def [t__0, t__1] := Ref.promise() # t__1.resolve(__makeList.run(t__0)) # t__0` XXX more tests of deENodeKit; particularly, recognition XXX should deENodeKit generate nonkernel nodes, e.g. defrec? deSrcKit ? def deSrcKit := # value: To run deSrcKit under E-on-CL, a number of utilities had to be added. makePrettyFeeder#pretty/1 (for everything): ? deSubgraphKit.recognize(def x := [x], deSrcKit.makeBuilder()) # value: "def t__0 := [t__0]" makeELexer#isIdentifier/1 (for quoted verbs): ? (def b := deSrcKit.makeBuilder()).buildRoot(b.buildCall("a", "bind", ["b"])) # value: "a.\"bind\"(b)" makeURIKit#isURICs/1 (for URI-expressions): ? (def b := deSrcKit.makeBuilder()).buildRoot(b.buildCall(b.buildImport("a__uriGetter"), "get", [b.buildLiteral("b")])) # value: "" ? (def b := deSrcKit.makeBuilder()).buildRoot(b.buildCall(b.buildImport("a__uriGetter"), "get", [b.buildLiteral(" ")])) # value: "[\" \"]" integer#bitLength/0, toString64/0 (actually stubbed out; XXX unstub) ? (def b := deSrcKit.makeBuilder()).buildRoot(b.buildLiteral(53)) # value: "53" XXX this should be printed using toString64 ? (def b := deSrcKit.makeBuilder()).buildRoot(b.buildLiteral(998789031275891364789137648912367413487713248972893)) # value: "998789031275891364789137648912367413487713248972893" XXX more tests of deSrcKit; particularly, recognition XXX review whether makeURIKit should be URIKit