       return null
 
   addPublicChildren: (scope, completions, prefix, onlyList) ->
-    unless scope of @projectObjList
+    scopeObj = @projectObjList[scope]
+    unless scopeObj?
       return completions
-    unless 'mem' of @projectObjList[scope]
-      return
-    children = @projectObjList[scope]['mem']
+    children = scopeObj['mem']
+    unless children?
+      return
     currVis = 1
-    if 'vis' of @projectObjList[scope]
-      currVis = parseInt(@projectObjList[scope]['vis'])
+    if 'vis' of scopeObj
+      currVis = parseInt(scopeObj['vis'])
     for child in children
       if prefix?
         unless child.startsWith(prefix)

          continue
      childKey = scope+'::'+child
      if childKey of @projectObjList
        if @projectObjList[childKey]['type'] == 'copy'
          @resolveInterface(childKey, scope)
          repName = @projectObjList[childKey]['name']
          for copyKey in @projectObjList[childKey]['res_mem']
            completions.push(@buildCompletion(@projectObjList[copyKey], repName))
        else
          if 'link' of @projectObjList[childKey]
            @resolveLink(childKey, scope)
            repName = @projectObjList[childKey]['name']
            copyKey = @projectObjList[childKey]['res_link']
            doPass = false
            if @projectObjList[scope]['type'] == 'class'
              doPass = @testPass(@projectObjList[childKey])
            completions.push(@buildCompletion(@projectObjList[copyKey], repName, doPass))
          else
            completions.push(@buildCompletion(@projectObjList[childKey]))
    # Add inherited
    @resolveIherited(scope)
    if 'in_mem' of @projectObjList[scope]
      for childKey in @projectObjList[scope]['in_mem']
        completions.push(@buildCompletion(@projectObjList[childKey]))
    return completions

  getUseSearches: (scope, modDict, onlyList) ->
    # Process USE STMT (only if no onlyList)
    if 'use' of @projectObjList[scope]
      for useMod in @projectObjList[scope]['use']
        if useMod[0] of @projectObjList
          mergedOnly = @getOnlyOverlap(onlyList, useMod[1])
          unless mergedOnly?


  filterSuggestions: (prefix, editor, bufferPosition, activatedManually) ->
    completions = []
    suggestions = []
    if prefix
      prefixLower = prefix.toLowerCase()
      lineContext = @getLineContext(editor, bufferPosition)
