mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The standard library has grown significantly, and we need a new
directory structure that clearly reflects the role of the APIs, and
allows future growth.
See stdlib/{public,internal,private}/README.txt for more information.
Swift SVN r25876
36 lines
1.9 KiB
Swift
36 lines
1.9 KiB
Swift
%{
|
|
#//===--- MirrorDecl.gyb --------------------------------------*- swift -*-===//
|
|
#//
|
|
#// This source file is part of the Swift.org open source project
|
|
#//
|
|
#// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
|
|
#// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
#//
|
|
#// See http://swift.org/LICENSE.txt for license information
|
|
#// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
#//
|
|
#//===----------------------------------------------------------------------===//
|
|
# This file contains boilerplate that is common among all the Mirrors in the
|
|
# Swift Standard Library. It is meant to be used as a template to be included
|
|
# in other .gyb files to generate actual Mirror implementations, by only typing
|
|
# as little code as necessary
|
|
# Instructions:
|
|
# Load the file as a gyb template
|
|
# When you want to generate a Mirror, execute this template. Locals are as follows:
|
|
# - introspecteeType: the base name of the type to be reflected by your Mirror
|
|
# - genericArgs: a list of names of generic argument types that you need for your Mirror
|
|
# - genericConstraints: a dictionary that contains constraints on generic argument types
|
|
# - disposition: a valid disposition for your Mirror
|
|
# You still need to provide count, subscript, summary and quickLookObject manually when using
|
|
# this template, which is probably reasonable since those are "the meat" of every Mirror
|
|
}%
|
|
|
|
%import inspect,os.path,sys
|
|
%sys.path = [os.path.split(inspect.getframeinfo(inspect.currentframe()).filename)[0] or '.'] + sys.path
|
|
%import MirrorCommon
|
|
%genericConstraintString = MirrorCommon.getGenericConstraintString(\
|
|
% genericArgs if 'genericArgs' in locals() else None,\
|
|
% genericConstraints if 'genericConstraints' in locals() else None)
|
|
|
|
internal struct _${introspecteeType}Mirror${genericConstraintString} : MirrorType
|