if( init_only_view && kind != Tokens.SET_TOKEN )
{
return null;
}
Namespaces hasNamespaces = null;
int protected_index = -1;
boolean searched_protected = false;
boolean matched_protected = false;
if(names != null)
{
int type = Names.getTypeFromKind(kind);
// fail fast for more than one namespace case
if( !(namespaces.size() > 1 && !names.containsKey(name, type) ) )
{
searched_protected = true;
// For each member of namespaces, see if there is a matching qualifier.
for (int i = 0, size = namespaces.size(); i < size; ++i)
{
ObjectValue qual = namespaces.get(i);
if (names.containsKey(name, qual, type))
{
if(hasNamespaces == null) { hasNamespaces = new Namespaces(); }
hasNamespaces.add(qual);
if( qual == this.protected_ns )
{
matched_protected = true;
}
}
if( qual == this.protected_ns )
{
protected_index = i;
}
}
}
}
// When in init only mode, only set slots defined in this object should be visible.
// Any slots defined in the base class should not be visible.
if( !init_only_view && base_objs != null && search_base_objs)
{
Namespaces temp = null;
if( !searched_protected && protected_ns != null && !matched_protected)
{
for (int i = 0, size = namespaces.size(); i < size; ++i)
{
if( protected_ns == namespaces.get(i))