xref: /Universal-ctags/Units/noext-tg-objc.d/input.nolang (revision 75c2fd61c4fff0024df04bf2d85da5bdbd39b897)
1/* -*- objc -*- */
2#if 0
3// This is ABOUT of Units facility.
4// ABC
5/* ABC */
6/* ABC
7 */
8/* ABC
9 *
10 */
11#include <stdio.h>
12#include "stdio.h"
13#include <a/stdio.h>
14#include "a/stdio.h"
15#include "a_stdio.h"
16#endif
17
18int main(int argc, char** argv)
19{
20  return __pid;
21}
22#endif
23@implementation MyClass
24
25+ (void)myClassMethod:(int)arg1 with:(id)arg2;
26- (void)myInstanceMethod:(int)arg1 with:(id)arg2;
27
28@end
29
30@implementation FileTree
31- (FileSize)getDiskSize
32{
33    return diskSize;
34}
35
36- (id)initWithName:(NSString*)treeName
37           atPlace:(FolderTree*)parentFolder
38{
39    self = [super init];
40
41    diskSize = 0;
42    name = treeName;
43    parent = parentFolder;
44    [name retain];
45    representation = nil;
46
47    return self;
48}
49
50- (id)initWithName:(NSString*)treeName
51           andSize:(FileSize)size
52           atPlace:(FolderTree*)parentFolder
53{
54    self = [super init];
55
56    diskSize = size;
57    name = treeName;
58    parent = parentFolder;
59    [name retain];
60    representation = nil;
61
62    return self;
63}
64
65- (void)dealloc
66{
67    [name release];
68    [representation release];
69    [super dealloc];
70}
71
72- (LayoutTree*)createLayoutTree
73{
74    return nil;
75}
76@end
77
78@implementation FolderTree
79- (id)initWithName:(NSString*)treeName
80           atPlace:(FolderTree*)parentFolder
81{
82    self = [super initWithName:treeName
83                       atPlace:parentFolder];
84
85    children = [[NSMutableArray alloc] init];
86    return self;
87}
88
89- (void)dealloc
90{
91    [children release];
92    [super dealloc];
93}
94
95+ (void) createFileList: (NSString*)root atPlace:(FolderTree*)parentFolder
96{
97	NSFileManager *localFileManager = [[NSFileManager alloc] init];
98	NSURL		  *rootUrl = [NSURL fileURLWithPath:root];
99	NSDirectoryEnumerator *dirEnumerator = [localFileManager enumeratorAtURL:rootUrl
100
101                                                  includingPropertiesForKeys:[NSArray arrayWithObjects:
102                                                                              NSURLNameKey,
103                                                                              NSURLIsDirectoryKey,
104                                                                              nil]
105
106                                                                     options:NSDirectoryEnumerationSkipsHiddenFiles
107
108                                                                errorHandler:nil];
109
110	for (NSURL *theURL in dirEnumerator)
111	{
112        [theURL getResourceValue:&fileName
113						  forKey:NSURLNameKey
114						   error:NULL];
115
116        // Ignore files under the _extras directory
117        if ([isDirectory boolValue]==YES)
118        {
119            [folder populateChildList:root];
120        }
121        else if ([isDirectory boolValue]==NO)
122        {
123            [parentFolder addChild:f];
124        }
125    }
126}
127
128- (void) populateChildList:(NSString*)root
129{
130    NSString *thisRoot = [[root stringByAppendingString:@"/"]
131                                stringByAppendingString:name];
132
133    [FolderTree createFileList:thisRoot
134                       atPlace:self];
135
136    for ( FileTree *f in children )
137        diskSize += [f getDiskSize];
138}
139
140- (FolderTree*)addChild:(FileTree*)subTree
141{
142    [children addObject:subTree];
143    return self;
144}
145
146- (LayoutTree*)createLayoutTree
147{
148    return
149        [[LayoutTree alloc] initWithFileList:children
150                                andTotalSize:diskSize];
151}
152@end
153