Merge branch 'autogsdoc-improvements'

Adds ObjC2 support and various bugfixes
This commit is contained in:
rfm 2023-11-14 20:00:36 +00:00
commit 58397df4bc
75 changed files with 2082 additions and 1157 deletions

6
.gitignore vendored
View file

@ -8,11 +8,15 @@ dynamic-load.h
Tests/base/*/GNUmakefile
*.log
*.sum
Tools/BaseTools/dependencies
# Unit test byproducts
*.err
*.out
# Core files
*.core
# Autoconf
autom4te.cache
@ -34,6 +38,8 @@ Tests/*.tmp
# Editor byproducts
*.orig
*.swp
\#*\#
*~
# MacOS Desktop Services Store
.DS_Store

View file

@ -8,13 +8,7 @@ notice and this notice are preserved.
<gsdoc base="Base">
<head>
<title>GNUstep Base</title>
<author name="Richard Frith-Macdonald">
<email address="rfm@gnu.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
<copy>2005 Free Software Foundation, Inc.</copy>
<copy>1993-2023 Free Software Foundation, Inc.</copy>
</head>
<body>
<chapter>

View file

@ -16,9 +16,7 @@ notice and this notice are preserved.
<email address="rfm@gnu.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
<copy>2005-2022 Free Software Foundation, Inc.</copy>
<copy>2005-2023 Free Software Foundation, Inc.</copy>
</head>
<body>
<chapter>

View file

@ -32,8 +32,12 @@ Other external libraries that you may need to install include:
@item gnutls (HIGHLY RECOMMENDED)
@item libxml2 (RECOMMENDED)
@item libxslt (OPTIONAL)
@item libavahi (RECOMMENDED for NSNetServices)
@item zlib (RECOMMENDED)
@item iconv (OPTIONAL, not needed if you have glibc)
@item openssl (OPTIONAL, not needed if you have gnutls)
@item libcurl (RECOMMENDED)
@item libdispatch (RECOMMENDED)
@end itemize
If you are installing the GNUstep libraries individually, make sure you

View file

@ -565,7 +565,7 @@ GS_EXPORT_CLASS
* Returns the Android asset for the given path if path is in main bundle
* resources and asset exists.
* Uses `AASSET_MODE_UNKNOWN` to open the asset if it exists.
* The returned object must be released using AAsset_close().
* The returned object must be released using the AAsset_close function.
*/
+ (AAsset *) assetForPath: (NSString *)path;
@ -573,14 +573,14 @@ GS_EXPORT_CLASS
* Returns the Android asset for the given path if path is in main bundle
* resources and asset exists.
* Uses the given mode to open the AAsset if it exists.
* The returned object must be released using AAsset_close().
* The returned object must be released using the AAsset_close function.
*/
+ (AAsset *) assetForPath: (NSString *)path withMode: (int)mode;
/**
* Returns the Android asset dir for the given path if path is in main bundle
* resources and the asset directory exists.
* The returned object must be released using AAssetDir_close().
* The returned object must be released using the AAssetDir_close function.
*/
+ (AAssetDir *) assetDirForPath: (NSString *)path;

View file

@ -235,7 +235,7 @@ GS_EXPORT_CLASS
/**
* Sets the number of the week in this year.
* Identical to calling <code>-setWeek</code>. */
* Identical to calling <code>-setWeek:</code>. */
- (void) setWeekOfYear: (NSInteger) v;
/**
@ -305,8 +305,8 @@ GS_EXPORT_CLASS
* Values are summed up as long as now higher-granularity unit is specified.
* That means if you want to extract the year and the day from two dates
* which are 13 months + 1 day apart, you will get 1 as the result for the year
* but the rest of the difference in days. (29 <= x <= 32, depending on the
* month).
* but the rest of the difference in days. (29 &lt;= x &lt;= 32, depending
* on the month).
*
* Please note that the NSWrapCalendarComponents option that should affect the
* calculations is not presently supported.

View file

@ -247,7 +247,7 @@ GS_EXPORT_CLASS
- (instancetype) initWithTimeIntervalSinceReferenceDate: (NSTimeInterval)secs;
/** Returns NO if other is not a date, otherwise returns the result of
* calling the -isEqualtoDate: method.
* calling the -isEqualToDate: method.
*/
- (BOOL) isEqual: (id)other;

View file

@ -86,7 +86,7 @@ typedef NSUInteger NSDateFormatterBehavior;
* <desc>day of the month as a decimal number (01-31)</desc>
* <term>%e</term>
* <desc>same as %d but does not print the leading 0 for days 1 through 9
* (unlike strftime(), does not print a leading space)</desc>
* (unlike "strftime()", does not print a leading space)</desc>
* <term>%F</term>
* <desc>milliseconds as a decimal number (000-999)</desc>
* <term>%H</term>
@ -107,17 +107,17 @@ typedef NSUInteger NSDateFormatterBehavior;
* <desc>weekday as a decimal number (0-6), where Sunday is 0</desc>
* <term>%x</term>
* <desc>date using the date representation for the locale, including the
* time zone (produces different results from strftime())</desc>
* time zone (produces different results from "strftime()")</desc>
* <term>%X</term>
* <desc>time using the time representation for the locale (produces
* different results from strftime())</desc>
* different results from "strftime()")</desc>
* <term>%y</term>
* <desc>year without century (00-99)</desc>
* <term>%Y</term>
* <desc>year with century (such as 1990)</desc>
* <term>%Z</term>
* <desc>time zone name (such as Pacific Daylight Time; produces different
* results from strftime())</desc>
* results from "strftime()")</desc>
* <term>%z</term>
* <desc>time zone offset in hours and minutes from GMT (HHMM)</desc>
* </deflist>

View file

@ -1,4 +1,4 @@
/* Interface for NSExpression for GNUStep
/** Interface for NSExpression for GNUStep
Copyright (C) 2005 Free Software Foundation, Inc.
Written by: Dr. H. Nikolaus Schaller

View file

@ -20,8 +20,6 @@
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
AutogsdocSource: NSMetadataQuery.h
*/
#ifndef __NSMetadata_h_GNUSTEP_BASE_INCLUDE

View file

@ -224,18 +224,6 @@ GS_EXPORT NSString * const NSNetServicesErrorDomain;
@end
/**
* <unit>
* <heading>
* NSNetServiceBrowserDelegate protocol description
* </heading>
* <p>
* <!-- Foreword -->
* </p>
* <unit />
* <p>
* <!-- Afterword -->
* </p>
* </unit>
* <p>
* This protocol must be adopted by any class wishing to implement
* an [NSNetServiceBrowser] delegate.
@ -254,7 +242,7 @@ GS_EXPORT NSString * const NSNetServicesErrorDomain;
* Notifies the delegate that the search is about to begin.
*
* <p><strong>See also:</strong><br />
* [NSNetServiceBrowser-netServiceBrowser:didNotSearch:]<br />
* -netServiceBrowser:didNotSearch:<br />
* </p>
*/
@ -264,7 +252,7 @@ GS_EXPORT NSString * const NSNetServicesErrorDomain;
* Notifies the delegate that the search was unsuccessful.
*
* <p><strong>See also:</strong><br />
* [NSNetServiceBrowser-netServiceBrowserWillSearch:]<br />
* -netServiceBrowserWillSearch:<br />
* </p>
*/
@ -336,18 +324,6 @@ GS_EXPORT NSString * const NSNetServicesErrorDomain;
/**
* <unit>
* <heading>
* NSNetService class description
* </heading>
* <p>
* <!-- Foreword -->
* </p>
* <unit />
* <p>
* <!-- Afterword -->
* </p>
* </unit>
* <p>
* [NSNetService] lets you publish a network service in a domain using
* multicast DNS. Additionally, it lets you resolve a network service that
@ -416,18 +392,6 @@ GS_EXPORT_CLASS
@end
/**
* <unit>
* <heading>
* NSNetServiceBrowser class description
* </heading>
* <p>
* <!-- Foreword -->
* </p>
* <unit />
* <p>
* <!-- Afterword -->
* </p>
* </unit>
* <p>
* [NSNetServiceBrowser] asynchronously lets you discover network domains
* and, additionally, search for a type of network service. It sends its
@ -473,18 +437,6 @@ GS_EXPORT_CLASS
@end
/**
* <unit>
* <heading>
* NSNetServiceDelegate protocol description
* </heading>
* <p>
* <!-- Foreword -->
* </p>
* <unit />
* <p>
* <!-- Afterword -->
* </p>
* </unit>
* <p>
* This protocol must be adopted by any class wishing to implement
* an [NSNetService] delegate.

View file

@ -56,21 +56,24 @@ extern "C" {
* in assuming that the receiver can handle it.
*/
@protocol NSObject
/**
* Returns the class of the receiver. If the receiver is a proxy, then this
* may return the class of the proxy target. Use -isProxy to determine whether
* the receiver is a proxy. If you wish to find the real class of the
* receiver, ignoring proxies, then use object_getClass().
* receiver, ignoring proxies, then use "object_getClass()".
*/
- (Class) class;
/**
* Returns the superclass of receiver's class. If the receiver is a proxy,
* then this may return the class of the proxy target. Use -isProxy to
* determine whether the receiver is a proxy. If you wish to find the real
* superclass of the receiver's class, ignoring proxies, then use
* class_getSuperclass(object_getClass()).
* "class_getSuperclass(object_getClass())".
*/
- (Class) superclass;
/**
* Returns whether the receiver is equal to the argument. Defining equality is
* complex, so be careful when implementing this method. Collections such as
@ -89,12 +92,14 @@ extern "C" {
* equal hash values do not imply equality.
*/
- (BOOL) isEqual: (id)anObject;
/**
* Returns YES if the receiver is an instance of the class, an instance of the
* subclass, or (in the case of proxies), an instance of something that can be
* treated as an instance of the class.
*/
- (BOOL) isKindOfClass: (Class)aClass;
/**
* Returns YES if the receiver is an instance of the class or (in the case of
* proxies), an instance of something that can be treated as an instance of the
@ -106,12 +111,14 @@ extern "C" {
* subclass.
*/
- (BOOL) isMemberOfClass: (Class)aClass;
/**
* Returns YES if the receiver is a proxy, NO otherwise. The default
* implementation of this method in NSObject returns NO, while the
* implementation in NSProxy returns YES.
*/
- (BOOL) isProxy;
/**
* Returns a hash value for the object. All objects that are equal *MUST*
* return the same hash value. For efficient storage in sets, or as keys in
@ -124,16 +131,19 @@ extern "C" {
* modified while stored in an unordered collection.
*/
- (NSUInteger) hash;
/**
* Returns the receiver. In a proxy, this may (but is not required to) return
* the proxied object.
*/
- (id) self;
/**
* Performs the specified selector. The selector must correspond to a method
* that takes no arguments.
*/
- (id) performSelector: (SEL)aSelector;
/**
* Performs the specified selector, with the object as the argument. This
* method does not perform any automatic unboxing, so the selector must
@ -141,6 +151,7 @@ extern "C" {
*/
- (id) performSelector: (SEL)aSelector
withObject: (id)anObject;
/**
* Performs the specified selector, with the objects as the arguments. This
* method does not perform any automatic unboxing, so the selector must
@ -149,6 +160,7 @@ extern "C" {
- (id) performSelector: (SEL)aSelector
withObject: (id)object1
withObject: (id)object2;
/**
* Returns YES if the object can respond to messages with the specified
* selector. The default implementation in NSObject returns YES if the
@ -157,16 +169,19 @@ extern "C" {
* forwarding mechanisms.
*/
- (BOOL) respondsToSelector: (SEL)aSelector;
/**
* Returns YES if the receiver conforms to the specified protocol.
*/
- (BOOL) conformsToProtocol: (Protocol*)aProtocol;
/**
* Increments the reference count of the object and returns the receiver. In
* garbage collected mode, this method does nothing. In automated reference
* counting mode, you may neither implement this method nor call it directly.
*/
- (id) retain NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
/**
* Decrements the reference count of the object and destroys if it there are no
* remaining references. In garbage collected mode, this method does nothing.
@ -174,6 +189,7 @@ extern "C" {
* nor call it directly.
*/
- (oneway void) release NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
/**
* Performs a deferred -release operation. The object's reference count is
* decremented at the end of the scope of the current autorelease pool,
@ -185,6 +201,7 @@ extern "C" {
* counting mode, you may neither implement this method nor call it directly.
*/
- (id) autorelease NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
/**
* Returns the current retain count of an object. This does not include the
* result of any pending autorelease operations.
@ -197,11 +214,13 @@ extern "C" {
* occasionally be useful for debugging.
*/
- (NSUInteger) retainCount NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
/**
* Returns the description of the object. This is used by the %@ format
* specifier in strings.
*/
- (NSString*) description;
/**
* Returns the zone of the object.
*/

