Files
swift-mirror/test/NameLookup/named_lazy_member_loading_objc_interface.swift
Hamish Knight 5b99c2020f NFC: Re-organize NameBinding tests
The directory currently seems to have a mix of
tests for import resolution and name lookup.
Therefore split it into two directories;
ImportResolution and NameLookup.
2020-03-29 18:51:09 -07:00

33 lines
1.5 KiB
Swift

// REQUIRES: objc_interop
// REQUIRES: OS=macosx
// RUN: rm -rf %t && mkdir -p %t/stats-pre && mkdir -p %t/stats-post
//
// Prime module cache
// RUN: %target-swift-frontend -typecheck -I %S/Inputs/NamedLazyMembers -typecheck -primary-file %s %S/Inputs/NamedLazyMembers/NamedLazyMembersExt.swift
//
// Check that named-lazy-member-loading reduces the number of Decls deserialized
// RUN: %target-swift-frontend -typecheck -I %S/Inputs/NamedLazyMembers -disable-named-lazy-member-loading -stats-output-dir %t/stats-pre -primary-file %s %S/Inputs/NamedLazyMembers/NamedLazyMembersExt.swift
// RUN: %target-swift-frontend -typecheck -I %S/Inputs/NamedLazyMembers -stats-output-dir %t/stats-post -primary-file %s %S/Inputs/NamedLazyMembers/NamedLazyMembersExt.swift
// RUN: %{python} %utils/process-stats-dir.py --evaluate-delta 'NumTotalClangImportedEntities <= -10' %t/stats-pre %t/stats-post
import NamedLazyMembers
public func bar() {
let d = SimpleDoerSubclass(value: 123)!
let _ = d.simplyDoVeryImportantWork(speed: 10, motivation: 42)
}
public func foo() {
let d = SimpleDoer(value: 123)!
let _ = d.simplyDoSomeWork()
let _ = d.simplyDoSomeWork(withSpeed:10)
let _ = d.simplyDoVeryImportantWork(speed:10, thoroughness:12)
let _ = d.simplyDoSomeWorkWithSpeed(speed:10, levelOfAlacrity:12)
let _ = d.__count
let _ = d.__object(forKey: nil)
}
// Make sure that simply subclassing an imported subclass doesn't page in all
// members.
class MostDoerSubclass : SimpleDoerSubclass {}