*/
public MibValue initialize(MibLoaderLog log, MibType type)
throws MibException {
MibSymbol sym;
MibValue value;
String message;
sym = getSymbol(log);
if (sym instanceof MibValueSymbol) {
value = ((MibValueSymbol) sym).getValue();
if (value != null) {
value = value.initialize(log, type);
}
if (value == null) {
return null;
}
try {
value = value.createReference();
} catch (UnsupportedOperationException e) {
throw new MibException(location, e.getMessage());
}
if (!(value instanceof ObjectIdentifierValue)) {
value.setReferenceSymbol((MibValueSymbol) sym);
}
return value;
} else if (sym == null) {
message = "undefined symbol '" + name + "'";
throw new MibException(location, message);