View file

@ -131,7 +131,7 @@ GS_EXPORT_CLASS
* This is the method which actually performs the operation ...
* the default implementation does nothing.<br />
* You MUST ensure that your implemention of -main does not raise any
* exception or call [NSThread-exit] as either of these will terminate
* exception or call [NSThread+exit] as either of these will terminate
* the operation prematurely resulting in the operation never reaching
* the -isFinished state.<br />
* If you are writing a concurrent subclass, you should override -start
@ -139,7 +139,7 @@ GS_EXPORT_CLASS
*/
- (void) main;
/** Returns the priority set using the -setQueuePriority method, or
/** Returns the priority set using the -setQueuePriority: method, or
* NSOperationQueuePriorityNormal if no priority has been set.
*/
- (NSOperationQueuePriority) queuePriority;

View file

@ -67,7 +67,7 @@ static const NSMatchingOptions NSMatchingWithTransparentBounds = 1<<3;
static const NSMatchingOptions NSMatchingWithoutAnchoringBounds = 1<<4;
DEFINE_BLOCK_TYPE(GSRegexBlock, void, NSTextCheckingResult*,
DEFINE_BLOCK_TYPE(GSRegexBlock, void, NSTextCheckingResult*,\
NSMatchingFlags, BOOL*);
#ifndef GSREGEXTYPE

View file

@ -147,7 +147,7 @@ GS_EXPORT_CLASS
/**
* Produces a sorted array using the mechanism described for
* [NSMutableArray-sortUsingDescriptors:]
* [NSMutableArray(NSSortDescriptorSorting)-sortUsingDescriptors:]
*/
- (GS_GENERIC_CLASS(NSArray, ElementT) *) sortedArrayUsingDescriptors: (NSArray *)sortDescriptors;
@ -174,7 +174,7 @@ GS_EXPORT_CLASS
@interface GS_GENERIC_CLASS(NSSet, ElementT) (NSSortDescriptorSorting)
/**
* Produces a sorted array from using the mechanism described for
* [NSMutableArray-sortUsingDescriptors:]
* [NSMutableArray(NSSortDescriptorSorting)-sortUsingDescriptors:]
*/
- (GS_GENERIC_CLASS(NSArray, ElementT) *) sortedArrayUsingDescriptors: (NSArray *)sortDescriptors;
@end

View file

@ -1,7 +1,8 @@
/* Interface for NSURLConnection for GNUstep
/** Interface for NSURLConnection for GNUstep
Copyright (C) 2006 Software Foundation, Inc.
Written by: Richard Frith-Macdonald <frm@gnu.org>
Written by: Armando Pesenti Gritti
Written by: Richard Frith-Macdonald <rfm@gnu.org>
Date: 2006
This file is part of the GNUstep Base Library.
@ -180,6 +181,7 @@ GS_EXPORT_CLASS
* </list>
*/
#if OS_API_VERSION(MAC_OS_X_VERSION_10_7,GS_API_LATEST) && GS_API_VERSION(11300,GS_API_LATEST)
/** <ignore> autogsdoc will ignore everything up to the end tag */
@protocol NSURLConnectionDelegate <NSObject>
#if GS_PROTOCOLS_HAVE_OPTIONAL
@ -188,6 +190,7 @@ GS_EXPORT_CLASS
@end
@interface NSObject (NSURLConnectionDelegate)
#endif
/** end of text ignored by autogsdoc </ignore> */
#else
@interface NSObject (NSURLConnectionDelegate)

View file

@ -122,6 +122,7 @@ GS_EXPORT_CLASS
*/
#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
/** <ignore> autogsdoc will ignore everything up to the end tag */
@protocol NSURLDownloadDelegate <NSObject>
#if GS_PROTOCOLS_HAVE_OPTIONAL
@optional
@ -129,6 +130,7 @@ GS_EXPORT_CLASS
@end
@interface NSObject (NSURLDownloadDelegate)
#endif
/** end of text ignored by autogsdoc </ignore> */
#else
@interface NSObject (NSURLDownloadDelegate)
#endif

View file

@ -49,7 +49,7 @@ extern "C" {
* User defaults domain for process arguments. Command-line arguments
* (key-value pairs, as in "-NSFoo bar") are placed in this domain.<br />
* Where there is a sequence of arguments beginning with '-', only the
* last one is used (so "-a -b -c d" will produce a single user default
* last one is used (so "-a" "-b" "-c" "d" will produce a single user default
* 'c' with value 'd').<br />
* NB. On OSX the argument "-" means a key consisting of an empty string
* (so you can't use a '-' as a default value), while in GNUstep a "-" is

View file

@ -93,7 +93,7 @@ GS_EXPORT NSZone*
NSCreateZone (NSUInteger start, NSUInteger gran, BOOL canFree);
/** Returns the default zone for memory allocation. Memory created in this
* zone is the same as memory allocates using the system malloc() function.
* zone is the same as memory allocates using the system malloc function.
*/
GS_EXPORT NSZone*
NSDefaultMallocZone (void);

View file

@ -256,30 +256,30 @@ GSObjCSetVal(NSObject *self, const char *key, id val, SEL sel,
*/
/**
* Deprecated ... use objc_getClassList()
* Deprecated ... use "objc_getClassList()".
*/
GS_EXPORT unsigned int
GSClassList(Class *buffer, unsigned int max, BOOL clearCache);
/**
* GSObjCClass() is deprecated ... use object_getClass()
* GSObjCClass() is deprecated ... use "object_getClass()".
*/
GS_EXPORT Class GSObjCClass(id obj);
/**
* GSObjCSuper() is deprecated ... use class_getSuperclass()
* GSObjCSuper() is deprecated ... use "class_getSuperclass()".
*/
GS_EXPORT Class GSObjCSuper(Class cls);
/**
* GSObjCIsInstance() is deprecated ... use object_getClass()
* in conjunction with class_isMetaClass()
* GSObjCIsInstance() is deprecated ... use "object_getClass()"
* in conjunction with "class_isMetaClass()".
*/
GS_EXPORT BOOL GSObjCIsInstance(id obj);
/**
* GSObjCIsClass() is deprecated ... use object_getClass()
* in conjunction with class_isMetaClass()
* GSObjCIsClass() is deprecated ... use "object_getClass()"
* in conjunction with "class_isMetaClass()".
*/
GS_EXPORT BOOL GSObjCIsClass(Class cls);
@ -290,28 +290,28 @@ GS_EXPORT BOOL GSObjCIsClass(Class cls);
GS_EXPORT BOOL GSObjCIsKindOf(Class cls, Class other);
/**
* GSClassFromName() is deprecated ... use objc_lookUpClass()
* GSClassFromName() is deprecated ... use "objc_lookUpClass()".
*/
GS_EXPORT Class GSClassFromName(const char *name);
/**
* GSNameFromClass() is deprecated ... use class_getName()
* GSNameFromClass() is deprecated ... use "class_getName()".
*/
GS_EXPORT const char *GSNameFromClass(Class cls);
/**
* GSClassNameFromObject() is deprecated ... use object_getClass()
* in conjunction with class_getName()
* GSClassNameFromObject() is deprecated ... use "object_getClass()".
* in conjunction with "class_getName()".
*/
GS_EXPORT const char *GSClassNameFromObject(id obj);
/**
* GSNameFromSelector() is deprecated ... use sel_getName()
* GSNameFromSelector() is deprecated ... use "sel_getName()".
*/
GS_EXPORT const char *GSNameFromSelector(SEL sel);
/**
* GSSelectorFromName() is deprecated ... use sel_getUid()
* GSSelectorFromName() is deprecated ... use "sel_getUid()".
*/
GS_EXPORT SEL
GSSelectorFromName(const char *name);
@ -395,7 +395,7 @@ typedef Ivar GSIVar;
* either the specified class only or also its superclasses.<br/>
* To obtain the implementation pointer IMP use returnValue->method_imp
* which should be safe across all runtimes.<br/>
* It should be safe to use this function in +load implementations.<br/>
* It should be safe to use this function in "+load" implementations.<br/>
* This function should currently (June 2004) be considered WIP.
* Please follow potential changes (Name, parameters, ...) closely until
* it stabilizes.
@ -412,19 +412,19 @@ GS_EXPORT void
GSFlushMethodCacheForClass (Class cls);
/**
* Deprecated .. use class_getInstanceVariable()
* Deprecated .. use "class_getInstanceVariable()".
*/
GS_EXPORT GSIVar
GSCGetInstanceVariableDefinition(Class cls, const char *name);
/**
* Deprecated .. use class_getInstanceVariable()
* Deprecated .. use "class_getInstanceVariable()".
*/
GS_EXPORT GSIVar
GSObjCGetInstanceVariableDefinition(Class cls, NSString *name);
/**
* GSObjCVersion() is deprecated ... use class_getVersion()
* GSObjCVersion() is deprecated ... use "class_getVersion()"
*/
GS_EXPORT int GSObjCVersion(Class cls);

View file

@ -1,4 +1,4 @@
/* GSVersionMacros.h - macros for managing API versioning and visibility
/** GSVersionMacros.h - macros for managing API versioning and visibility
Copyright (C) 2006-2014 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
@ -148,18 +148,6 @@
* four digit values (two digits for the major version, one for the minor,
* and one for the subminor).
* </p>
* <p>The Apple compatibility version macros are currently:
* <ref type="macro" id="MAC_OS_X_VERSION_10_0">MAC_OS_X_VERSION_10_0</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_1">MAC_OS_X_VERSION_10_1</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_2">MAC_OS_X_VERSION_10_2</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_3">MAC_OS_X_VERSION_10_3</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_4">MAC_OS_X_VERSION_10_4</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_5">MAC_OS_X_VERSION_10_5</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_6">MAC_OS_X_VERSION_10_6</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_7">MAC_OS_X_VERSION_10_7</ref>,
* <ref type="macro" id="MAC_OS_X_VERSION_10_8">MAC_OS_X_VERSION_10_8</ref>
* <ref type="macro" id="MAC_OS_X_VERSION_10_9">MAC_OS_X_VERSION_10_9</ref>
* </p>
*/
#define OS_API_VERSION(ADD,REM) \
(!defined(GS_OPENSTEP_V) \
@ -384,7 +372,6 @@ static inline void gs_consumed(id NS_CONSUMED GS_UNUSED_ARG o) { return; }
#if defined(GNUSTEP_WITH_DLL)
#if BUILD_libgnustep_base_DLL
#
# if defined(__MINGW__)
/* On Mingw, the compiler will export all symbols automatically, so
* __declspec(dllexport) is not needed.

View file

@ -44,7 +44,7 @@ extern "C" {
* IDENT is considered uninitialized, if it contains nil.
* CLASSNAME must be either NSLock, NSRecursiveLock or one
* of their subclasses.
* See [NSLock+newLockAt:] for details.
* See [NSLock(GNUstepBase)+newLockAt:] for details.
* This macro is intended for code that cannot insure
* that a lock can be initialized in thread safe manner otherwise.
* <example>

View file

@ -52,7 +52,7 @@ extern "C" {
*/
- (NSComparisonResult) compare: (id)anObject;
/** For backward compatibility only ... use class_isMetaClass() on the
/** For backward compatibility only ... use "class_isMetaClass()" on the
* class of the receiver instead.
*/
- (BOOL) isInstance;
@ -112,9 +112,9 @@ extern "C" {
@end
/** This is an informal protocol; classes may implement the
* +contentSizeOf:declaredIn:excluding: method to report how much memory
* +contentSizeOf:excluding: method to report how much memory
* is used by any objects/pointers it acts as a container for.<br />
* Code may call the -sizeInBytesExcluding: or -sizeinBytes method to
* Code may call the -sizeInBytesExcluding: or -sizeInBytes method to
* determine how much heap memory an object (and its content) occupies.
*/
@interface NSObject(MemoryFootprint)
@ -186,7 +186,7 @@ extern "C" {
* is immutable or if locking is used to prevent mutation while calculating
* content size).<br />
* Subclasses may use the +contentSizeOf:excluding: method as a convenience
* to provide the sizes of object instnce variables.
* to provide the sizes of object instance variables.
*/
- (NSUInteger) sizeOfContentExcluding: (NSHashTable*)exclude;
@ -271,9 +271,9 @@ extern "C" {
+ (BOOL) registerAtExit: (SEL)aSelector;
/** Specifies the default cleanup behavior on process exit ... the value
* returned by the NSObject implementation of the +shouldClanUp method.<br />
* Calling this method with a YES argument implicitly calls the +enableAtExit
* method as well.<br />
* returned by the NSObject implementation of the +shouldCleanUp method.<br />
* Calling this method with a YES argument implicitly enables the support for
* cleanup at exit.<br />
* The GNUstep Base library calls this method with the value obtained from
* the GNUSTEP_SHOULD_CLEAN_UP environment variable when NSObject is
* initialised.

View file

@ -1000,8 +1000,8 @@ GSObjCAddClassOverride(Class receiver, Class override)
* supplied).<br />
* Automatic conversion between NSNumber and C scalar types is performed.<br />
* If type is null and can't be determined from the selector, the
* [NSObject-handleQueryWithUnboundKey:] method is called to try
* to get a value.
* "-handleQueryWithUnboundKey:" method is called (if the object responds to
* that message) to try to get a value.
*/
id
GSObjCGetVal(NSObject *self, const char *key, SEL sel,
@ -1454,8 +1454,8 @@ GSObjCGetValue(NSObject *self, NSString *key, SEL sel,
* supplied).<br />
* Automatic conversion between NSNumber and C scalar types is performed.<br />
* If type is null and can't be determined from the selector, the
* [NSObject-handleTakeValue:forUnboundKey:] method is called to try
* to set a value.
* "-handleTakeValue:forUnboundKey:" method is called (if the object
* responds to that message) to try to set a value.
*/
void
GSObjCSetVal(NSObject *self, const char *key, id val, SEL sel,

View file

@ -35,6 +35,7 @@ BaseAdditions_DOC_INSTALL_DIR = Developer
Base_AGSDOC_FILES = \
../Documentation/Base.gsdoc \
../GNUstepBase/GSVersionMacros.h \
FoundationErrors.h \
Foundation.h \
FoundationLegacySwiftCompatibility.h \
@ -257,11 +258,6 @@ Base_AGSDOC_FLAGS = \
-TypedefsTemplate TypesAndConstants \
-VariablesTemplate TypesAndConstants \
-WordMap '{\
GS_EXPORT_CLASS="";\
GS_PRIVATE_INTERNAL="//";\
DEFINE_BLOCK_TYPE="//";\
WEAK_ATTRIBUTE="";\
WINAPI="";\
}' -Up Base
BaseAdditions_AGSDOC_FLAGS = \
@ -277,9 +273,6 @@ BaseAdditions_AGSDOC_FLAGS = \
-TypedefsTemplate TypesAndConstants \
-VariablesTemplate TypesAndConstants \
-WordMap '{\
GS_EXPORT_CLASS="";\
GS_PRIVATE_INTERNAL="//";\
WINAPI="";\
}' -Up BaseAdditions
# Use local version of autogsdoc in case it is not installed

View file

@ -25,7 +25,7 @@
#ifndef __GSInvocation_h_GNUSTEP_BASE_INCLUDE
#define __GSInvocation_h_GNUSTEP_BASE_INCLUDE
#include <Foundation/NSInvocation.h>
#import "Foundation/NSInvocation.h"
@class NSMutableData;

View file

@ -54,9 +54,9 @@
NSTimeInterval GSPrivateTimeNow() GS_ATTRIB_PRIVATE;
#include "GNUstepBase/GSObjCRuntime.h"
#import "GNUstepBase/GSObjCRuntime.h"
#include "Foundation/NSArray.h"
#import "Foundation/NSArray.h"
#ifdef __GNUSTEP_RUNTIME__
struct objc_category;
@ -87,7 +87,7 @@ typedef struct objc_category* Category;
}
@end
#include "Foundation/NSString.h"
#import "Foundation/NSString.h"
/**
* Macro to manage memory for chunks of code that need to work with

View file

@ -842,7 +842,7 @@ static NSMutableDictionary *certificateListCache = nil;
return [NSDate dateWithTimeIntervalSince1970: expiret];
}
- (NSDate*) expiresAt: (unsigned)index
- (NSDate*) expiresAt: (unsigned int)index
{
time_t expiret;

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSAppleEventDescriptor.h>
#import "Foundation/NSAppleEventDescriptor.h"
@implementation NSAppleEventDescriptor

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSAppleEventManager.h>
#import "Foundation/NSAppleEventManager.h"
@implementation NSAppleEventManager

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSAppleScript.h>
#import "Foundation/NSAppleScript.h"
@implementation NSAppleScript

View file

@ -29,8 +29,8 @@
/**** Included Headers *******************************************************/
#include "Foundation/NSObject.h"
#include "Foundation/NSString.h"
#import "Foundation/NSObject.h"
#import "Foundation/NSString.h"
#if ( (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) ) && HAVE_VISIBILITY_ATTRIBUTE )

View file

@ -98,7 +98,7 @@ static Class NSCountedSet_concrete_class;
/**
* Returns the number of times that an object that is equal to the
* specified object (as determined by the [-isEqual:] method) has
* specified object (as determined by the [NSObject-isEqual:] method) has
* been added to the set and not removed from it.
*/
- (NSUInteger) countForObject: (id)anObject

View file

@ -1,7 +1,7 @@
/* Implementation of class NSDateComponentsFormatter
/**Implementation of class NSDateComponentsFormatter
Copyright (C) 2019 Free Software Foundation, Inc.
By: Gregory Casamento <greg.casamento@gmail.com>
Author: Gregory Casamento <greg.casamento@gmail.com>
Date: Wed Nov 6 00:24:02 EST 2019
This file is part of the GNUstep Library.
@ -22,12 +22,12 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSDateComponentsFormatter.h>
#include <Foundation/NSDate.h>
#include <Foundation/NSString.h>
#include <Foundation/NSValue.h>
#include <Foundation/NSException.h>
#include <Foundation/NSNumberFormatter.h>
#import "Foundation/NSDateComponentsFormatter.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSString.h"
#import "Foundation/NSValue.h"
#import "Foundation/NSException.h"
#import "Foundation/NSNumberFormatter.h"
@implementation NSDateComponentsFormatter
@ -456,7 +456,7 @@
return _zeroFormattingBehavior;
}
- (void) setZeroFormattingBehavior: (NSDateComponentsFormatterZeroFormattingBehavior)behavior;
- (void) setZeroFormattingBehavior: (NSDateComponentsFormatterZeroFormattingBehavior)behavior
{
_zeroFormattingBehavior = behavior;
}

View file

@ -22,10 +22,10 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSDateInterval.h>
#include <Foundation/NSDate.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSException.h>
#import "Foundation/NSDateInterval.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSException.h"
@implementation NSDateInterval

View file

@ -22,13 +22,13 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSDateIntervalFormatter.h>
#include <Foundation/NSLocale.h>
#include <Foundation/NSCalendar.h>
#include <Foundation/NSTimeZone.h>
#include <Foundation/NSString.h>
#include <Foundation/NSDate.h>
#include <Foundation/NSDateInterval.h>
#import "Foundation/NSDateIntervalFormatter.h"
#import "Foundation/NSLocale.h"
#import "Foundation/NSCalendar.h"
#import "Foundation/NSTimeZone.h"
#import "Foundation/NSString.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSDateInterval.h"
@implementation NSDateIntervalFormatter
// Properties

View file

@ -1217,7 +1217,7 @@ compareIt(id o1, id o2, void* context)
* according to the locale, and indented according to level.<br />
* Unless locale is nil, a level of zero indents items by four spaces,
* while a level of one indents them by a tab.<br />
* If the keys in the dictionary respond to [NSObject-compare:], the items are
* If the keys in the dictionary respond to [NSString-compare:], the items are
* listed by key in ascending order. If not, the order in which the
* items are listed is undefined.
*/

View file

@ -22,11 +22,12 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSExtensionContext.h>
#include <Foundation/NSError.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSURL.h>
#include <Foundation/NSString.h>
#import "Foundation/NSExtensionContext.h"
#import "Foundation/NSError.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSURL.h"
#import "Foundation/NSString.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
@implementation NSExtensionContext
@ -40,16 +41,20 @@
return _inputItems;
}
- (void)completeRequestReturningItems: (NSArray *)items completionHandler: (GSExtensionContextReturningItemsCompletionHandler)completionHandler
- (void) completeRequestReturningItems: (NSArray *)items
completionHandler: (GSExtensionContextReturningItemsCompletionHandler)completionHandler
{
[self notImplemented: _cmd];
}
- (void)cancelRequestWithError:(NSError *)error
- (void) cancelRequestWithError:(NSError *)error
{
[self notImplemented: _cmd];
}
- (void)openURL: (NSURL *)URL completionHandler: (GSOpenURLCompletionHandler)completionHandler
- (void) openURL: (NSURL *)URL completionHandler: (GSOpenURLCompletionHandler)completionHandler
{
[self notImplemented: _cmd];
}
@end

View file

@ -22,10 +22,10 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSExtensionItem.h>
#include <Foundation/NSAttributedString.h>
#include <Foundation/NSDictionary.h>
#include <Foundation/NSArray.h>
#import "Foundation/NSExtensionItem.h"
#import "Foundation/NSAttributedString.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSArray.h"
@implementation NSExtensionItem

View file

@ -23,16 +23,16 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSFileVersion.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSDictionary.h>
#include <Foundation/NSDate.h>
#include <Foundation/NSError.h>
#include <Foundation/NSString.h>
#include <Foundation/NSURL.h>
#include <Foundation/NSPersonNameComponents.h>
#include <Foundation/NSFileManager.h>
#include <Foundation/NSData.h>
#import "Foundation/NSFileVersion.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSDate.h"
#import "Foundation/NSError.h"
#import "Foundation/NSString.h"
#import "Foundation/NSURL.h"
#import "Foundation/NSPersonNameComponents.h"
#import "Foundation/NSFileManager.h"
#import "Foundation/NSData.h"
@interface NSFileVersion (Private)
- (void) _setURL: (NSURL *)u;

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSHFSFileTypes.h>
#import "Foundation/NSHFSFileTypes.h"
GS_DECLARE NSString *NSFileTypeForHFSTypeCode(NSUInteger hfsFileTypeCode)
{

View file

@ -22,20 +22,22 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSItemProvider.h>
#include <Foundation/NSString.h>
#import "Foundation/NSItemProvider.h"
#import "Foundation/NSString.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
@implementation NSItemProvider
- (instancetype) init
{
return nil;
return [self notImplemented: _cmd];
}
- (void) registerDataRepresentationForTypeIdentifier: (NSString *)typeIdentifier
visibility: (NSItemProviderRepresentationVisibility)visibility
loadHandler: (GSProgressHandler)loadHandler
{
[self notImplemented: _cmd];
}
- (void) registerFileRepresentationForTypeIdentifier: (NSString *)typeIdentifier
@ -43,16 +45,17 @@
visibility: (NSItemProviderRepresentationVisibility)visibility
loadHandler: (GSProgressURLBOOLHandler)loadHandler
{
[self notImplemented: _cmd];
}
- (NSArray *) registeredTypeIdentifiers
{
return nil;
return [self notImplemented: _cmd];
}
- (NSArray *) registeredTypeIdentifiersWithFileOptions: (NSItemProviderFileOptions)fileOptions
{
return nil;
return [self notImplemented: _cmd];
}
- (BOOL) hasItemConformingToTypeIdentifier: (NSString *)typeIdentifier
@ -69,43 +72,46 @@
- (NSProgress *) loadDataRepresentationForTypeIdentifier: (NSString *)typeIdentifier
completionHandler: (GSProviderCompletionHandler)completionHandler
{
return nil;
return [self notImplemented: _cmd];
}
- (NSProgress *) loadFileRepresentationForTypeIdentifier: (NSString *)typeIdentifier
completionHandler: (GSProviderURLCompletionHandler)completionHandler
{
return nil;
return [self notImplemented: _cmd];
}
- (NSProgress *) loadInPlaceFileRepresentationForTypeIdentifier: (NSString *)typeIdentifier
completionHandler: (GSProviderURLBOOLCompletionHandler)completionHandler
{
return nil;
return [self notImplemented: _cmd];
}
- (NSString *) suggestedName
{
return nil;
return [self notImplemented: _cmd];
}
- (void) setSuggestedName: (NSString *)suggestedName
{
[self notImplemented: _cmd];
}
- (instancetype) initWithObject: (id<NSItemProviderWriting>)object
{
return nil;
return [self notImplemented: _cmd];
}
- (void) registerObject: (id<NSItemProviderWriting>)object visibility: (NSItemProviderRepresentationVisibility)visibility
{
[self notImplemented: _cmd];
}
- (void) registerObjectOfClass: (Class<NSItemProviderWriting>)aClass // NSItemProviderWriting conforming class...
visibility: (NSItemProviderRepresentationVisibility)visibility
loadHandler: (GSItemProviderWritingHandler)loadHandler
{
[self notImplemented: _cmd];
}
- (BOOL) canLoadObjectOfClass: (Class<NSItemProviderReading>)aClass
@ -116,32 +122,34 @@
- (NSProgress *) loadObjectOfClass: (Class<NSItemProviderReading>)aClass // NSItemProviderReading conforming class...
completionHandler: (GSItemProviderReadingHandler)completionHandler
{
return nil;
return [self notImplemented: _cmd];
}
- (instancetype) initWithItem: (id<NSSecureCoding>)item typeIdentifier: (NSString *)typeIdentifier // designated init
{
return nil;
return [self notImplemented: _cmd];
}
- (instancetype) initWithContentsOfURL: (NSURL *)fileURL
{
return nil;
return [self notImplemented: _cmd];
}
- (void) registerItemForTypeIdentifier: (NSString *)typeIdentifier loadHandler: (NSItemProviderLoadHandler)loadHandler
{
[self notImplemented: _cmd];
}
- (void)loadItemForTypeIdentifier: (NSString *)typeIdentifier
options: (NSDictionary *)options
completionHandler: (NSItemProviderCompletionHandler)completionHandler
{
[self notImplemented: _cmd];
}
- (instancetype) copyWithZone: (NSZone*)zone
{
return nil;
return [self notImplemented: _cmd];
}
@end
@ -156,11 +164,13 @@
- (void) setPreviewImageHandler: (NSItemProviderLoadHandler) previewImageHandler
{
[self notImplemented: _cmd];
}
- (void) loadPreviewImageWithOptions: (NSDictionary *)options
completionHandler: (NSItemProviderCompletionHandler)completionHandler
{
[self notImplemented: _cmd];
}
@end

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSItemProviderReadingWriting.h>
#import "Foundation/NSItemProviderReadingWriting.h"
@implementation NSItemProviderReadingWriting

View file

@ -22,12 +22,14 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSLinguisticTagger.h>
#include <Foundation/NSRange.h>
#include <Foundation/NSString.h>
#include <Foundation/NSDictionary.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSOrthography.h>
#import "Foundation/NSLinguisticTagger.h"
#import "Foundation/NSRange.h"
#import "Foundation/NSString.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSOrthography.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
NSLinguisticTagScheme const NSLinguisticTagSchemeTokenType = @"NSLinguisticTagSchemeTokenType";
NSLinguisticTagScheme const NSLinguisticTagSchemeLexicalClass = @"NSLinguisticTagSchemeLexicalClass";
@ -80,7 +82,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
options: (NSUInteger)opts
{
self = [super init];
if(self != nil)
if (self != nil)
{
ASSIGNCOPY(_schemes, tagSchemes);
_options = opts;
@ -131,6 +133,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
- (void) setOrthography: (NSOrthography *)orthography
range: (NSRange)range
{
[self notImplemented: _cmd];
}
- (NSOrthography *) orthographyAtIndex: (NSUInteger)charIndex
@ -142,6 +145,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
- (void) stringEditedInRange: (NSRange)newRange
changeInLength: (NSInteger)delta
{
[self notImplemented: _cmd];
}
- (NSRange) tokenRangeAtIndex: (NSUInteger)charIndex
@ -161,6 +165,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
options: (NSLinguisticTaggerOptions)options
usingBlock: (GSLinguisticTagRangeBoolBlock)block
{
[self notImplemented: _cmd];
}
- (NSLinguisticTag) tagAtIndex: (NSUInteger)charIndex
@ -185,6 +190,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
options: (NSLinguisticTaggerOptions)opts
usingBlock: (GSLinguisticTagRangeRangeBoolBlock)block
{
[self notImplemented: _cmd];
}
- (NSLinguisticTag) tagAtIndex: (NSUInteger)charIndex
@ -242,6 +248,7 @@ NSLinguisticTag const NSLinguisticTagOrganizationName = @"NSLinguisticTagOrganiz
orthography: (NSOrthography *)orthography
usingBlock: (GSLinguisticTagRangeBoolBlock)block
{
[self notImplemented: _cmd];
}

View file

@ -20,8 +20,6 @@
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110 USA.
AutogsdocSource: NSMetadata.m
*/
#import "common.h"
@ -122,7 +120,7 @@
[super dealloc];
}
- (id<NSMetadataQueryDelegate>) delegate;
- (id<NSMetadataQueryDelegate>) delegate
{
return this->_delegate;
}
@ -137,7 +135,7 @@
[self subclassResponsibility: _cmd];
}
- (NSArray *) groupedResults;
- (NSArray *) groupedResults
{
return [self subclassResponsibility: _cmd];
}
@ -218,7 +216,7 @@
return this->_scopes;
}
- (void) setDelegate: (id<NSMetadataQueryDelegate>)delegate;
- (void) setDelegate: (id<NSMetadataQueryDelegate>)delegate
{
this->_delegate = delegate;
}

View file

@ -22,8 +22,8 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSMetadataAttributes.h>
#include <Foundation/NSString.h>
#import "Foundation/NSMetadataAttributes.h"
#import "Foundation/NSString.h"
GS_DECLARE NSString *const NSMetadataItemAcquisitionMakeKey = @"NSMetadataItemAcquisitionMakeKey";
GS_DECLARE NSString *const NSMetadataItemAcquisitionModelKey = @"NSMetadataItemAcquisitionModelKey";

View file

@ -853,7 +853,7 @@ static NSNotificationCenter *default_center = nil;
* the object argument is nil).</p>
*
* <p>For the name and object arguments, the constraints and behavior described
* in -addObserver:name:selector:object: remain valid.</p>
* in -addObserver:selector:name:object: remain valid.</p>
*
* <p>For each notification received by the center, the observer will execute
* the notification block. If the queue is not nil, the notification block is
@ -865,15 +865,15 @@ static NSNotificationCenter *default_center = nil;
queue: (NSOperationQueue *)queue
usingBlock: (GSNotificationBlock)block
{
GSNotificationObserver *observer =
[[GSNotificationObserver alloc] initWithQueue: queue block: block];
GSNotificationObserver *observer =
[[GSNotificationObserver alloc] initWithQueue: queue block: block];
[self addObserver: observer
selector: @selector(didReceiveNotification:)
name: name
object: object];
[self addObserver: observer
selector: @selector(didReceiveNotification:)
name: name
object: object];
return observer;
return observer;
}
/**

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSObjectScripting.h>
#import "Foundation/NSObjectScripting.h"
@implementation NSObjectScripting

View file

@ -1627,7 +1627,7 @@ GSSetUserName(NSString *aName)
* Under unix-like systems, the name associated with the current
* effective user ID is used.<br/ >
* Under ms-windows, the 'LOGNAME' environment is used, or if that fails, the
* GetUserName() call is used to find the user name.<br />
* GetUserNameW function is used to find the user name.<br />
* Raises an exception on failure.
*/
/* NOTE FOR DEVELOPERS.
@ -1649,7 +1649,7 @@ NSUserName(void)
}
else
{
/* The GetUserName function returns the current user name */
/* The GetUserNameW function returns the current user name */
GSNativeChar buf[1024];
DWORD n = 1024;

View file

@ -54,14 +54,15 @@
#define EXPOSE_NSProgress_IVARS
#import <Foundation/NSObject.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSValue.h>
#import <Foundation/NSURL.h>
#import <Foundation/NSString.h>
#import <Foundation/NSProgress.h>
#import <Foundation/NSKeyValueObserving.h>
#import "Foundation/NSObject.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSValue.h"
#import "Foundation/NSURL.h"
#import "Foundation/NSString.h"
#import "Foundation/NSProgress.h"
#import "Foundation/NSKeyValueObserving.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
#define GSInternal NSProgressInternal
#include "GSInternal.h"
@ -453,16 +454,17 @@ static NSMutableDictionary *__subscribers = nil;
}
// Type methods
+ (id)addSubscriberForFileURL: (NSURL *)url
withPublishingHandler: (NSProgressPublishingHandler)publishingHandler
+ (id) addSubscriberForFileURL: (NSURL *)url
withPublishingHandler: (NSProgressPublishingHandler)publishingHandler
{
// [__subscribers addObject: publishingHandler forObject: url];
return nil;
return [self notImplemented: _cmd];
}
+ (void) removeSubscriber: (id)subscriber
{
// [__subscribers removeObject: subscriber];
[self notImplemented: _cmd];
}
@end

View file

@ -742,8 +742,8 @@ static inline BOOL timerInvalidated(NSTimer *t)
* <p>There is one run loop per thread in an application, which
* may always be obtained through the <code>+currentRunLoop</code> method
* (you cannot use -init or +new),
* however unless you are using the AppKit and the [NSApplication] class, the
* run loop will not be started unless you explicitly send it a
* however unless you are using the AppKit and the <code>NSApplication</code>
* class, the run loop will not be started unless you explicitly send it a
* <code>-run</code> message.</p>
*
* <p>At any given point, a run loop operates in a single <em>mode</em>, usually

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptClassDescription.h>
#import "Foundation/NSScriptClassDescription.h"
@implementation NSScriptClassDescription

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptCoercionHandler.h>
#import "Foundation/NSScriptCoercionHandler.h"
@implementation NSScriptCoercionHandler

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptCommand.h>
#import "Foundation/NSScriptCommand.h"
@implementation NSScriptCommand

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptCommandDescription.h>
#import "Foundation/NSScriptCommandDescription.h"
@implementation NSScriptCommandDescription

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptExecutionContext.h>
#import "Foundation/NSScriptExecutionContext.h"
@implementation NSScriptExecutionContext

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptKeyValueCoding.h>
#import "Foundation/NSScriptKeyValueCoding.h"
@implementation NSScriptKeyValueCoding

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptObjectSpecifiers.h>
#import "Foundation/NSScriptObjectSpecifiers.h"
@implementation NSScriptObjectSpecifiers

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptStandardSuiteCommands.h>
#import "Foundation/NSScriptStandardSuiteCommands.h"
@implementation NSScriptStandardSuiteCommands

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSScriptSuiteRegistry.h>
#import "Foundation/NSScriptSuiteRegistry.h"
@implementation NSScriptSuiteRegistry

View file

@ -22,7 +22,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSUserActivity.h>
#import "Foundation/NSUserActivity.h"
@implementation NSUserActivity

View file

@ -23,7 +23,7 @@
Boston, MA 02110 USA.
*/
#include <Foundation/NSUserScriptTask.h>
#import "Foundation/NSUserScriptTask.h"
@implementation NSUserScriptTask

View file

@ -541,7 +541,7 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
- (NSString*) characterEncoding
{
return nil;
return [self notImplemented: _cmd];
}
- (NSXMLDocumentContentKind) documentContentKind
@ -551,7 +551,7 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
- (NSXMLDTD*) DTD
{
return nil;
return [self notImplemented: _cmd];
}
- (id) init
@ -597,109 +597,123 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
- (NSString*) MIMEType
{
return nil;
return [self notImplemented: _cmd];
}
- (NSXMLElement*) rootElement
{
return nil;
return [self notImplemented: _cmd];
}
- (void) setCharacterEncoding: (NSString*)encoding
{
[self notImplemented: _cmd];
}
- (void) setDocumentContentKind: (NSXMLDocumentContentKind)theContentKind
{
[self notImplemented: _cmd];
}
- (void) setDTD: (NSXMLDTD*)documentTypeDeclaration
{
[self notImplemented: _cmd];
}
- (void) setMIMEType: (NSString*)theMIMEType
{
[self notImplemented: _cmd];
}
- (void) setRootElement: (NSXMLNode*)root
{
[self notImplemented: _cmd];
}
- (void) setStandalone: (BOOL)standalone
{
[self notImplemented: _cmd];
}
- (void) setURI: (NSString*)URI
{
[self notImplemented: _cmd];
}
- (NSString*) URI
{
return nil;
return [self notImplemented: _cmd];
}
- (void) setVersion: (NSString*)version
{
[self notImplemented: _cmd];
}
- (NSString*) version
{
return nil;
return [self notImplemented: _cmd];
}
- (void) insertChild: (NSXMLNode*)child atIndex: (NSUInteger)index
{
[self notImplemented: _cmd];
}
- (void) insertChildren: (NSArray*)children atIndex: (NSUInteger)index
{
[self notImplemented: _cmd];
}
- (void) removeChildAtIndex: (NSUInteger)index
{
[self notImplemented: _cmd];
}
- (void) setChildren: (NSArray*)children
{
[self notImplemented: _cmd];
}
- (void) addChild: (NSXMLNode*)child
{
[self notImplemented: _cmd];
}
- (void) replaceChildAtIndex: (NSUInteger)index withNode: (NSXMLNode*)theNode
{
[self notImplemented: _cmd];
}
- (NSData*) XMLData
{
return nil;
return [self notImplemented: _cmd];
}
- (NSData *) XMLDataWithOptions: (NSUInteger)theOptions
{
return nil;
return [self notImplemented: _cmd];
}
- (id) objectByApplyingXSLT: (NSData*)xslt
arguments: (NSDictionary*)arguments
error: (NSError**)error
{
return nil;
return [self notImplemented: _cmd];
}
- (id) objectByApplyingXSLTString: (NSString*)xslt
arguments: (NSDictionary*)arguments
error: (NSError**)error
{
return nil;
return [self notImplemented: _cmd];
}
- (id) objectByApplyingXSLTAtURL: (NSURL*)xsltURL
arguments: (NSDictionary*)arguments
error: (NSError**)error
{
return nil;
return [self notImplemented: _cmd];
}
- (BOOL) validateAndReturnError: (NSError**)error
@ -709,7 +723,7 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
- (id) copyWithZone: (NSZone *)zone
{
return nil;
return [self notImplemented: _cmd];
}
- (BOOL) isEqual: (id)other

View file

@ -2237,6 +2237,7 @@ execute_xpath(xmlNodePtr node, NSString *xpath_exp, NSDictionary *constants,
- (void) detach
{
[self notImplemented: _cmd];
}
- (NSUInteger) index
@ -2331,22 +2332,27 @@ execute_xpath(xmlNodePtr node, NSString *xpath_exp, NSDictionary *constants,
- (void) setObjectValue: (id)value
{
[self notImplemented: _cmd];
}
- (void) setName: (NSString *)name
{
[self notImplemented: _cmd];
}
- (void) setStringValue: (NSString*)string
{
[self notImplemented: _cmd];
}
- (void) setStringValue: (NSString*)string resolvingEntities: (BOOL)resolve
{
[self notImplemented: _cmd];
}
- (void) setURI: (NSString*)URI
{
[self notImplemented: _cmd];
}
- (NSString*) URI

View file

@ -31,7 +31,7 @@
#define __objc_load_h_INCLUDE
#include <stdio.h>
#include <Foundation/NSString.h>
#include "Foundation/NSString.h"
#ifdef HAVE_DLADDR
#define LINKER_GETSYMBOL 1

View file

@ -43,12 +43,15 @@
NSString *nextFile; // Not retained
NSString *prevFile; // Not retained
NSString *upFile; // Not retained
NSString *fileName;
unsigned chap;
unsigned sect;
unsigned ssect;
unsigned sssect;
BOOL isContentsDoc;
BOOL ivarsAtEnd;
BOOL verbose;
BOOL warn;
}
- (void) decIndent;
- (void) incIndent;
@ -68,7 +71,7 @@
style: (NSString*)style
target: (NSString*)target
to: (NSMutableString*)buf;
- (NSString*) outputDocument: (GSXMLNode*)node;
- (NSString*) outputDocument: (GSXMLNode*)node name: (NSString*)file;
- (void) outputNode: (GSXMLNode*)node to: (NSMutableString*)buf;
- (void) outputNodeList: (GSXMLNode*)node to: (NSMutableString*)buf;
- (GSXMLNode*) outputBlock: (GSXMLNode*)node

View file

@ -22,11 +22,7 @@
#import "common.h"
#import "Foundation/NSAutoreleasePool.h"
#import "Foundation/NSArray.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSSet.h"
#import "Foundation/NSUserDefaults.h"
#import "Foundation/Foundation.h"
#import "AGSHtml.h"
#import "GNUstepBase/NSString+GNUstepBase.h"
#import "GNUstepBase/NSMutableString+GNUstepBase.h"
@ -108,6 +104,7 @@ static NSString *mainFont = nil;
RELEASE(localRefs);
RELEASE(projectRefs);
RELEASE(indent);
RELEASE(fileName);
DEALLOC
}
@ -128,9 +125,15 @@ static NSString *mainFont = nil;
- (id) init
{
indent = [[NSMutableString alloc] initWithCapacity: 64];
project = RETAIN([[NSUserDefaults standardUserDefaults]
stringForKey: @"Project"]);
if (nil != (self = [super init]))
{
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
indent = [[NSMutableString alloc] initWithCapacity: 64];
project = RETAIN([defs stringForKey: @"Project"]);
verbose = [defs boolForKey: @"Verbose"];
warn = [defs boolForKey: @"Warn"];
}
return self;
}
@ -281,10 +284,11 @@ static NSString *mainFont = nil;
return [s stringByReplacingString: @":" withString: @"$"];
}
- (NSString*) outputDocument: (GSXMLNode*)node
- (NSString*) outputDocument: (GSXMLNode*)node name: (NSString*)file
{
NSMutableString *buf;
ASSIGN(fileName, file);
if (localRefs == nil)
{
localRefs = [AGSIndex new];
@ -305,6 +309,7 @@ static NSString *mainFont = nil;
[self decIndent];
[buf appendString: @"</html>\n"];
DESTROY(fileName);
return buf;
}
@ -1193,6 +1198,15 @@ static NSString *mainFont = nil;
GSXMLNode *email = nil;
GSXMLNode *url = nil;
GSXMLNode *desc = nil;
NSString *name;
name = [[author attributes] objectForKey: @"name"];
name = [name stringByTrimmingSpaces];
if ([name length] == 0)
{
name = [NSString stringWithFormat: @"Generated by %@",
NSFullUserName()];
}
children = [children nextElement];
@ -1216,8 +1230,7 @@ static NSString *mainFont = nil;
if (url == nil)
{
[buf appendString: @"<dt>"];
[buf appendString: [[[author attributes]
objectForKey: @"name"] stringByEscapingXML]];
[buf appendString: [name stringByEscapingXML]];
}
else
{
@ -1225,8 +1238,7 @@ static NSString *mainFont = nil;
[buf appendString: [[url attributes]
objectForKey: @"url"]];
[buf appendString: @"\">"];
[buf appendString: [[[author attributes]
objectForKey: @"name"] stringByEscapingXML]];
[buf appendString: [name stringByEscapingXML]];
[buf appendString: @"</a>"];
}
if (email != nil)
@ -1267,9 +1279,24 @@ static NSString *mainFont = nil;
}
if ([[children name] isEqual: @"date"] == YES)
{
GSXMLNode *tmp = [children firstChild];
NSString *str;
[buf appendString: indent];
[buf appendString: @"<p><b>Date:</b> "];
[self outputText: [children firstChild] to: buf];
if (nil == tmp
|| ([tmp type] == XML_TEXT_NODE
&& [(str = [[tmp escapedContent] stringByTrimmingSpaces])
length] == 0))
{
str = [NSString stringWithFormat: @"Generated at %@",
[NSDate date]];
[buf appendString: str];
}
else
{
[self outputText: tmp to: buf];
}
[buf appendString: @"</p>\n"];
children = [children nextElement];
}
@ -1719,15 +1746,24 @@ static NSString *mainFont = nil;
}
if (s == nil)
{
if (c == nil)
if (warn)
{
NSLog(@"Location of %@ '%@' (referenced from %@) "
@"not found or not unique.", type, r, base);
}
else
{
NSLog(@"Location of the %@ version of %@ '%@' (referenced "
@"from %@) not found.", c, type, r, base);
NSString *ref;
ref = [NSString stringWithFormat:
@" (referenced from %@ in %@).",
base, fileName];
if (c == nil)
{
NSLog(@"Warning - location of %@ '%@'"
@" not found or not unique %@.",
type, r, ref);
}
else
{
NSLog(@"Warning - location of the %@ version of %@ '%@'"
@" not found %@.", c, type, r, ref);
}
}
if (tmp == nil)
{

View file

@ -42,6 +42,7 @@
unsigned ssect;
unsigned sssect;
}
- (NSArray*) find: (NSString*)key;
- (NSString*) globalRef: (NSString*)ref type: (NSString*)type;
- (void) makeRefs: (GSXMLNode*)node;
- (void) mergeRefs: (NSDictionary*)more override: (BOOL)flag;

View file

@ -25,6 +25,7 @@
#import "Foundation/NSArray.h"
#import "Foundation/NSAutoreleasePool.h"
#import "Foundation/NSDictionary.h"
#import "Foundation/NSUserDefaults.h"
#import "AGSIndex.h"
#import "GNUstepBase/NSString+GNUstepBase.h"
#import "GNUstepBase/NSMutableString+GNUstepBase.h"
@ -57,29 +58,31 @@ mergeDictionaries(NSMutableDictionary *dst, NSDictionary *src, BOOL override)
[stack addObject: k];
if (d == nil)
{
if ([s isKindOfClass: [NSString class]] == YES)
if ([s isKindOfClass: [NSString class]])
{
[dst setObject: s forKey: k];
}
else if ([s isKindOfClass: [NSArray class]] == YES)
else if ([s isKindOfClass: [NSArray class]])
{
[dst setObject: s forKey: k];
}
else if ([s isKindOfClass: [NSDictionary class]] == YES)
else if ([s isKindOfClass: [NSDictionary class]])
{
d = [[NSMutableDictionary alloc] initWithCapacity: [s count]];
[dst setObject: d forKey: k];
RELEASE(d);
/* Fall through to populate the new dictionary.
*/
}
else
{
NSLog(@"Unexpected class in merge %@ ignored", stack);
d = nil;
}
}
if (d != nil)
{
if ([d isKindOfClass: [NSString class]] == YES)
if ([d isKindOfClass: [NSString class]])
{
if ([s isKindOfClass: [NSString class]] == NO)
{
@ -99,7 +102,7 @@ mergeDictionaries(NSMutableDictionary *dst, NSDictionary *src, BOOL override)
}
}
}
else if ([d isKindOfClass: [NSArray class]] == YES)
else if ([d isKindOfClass: [NSArray class]])
{
if ([s isKindOfClass: [NSArray class]] == NO)
{
@ -118,7 +121,7 @@ mergeDictionaries(NSMutableDictionary *dst, NSDictionary *src, BOOL override)
}
}
}
else if ([d isKindOfClass: [NSDictionary class]] == YES)
else if ([d isKindOfClass: [NSDictionary class]])
{
if ([s isKindOfClass: [NSDictionary class]] == NO)
{
@ -202,6 +205,54 @@ setDirectory(NSMutableDictionary *dict, NSString *path)
[super dealloc];
}
static void
findKey(id refs, NSString *key, NSMutableArray *path, NSMutableArray *found)
{
if ([refs isKindOfClass: [NSDictionary class]])
{
if ([refs objectForKey: key])
{
[found addObject: AUTORELEASE([path copy])];
}
else
{
NSEnumerator *e = [refs keyEnumerator];
NSString *k;
while ((k = [e nextObject]) != nil)
{
[path addObject: k];
findKey([refs objectForKey: k], key, path, found);
[path removeLastObject];
}
}
}
else if ([refs isKindOfClass: [NSArray class]])
{
if ([refs containsObject: key])
{
[found addObject: AUTORELEASE([path copy])];
}
}
else if ([refs isEqual: key])
{
[found addObject: AUTORELEASE([path copy])];
}
}
/** Looks for a string as a key or value in the index,
* and returns the paths to any occurrences found.
* Returns nil if the string is not found.
*/
- (NSArray*) find: (NSString*)key
{
NSMutableArray *path = [NSMutableArray arrayWithCapacity: 10];
NSMutableArray *found = [NSMutableArray arrayWithCapacity: 10];
findKey(refs, key, path, found);
return ([found count] ? found : nil);
}
- (NSString*) globalRef: (NSString*)ref type: (NSString*)type
{
NSDictionary *t;
@ -735,9 +786,13 @@ setDirectory(NSMutableDictionary *dict, NSString *path)
}
if (*u != nil)
{
return [t objectForKey: *u];
n = [t objectForKey: *u];
}
return nil;
else
{
n = nil;
}
return n;
}
/**
@ -767,13 +822,29 @@ setDirectory(NSMutableDictionary *dict, NSString *path)
if ([*u length] > 0 && [*u characterAtIndex: [*u length] - 1] == ')')
{
*u = [*u substringToIndex: [*u rangeOfString: @"("].location];
s = [t objectForKey: *u];
if (s != nil)
if ((s = [t objectForKey: *u]) != nil)
{
return s;
}
}
/* For a method lookup, try an informal protocol of the class
*/
if ([*u length] > 0 && [type isEqual: @"method"])
{
NSString *p = [NSString stringWithFormat: @"(%@)", *u];
if ((s = [t objectForKey: p]) != nil)
{
if ([[NSUserDefaults standardUserDefaults] boolForKey: @"Warn"])
{
NSLog(@"Warning - found %@ only in informal protocol of %@",
ref, *u);
}
return s;
}
}
/**
* Try all superclasses in turn.
*/

View file

@ -91,8 +91,8 @@ static BOOL snuggleStart(NSString *t)
* And finally, here is the actual class description ... outside the chapter.
* This is the class description for <code>AGSOutput</code>, including some
* sample uses of GSDoc, such as cross-references (see [NSString]).
* Functions, like escapeType(), are automatically referenced (if they are
* found).
* Functions, (recognised as an identifier immediately followed by open and
* closing brackets), are automatically referenced (if they are found).
*/
@implementation AGSOutput
@ -397,7 +397,7 @@ static BOOL snuggleStart(NSString *t)
authors = [info objectForKey: @"authors"];
if (authors == nil)
{
tmp = [NSString stringWithFormat: @"Generated by %@", NSUserName()];
tmp = [NSString stringWithFormat: @"Generated by %@", NSFullUserName()];
[str appendString: @" <author name=\""];
[str appendString: tmp];
[str appendString: @"\"></author>\n"];
@ -746,7 +746,7 @@ static BOOL snuggleStart(NSString *t)
if (warn == YES && [[d objectForKey: @"Implemented"] isEqual: @"YES"] == NO)
{
NSLog(@"Warning ... %@ %@ is not implemented where expected", kind, name);
NSLog(@"Warning - %@ %@ is not implemented where expected", kind, name);
}
[str appendFormat: @" <%@ type=\"", kind];
@ -790,7 +790,7 @@ static BOOL snuggleStart(NSString *t)
if (warn == YES && [[d objectForKey: @"Implemented"] isEqual: @"YES"] == NO)
{
NSLog(@"Warning ... function %@ is not implemented where expected", name);
NSLog(@"Warning - function %@ is not implemented where expected", name);
}
/**
@ -1172,7 +1172,7 @@ static BOOL snuggleStart(NSString *t)
}
else if (warn == YES)
{
NSLog(@"Warning ... unit %@ is not implemented where expected", name);
NSLog(@"Warning - unit %@ is not implemented where expected", name);
}
}
else
@ -2365,7 +2365,8 @@ static BOOL snuggleStart(NSString *t)
[str appendString: @" <title>"];
[str appendString: kind];
[str appendString: @"</title>\n"];
tmp = [NSString stringWithFormat: @"Generated by %@", NSUserName()];
tmp = [NSString stringWithFormat: @"Generated by %@",
NSFullUserName()];
[str appendString: @" <author name=\""];
[str appendString: tmp];
[str appendString: @"\"></author>\n"];

View file

@ -67,6 +67,8 @@
BOOL warn;
BOOL standards;
BOOL inUnclosedExample;
BOOL debug;
BOOL inPreprocessorDirective;
NSDictionary *wordMap;
NSString *declared; /** Where classes were declared. */
NSMutableArray *ifStack; /** Track preprocessor conditionals. */
@ -81,12 +83,13 @@
NSCharacterSet *spacenl; /** Blanks excluding newline */
}
- (BOOL) debug;
- (NSMutableDictionary*) info;
- (NSDictionary *) orderedSymbolDeclarationsByUnit;
- (id) init; /** <init> Simple initialiser */
- (NSMutableArray*) outputs;
- (unsigned) parseComment;
- (NSMutableDictionary*) parseDeclaration;
- (NSMutableArray*) parseDeclarations;
- (NSMutableDictionary*) parseFile: (NSString*)name isSource: (BOOL)isSource;
- (NSString*) parseIdentifier;
- (NSMutableDictionary*) parseImplementation;
@ -103,11 +106,12 @@
- (unsigned) parseSpace;
- (NSString*) parseVersion;
- (void) reset;
- (void) setDebug: (BOOL)aFlag;
- (void) setDeclared: (NSString*)name;
- (void) setDocumentInstanceVariables: (BOOL)flag;
- (void) setDocumentAllInstanceVariables: (BOOL)flag;
- (void) setGenerateStandards: (BOOL)flag;
- (void) setStandards: (NSMutableDictionary*)dict;
- (void) setStandards: (id)dst;
- (void) setWordMap: (NSDictionary*)map;
- (void) setupBuffer;
- (unsigned) skipArray;
@ -121,6 +125,7 @@
- (unsigned) skipToEndOfLine;
- (unsigned) skipUnit;
- (NSMutableArray*) sources;
- (NSString*) where;
@end
#endif

File diff suppressed because it is too large Load diff

View file

@ -67,7 +67,6 @@ BaseTools_AGSDOC_FLAGS = \
-Standards YES \
-DTDs ../Tools \
-WordMap '{\
WINAPI="";\
}' -Up BaseTools
# Use local version of autogsdoc in case it is not installed

View file

@ -1,10 +1,10 @@
/** This tool produces GSDoc files from source files.
<title>Autogsdoc ... a tool to make documentation from source code</title>
Copyright (C) 2001-2016 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <richard@brainstorm.co.uk>
Created: October 2001
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Written By: Richard Frith-Macdonald <richard@brainstorm.co.uk>
This file is part of the GNUstep Project
@ -19,9 +19,9 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<chapter>
<heading>The autogsdoc tool</heading>
<heading>autogsdoc</heading>
<section>
<heading>Overview</heading>
<heading>autogsdoc</heading>
<p>
The autogsdoc tool is a command-line utility that helps developers
produce reference documentation for GNUstep APIs. It also enables
@ -618,7 +618,6 @@
#import "GNUstepBase/NSString+GNUstepBase.h"
#import "GNUstepBase/NSMutableString+GNUstepBase.h"
/** Invokes the autogsdoc tool. */
int
main(int argc, char **argv, char **env)
{
@ -1022,6 +1021,10 @@ main(int argc, char **argv, char **env)
NSDictionary *dict;
[projectRefs mergeRefs: originalIndex override: NO];
if (verbose)
{
NSLog(@"Initialised projectRefs from %@", refsFile);
}
dict = [mgr fileAttributesAtPath: refsFile traverseLink: YES];
rDate = [dict fileModificationDate];
}
@ -1260,15 +1263,21 @@ main(int argc, char **argv, char **env)
}
if ([defs boolForKey: @"DisableDefaultWords"] == NO)
{
[wm setObject: @"" forKey: @"BLOCK_SCOPE"];
[wm setObject: @"//" forKey: @"DEFINE_BLOCK_TYPE"];
[wm setObject: @"//" forKey: @"DEFINE_BLOCK_TYPE"];
[wm setObject: @"//" forKey: @"DEFINE_BLOCK_TYPE_NO_ARGS"];
[wm setObject: @"" forKey: @"GS_ATTRIB_DEPRECATED"];
[wm setObject: @"" forKey: @"GS_DECLARE"];
[wm setObject: @"" forKey: @"GS_DEPRECATED_FUNC"];
[wm setObject: @"extern" forKey: @"GS_EXPORT"];
[wm setObject: @"" forKey: @"GS_EXPORT_CLASS"];
[wm setObject: @"" forKey: @"GS_GC_STRONG"];
[wm setObject: @"" forKey: @"GS_GEOM_ATTR"];
[wm setObject: @"extern" forKey: @"GS_GEOM_SCOPE"];
[wm setObject: @"" forKey: @"GS_IMPORT"];
[wm setObject: @"" forKey: @"GS_NORETURN_METHOD"];
[wm setObject: @"//" forKey: @"GS_PRIVATE_INTERNAL"];
[wm setObject: @"" forKey: @"GS_RANGE_ATTR"];
[wm setObject: @"extern" forKey: @"GS_RANGE_SCOPE"];
[wm setObject: @"" forKey: @"GS_ROOT_CLASS"];
@ -1285,6 +1294,9 @@ main(int argc, char **argv, char **env)
[wm setObject: @"" forKey: @"NS_RETURNS_RETAINED"];
[wm setObject: @"" forKey: @"__strong"];
[wm setObject: @"" forKey: @"__weak"];
[wm setObject: @"" forKey: @"WEAK_ATTRIBUTE"];
[wm setObject: @"" forKey: @"WINAPI"];
[wm setObject: @"" forKey: @"WSAAPI"];
}
[parser setWordMap: wm];
RELEASE(wm);
@ -1348,7 +1360,8 @@ main(int argc, char **argv, char **env)
if (ignoreDependencies == NO)
{
NSDate *d;
NSUInteger pos;
NSDate *d;
/*
* Ask existing project info (.gsdoc file) for dependency
@ -1356,7 +1369,12 @@ main(int argc, char **argv, char **env)
* and the header file.
*/
a = [projectRefs sourcesForHeader: hfile];
pos = [a indexOfObject: hfile];
[a insertObject: hfile atIndex: 0];
if (pos != NSNotFound)
{
[a removeObjectAtIndex: pos + 1];
}
[projectRefs setSources: a forHeader: hfile];
for (j = 0; j < [a count]; j++)
{
@ -1473,10 +1491,18 @@ main(int argc, char **argv, char **env)
for (j = 0; j < [sFiles count]; j++)
{
NSString *sourcePath = [sFiles objectAtIndex: j];
if ([sourcePath hasSuffix: sourceName]
&& [mgr isReadableFileAtPath: sourcePath])
{
NSUInteger index;
index = [a indexOfObject: sourcePath];
[a addObject: sourcePath];
if (index != NSNotFound)
{
[a removeObjectAtIndex: index];
}
}
}
if ([a count] > 0)
@ -1574,8 +1600,10 @@ main(int argc, char **argv, char **env)
count = [gFiles count];
if (count > 0)
{
NSDictionary *projectIndex;
NSMutableArray *merged
= [[NSMutableArray alloc] initWithCapacity: count];
CREATE_AUTORELEASE_POOL(arp);
NSDictionary *projectIndex;
for (i = 0; i < count; i++)
{
@ -1663,6 +1691,7 @@ main(int argc, char **argv, char **env)
* accumulate index info in project references
*/
[projectRefs mergeRefs: [localRefs refs] override: NO];
[merged addObject: gsdocfile];
}
else
{
@ -1671,10 +1700,20 @@ main(int argc, char **argv, char **env)
}
}
}
if (informalProtocols != nil) {
if (verbose)
{
NSLog(@"Merged indexes into projectRefs from %@", merged);
}
if (informalProtocols != nil)
{
[projectRefs addInformalProtocols: informalProtocols];
DESTROY(informalProtocols);
}
if (verbose)
{
NSLog(@"Added informal protocols into projectRefs");
}
}
DESTROY(arp);
/*
@ -1690,6 +1729,7 @@ main(int argc, char **argv, char **env)
}
}
DESTROY(originalIndex);
DESTROY(merged);
}
globalRefs = [AGSIndex new];
@ -1811,11 +1851,13 @@ main(int argc, char **argv, char **env)
/*
* Merge any "plain project" references.
*/
if (projects != nil)
if ([projects count] > 0)
{
NSEnumerator *e = [projects keyEnumerator];
NSString *k;
NSEnumerator *e = [projects keyEnumerator];
NSMutableArray *merged;
NSString *k;
merged = [NSMutableArray arrayWithCapacity: [projects count]];
while ((k = [e nextObject]) != nil)
{
if ([mgr isReadableFileAtPath: k] == NO)
@ -1851,15 +1893,25 @@ main(int argc, char **argv, char **env)
[tmp setDirectory: p];
[globalRefs mergeRefs: [tmp refs] override: YES];
RELEASE(tmp);
[merged addObject: k];
}
}
}
if (verbose)
{
NSLog(@"Merged indexes into globalRefs from %@", merged);
}
}
/*
* Accumulate project index info into global index
*/
[globalRefs mergeRefs: [projectRefs refs] override: YES];
if (verbose)
{
NSLog(@"Merged indexes from projectRefs into globalRefs");
}
RELEASE(pool);
}
@ -2126,7 +2178,7 @@ main(int argc, char **argv, char **env)
[html setProjectRefs: projectRefs];
[html setLocalRefs: localRefs];
[html setInstanceVariablesAtEnd: instanceVarsAtEnd];
generated = [html outputDocument: root];
generated = [html outputDocument: root name: gsdocfile];
d = [generated dataUsingEncoding: NSUTF8StringEncoding];
if ([d writeToFile: htmlfile atomically: YES] == NO)
{

View file

@ -578,10 +578,16 @@
<!-- The version of the document. -->
<!ELEMENT version (%text;)*>
<!-- The date the document was written. -->
<!-- The date the document was written.
If the text content is empty, output produced from the document
should describe the date/time at which that output was generated.
-->
<!ELEMENT date (%text;)*>
<!-- An author. -->
<!-- An author.
If the name attribute is empty, output produced from the document
should describe the user account which generated the output.
-->
<!ELEMENT author (email?, url?, desc?)>
<!ATTLIST author
name CDATA #REQUIRED