ObjFW  Diff

Differences From Artifact [042719481e]:

To Artifact [8482013ced]:


20
21
22
23
24
25
26
27
28


29
30
31


32
33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54


55
56

57
58
59

60
61
62
63
64
65
66
67
68
69


70
71

72
73
74

75
76
77
78
79
80
81
82
83
84
85
86


87
88
89
90
91
92
93
94


95
96
97
98
99
100






101
102

103
104

105
106
107
108
109

110
111
112
113
114

115
116
20
21
22
23
24
25
26


27
28
29


30
31
32
33

34
35
36

37
38
39
40

41
42
43
44
45
46
47
48
49
50
51
52


53
54
55

56
57
58

59
60
61
62
63
64
65
66
67


68
69
70

71
72
73

74
75
76
77
78
79
80
81
82
83
84


85
86
87
88
89
90
91
92


93
94
95





96
97
98
99
100
101
102

103
104

105
106
107
108
109

110
111
112
113
114

115
116
117







-
-
+
+

-
-
+
+


-
+


-
+



-
+











-
-
+
+

-
+


-
+








-
-
+
+

-
+


-
+










-
-
+
+






-
-
+
+

-
-
-
-
-
+
+
+
+
+
+

-
+

-
+




-
+




-
+



#import "OFUnboundNamespaceException.h"
#import "OFString.h"

#import "common.h"

@implementation OFUnboundNamespaceException
+ (instancetype)exceptionWithClass: (Class)class_
			 namespace: (OFString*)ns
+ (instancetype)exceptionWithClass: (Class)class
			 namespace: (OFString*)namespace
{
	return [[[self alloc] initWithClass: class_
				  namespace: ns] autorelease];
	return [[[self alloc] initWithClass: class
				  namespace: namespace] autorelease];
}

+ (instancetype)exceptionWithClass: (Class)class_
+ (instancetype)exceptionWithClass: (Class)class
			    prefix: (OFString*)prefix
{
	return [[[self alloc] initWithClass: class_
	return [[[self alloc] initWithClass: class
				     prefix: prefix] autorelease];
}

- initWithClass: (Class)class_
- initWithClass: (Class)class
{
	@try {
		[self doesNotRecognizeSelector: _cmd];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	abort();
}

- initWithClass: (Class)class_
      namespace: (OFString*)ns_
- initWithClass: (Class)class
      namespace: (OFString*)namespace
{
	self = [super initWithClass: class_];
	self = [super initWithClass: class];

	@try {
		ns = [ns_ copy];
		_namespace = [namespace copy];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}

- initWithClass: (Class)class_
	 prefix: (OFString*)prefix_
- initWithClass: (Class)class
	 prefix: (OFString*)prefix
{
	self = [super initWithClass: class_];
	self = [super initWithClass: class];

	@try {
		prefix = [prefix_ copy];
		_prefix = [prefix copy];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}

- (void)dealloc
{
	[ns release];
	[prefix release];
	[_namespace release];
	[_prefix release];

	[super dealloc];
}

- (OFString*)description
{
	if (description != nil)
		return description;
	if (_description != nil)
		return _description;

	if (ns != nil)
		description = [[OFString alloc] initWithFormat:
		    @"The namespace %@ is not bound in class %@", ns, inClass];
	else if (prefix != nil)
		description = [[OFString alloc] initWithFormat:
	if (_namespace != nil)
		_description = [[OFString alloc] initWithFormat:
		    @"The namespace %@ is not bound in class %@", _namespace,
		    _inClass];
	else if (_prefix != nil)
		_description = [[OFString alloc] initWithFormat:
		    @"The prefix %@ is not bound to any namespace in class %@",
		    prefix, inClass];
		    _prefix, _inClass];

	return description;
	return _description;
}

- (OFString*)namespace
{
	OF_GETTER(ns, NO)
	OF_GETTER(_namespace, NO)
}

- (OFString*)prefix
{
	OF_GETTER(prefix, NO)
	OF_GETTER(_prefix, NO)
}
@end