version 1.45, 2002/08/27 23:38:44
|
version 1.46, 2002/09/13 21:40:42
|
|
|
throw UninitializedObjectException(); | throw UninitializedObjectException(); |
| |
if (find(qualifier.getName()) != PEG_NOT_FOUND) | if (find(qualifier.getName()) != PEG_NOT_FOUND) |
throw AlreadyExistsException("qualifier \"" + qualifier.getName() + "\""); |
throw AlreadyExistsException |
|
("qualifier \"" + qualifier.getName().getString () + "\""); |
| |
_qualifiers.append(qualifier); | _qualifiers.append(qualifier); |
| |
|
|
| |
void CIMQualifierList::resolve( | void CIMQualifierList::resolve( |
DeclContext* declContext, | DeclContext* declContext, |
const String& nameSpace, |
const CIMNamespaceName & nameSpace, |
CIMScope scope, // Scope of the entity being resolved. | CIMScope scope, // Scope of the entity being resolved. |
Boolean isInstancePart, | Boolean isInstancePart, |
CIMQualifierList& inheritedQualifiers, | CIMQualifierList& inheritedQualifiers, |
|
|
nameSpace, q.getName()); | nameSpace, q.getName()); |
| |
if (qd.isUninitialized()) | if (qd.isUninitialized()) |
throw UndeclaredQualifier(q.getName()); |
throw UndeclaredQualifier(q.getName().getString ()); |
| |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
// 2. Check the type and isArray. Must be the same: | // 2. Check the type and isArray. Must be the same: |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
| |
if (!(q.getType() == qd.getType() && q.isArray() == qd.isArray())) | if (!(q.getType() == qd.getType() && q.isArray() == qd.isArray())) |
throw BadQualifierType(q.getName()); |
throw BadQualifierType(q.getName().getString ()); |
| |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
// 3. Check the scope: Must be legal for this qualifier | // 3. Check the scope: Must be legal for this qualifier |
|
|
// ks Mar 2002. Reinstalled 23 March 2002 to test. | // ks Mar 2002. Reinstalled 23 March 2002 to test. |
| |
if (!(qd.getScope().hasScope (scope))) | if (!(qd.getScope().hasScope (scope))) |
throw BadQualifierScope(qd.getName(), scope.toString ()); |
throw BadQualifierScope |
|
(qd.getName().getString (), scope.toString ()); |
//#endif | //#endif |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
// Resolve the qualifierflavor. Since Flavors are a combination of inheritance | // Resolve the qualifierflavor. Since Flavors are a combination of inheritance |
|
|
(CIMFlavor::OVERRIDABLE)) | (CIMFlavor::OVERRIDABLE)) |
&& (q.getFlavor ().hasFlavor | && (q.getFlavor ().hasFlavor |
(CIMFlavor::OVERRIDABLE))) | (CIMFlavor::OVERRIDABLE))) |
throw BadQualifierOverride(q.getName()); |
throw BadQualifierOverride |
|
(q.getName().getString ()); |
| |
Resolver::resolveQualifierFlavor | Resolver::resolveQualifierFlavor |
(q, CIMFlavor (qd.getFlavor ()), false); | (q, CIMFlavor (qd.getFlavor ()), false); |
|
|
if (!(iq.getFlavor ().hasFlavor | if (!(iq.getFlavor ().hasFlavor |
(CIMFlavor::OVERRIDABLE)) | (CIMFlavor::OVERRIDABLE)) |
&& q.getFlavor ().hasFlavor (CIMFlavor::OVERRIDABLE)) | && q.getFlavor ().hasFlavor (CIMFlavor::OVERRIDABLE)) |
throw BadQualifierOverride(q.getName()); |
throw BadQualifierOverride |
|
(q.getName().getString ()); |
| |
if (!(iq.getFlavor ().hasFlavor | if (!(iq.getFlavor ().hasFlavor |
(CIMFlavor::OVERRIDABLE)) | (CIMFlavor::OVERRIDABLE)) |
|
|
CIMValue qv = q.getValue(); | CIMValue qv = q.getValue(); |
CIMValue iqv = iq.getValue(); | CIMValue iqv = iq.getValue(); |
if(!(qv == iqv)) { | if(!(qv == iqv)) { |
throw BadQualifierOverride(q.getName()); |
throw BadQualifierOverride |
|
(q.getName().getString ()); |
} | } |
} | } |
//cout << iq.getFlavor() << endl; | //cout << iq.getFlavor() << endl; |