SwiftCoreとFoundationを読んでみた

1,401 views

Published on

カジュアルSwift勉強会

Published in: Engineering
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,401
On SlideShare
0
From Embeds
0
Number of Embeds
167
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

SwiftCoreとFoundationを読んでみた

  1. 1. SwiftCoreと Foundationを読んで みた Mercari Inc. @kitasuke
  2. 2. Swift open sourced!
  3. 3. 事前準備 Swift のソースファイルを Xcode で開ける ようにする 熊谷さんの記事が分かり易い
  4. 4. 準備段階で出来なかったこと .gybファイルが開かない? Swift Package Managerのプロジェクトが 生成されない?
  5. 5. 概要
  6. 6. 主に使用されている言語 → Swift → C++ → C
  7. 7. Swiftで書かれている主な箇所 → SwiftCore → Foundation → TestFoundation → Swift Package Manager
  8. 8. 未実装・修正すべき箇所 → fatalError("not implemented") → FIXME → NSUnimplemented()
  9. 9. Contributor出来そうな箇所 → バグ修正 → テスト修正 → 未実装機能の追加
  10. 10. 参考になったもの (SwiftCore)
  11. 11. swift/docsにあるドキュメント → Array.rst → Generics.rst → Literals.rst → Pattern Matching.rst → Testing.rst
  12. 12. LangRefNew.rst → Whitespace and Comments → Reserved Punctuation Tokens → Reserved Keywords → Contextual Keywords → Integer Literals → Operator Tokens
  13. 13. 良く見たもの → nonmutating set → public prefix func → infix operator
  14. 14. Attr.def → TYPEATTR(objcblock) → SIMPLEDECLATTR(noreturn, NoReturn, OnFunc, 7) → DECL_ATTR(autoclosure, AutoClosure, OnParam, 28)
  15. 15. 良く見たもの → @_transparent → @silgenname → @inline(never) → @effects(readonly)
  16. 16. Swift Intermediate Language (SIL.rst) → Address Types → Local Storage Types → Box Types → Function Types → Properties of Types
  17. 17. Builtin.def → BUILTINSILOPERATION(Retain, "retain", Special) → BUILTINMISCOPERATION(Sizeof, "sizeof", "n", Special) → BUILTINSILOPERATION(CastToNativeObj ect, "castToNativeObject", Special)
  18. 18. 良く見たもの → Builtin.addressof($0) → Builtin.NativeObject → Builtin.castFromNativeObject($0) → Builtin.bridgeToRawPointer($0)
  19. 19. 参考になったもの (Foundation)
  20. 20. TestFoundation → TestNSArray.swift → TestNSFileManager.swift → TestNSURL.swift → TestNSNull.swift
  21. 21. まとめ → Foundationの方が読みやすい → Swiftを勉強するためにC++を勉強する → 読んでるだけで楽しい!

×