@@ -123,11 +123,11 @@ return [[[self alloc] initWithFile: path] autorelease]; } - init { - Class c = isa; + Class c = [self class]; [self release]; @throw [OFNotImplementedException exceptionWithClass: c selector: _cmd]; } @@ -161,11 +161,11 @@ self = [super init]; @try { if (name_ == nil) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; name = [name_ copy]; ns = [ns_ copy]; @@ -189,11 +189,11 @@ self = [super init]; @try { if (element == nil) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; name = [element->name copy]; ns = [element->ns copy]; defaultNamespace = [element->defaultNamespace copy]; @@ -214,15 +214,15 @@ OFXMLParser *parser; OFXMLElementBuilder *builder; OFXMLElement_OFXMLElementBuilderDelegate *delegate; Class c; - c = isa; + c = [self class]; [self release]; if (string == nil) - @throw [OFInvalidArgumentException exceptionWithClass: isa + @throw [OFInvalidArgumentException exceptionWithClass: c selector: _cmd]; pool = [[OFAutoreleasePool alloc] init]; parser = [OFXMLParser parser]; @@ -252,11 +252,11 @@ OFXMLParser *parser; OFXMLElementBuilder *builder; OFXMLElement_OFXMLElementBuilderDelegate *delegate; Class c; - c = isa; + c = [self class]; [self release]; pool = [[OFAutoreleasePool alloc] init]; parser = [OFXMLParser parser]; @@ -292,11 +292,11 @@ id key, object; if (![[element name] isEqual: [self className]] || ![[element namespace] isEqual: OF_SERIALIZATION_NS]) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; name = [[[element attributeForName: @"name"] stringValue] copy]; ns = [[[element attributeForName: @"namespace"] stringValue] copy]; @@ -329,35 +329,35 @@ (namespaces != nil && ![namespaces isKindOfClass: [OFMutableDictionary class]]) || (children != nil && ![children isKindOfClass: [OFMutableArray class]])) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; objectEnumerator = [attributes objectEnumerator]; while ((object = [objectEnumerator nextObject]) != nil) if (![object isKindOfClass: [OFXMLAttribute class]]) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; keyEnumerator = [namespaces keyEnumerator]; objectEnumerator = [namespaces objectEnumerator]; while ((key = [keyEnumerator nextObject]) != nil && (object = [objectEnumerator nextObject]) != nil) if (![key isKindOfClass: [OFString class]] || ![object isKindOfClass: [OFString class]]) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; objectEnumerator = [children objectEnumerator]; while ((object = [objectEnumerator nextObject]) != nil) if (![object isKindOfClass: [OFXMLNode class]]) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; if (namespaces == nil) namespaces = [[OFMutableDictionary alloc] init]; @@ -366,11 +366,11 @@ [namespaces setObject: @"xmlns" forKey: @"http://www.w3.org/2000/xmlns/"]; if (name == nil) @throw [OFInvalidArgumentException - exceptionWithClass: isa + exceptionWithClass: [self class] selector: _cmd]; [pool release]; } @catch (id e) { [self release]; @@ -381,12 +381,13 @@ } - (void)setName: (OFString*)name_ { if (name_ == nil) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; + @throw [OFInvalidArgumentException + exceptionWithClass: [self class] + selector: _cmd]; OF_SETTER(name, name_, YES, 1) } - (OFString*)name @@ -562,11 +563,11 @@ if ([attributesObjects[j] namespace] != nil && (attributePrefix = [allNamespaces objectForKey: [attributesObjects[j] namespace]]) == nil) @throw [OFUnboundNamespaceException - exceptionWithClass: isa + exceptionWithClass: [self class] namespace: [attributesObjects[j] namespace]]; length += [attributeName UTF8StringLength] + (attributePrefix != nil ? @@ -898,12 +899,13 @@ - (void)setPrefix: (OFString*)prefix forNamespace: (OFString*)ns_ { if (prefix == nil || [prefix isEqual: @""]) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; + @throw [OFInvalidArgumentException + exceptionWithClass: [self class] + selector: _cmd]; if (ns_ == nil) ns_ = @""; [namespaces setObject: prefix forKey: ns_]; @@ -930,12 +932,13 @@ } - (void)addChild: (OFXMLNode*)child { if ([child isKindOfClass: [OFXMLAttribute class]]) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; + @throw [OFInvalidArgumentException + exceptionWithClass: [self class] + selector: _cmd]; if (children == nil) children = [[OFMutableArray alloc] init]; [children addObject: child]; @@ -942,12 +945,13 @@ } - (void)removeChild: (OFXMLNode*)child { if ([child isKindOfClass: [OFXMLAttribute class]]) - @throw [OFInvalidArgumentException exceptionWithClass: isa - selector: _cmd]; + @throw [OFInvalidArgumentException + exceptionWithClass: [self class] + selector: _cmd]; [children removeObject: child]; } - (OFXMLElement*)elementForName: (OFString*)elementName @@ -1083,11 +1087,11 @@ return hash; } - copy { - return [[isa alloc] initWithElement: self]; + return [[[self class] alloc] initWithElement: self]; } - (void)dealloc { [name release];