if (derivedFrom != null) {
DmcUncheckedObject base = classDefs.get(derivedFrom);
getAllMustAndMay(base, must, may);
}
NamedStringArray mustAttr = uco.get("must");
if (mustAttr != null) {
for (String name : mustAttr) {
must.add(name);
DmcUncheckedObject attrDef = attributeDefs.get(name);
String attrType = attrDef.getSV("type");
DmcUncheckedObject typeDef = typeDefs.get(attrType);
// If this is an object reference, the type won't be in types -
// skip it
if (typeDef == null)
continue;
String primitiveType = typeDef.getSV("primitiveType");
if (primitiveType != null) {
if (primitiveType.startsWith("org.dmd.dmc.types"))
needPrimitiveTypeImport = true;
}
}
}
NamedStringArray mayAttr = uco.get("may");
if (mayAttr != null) {
for (String name : mayAttr) {
may.add(name);
DmcUncheckedObject attrDef = attributeDefs.get(name);