       cursorScope = @getClassScope(fullLine, lineScopes)
       if cursorScope?
         suggestions = @addChildren(cursorScope, suggestions, prefixLower, [])
-        return @buildCompletionList(suggestions)
+        return @buildCompletionList(suggestions, lineContext)
       if prefix.length < @minPrefix and not activatedManually
         return completions
       for key in @globalObjInd when (@projectObjList[key]['name'].toLowerCase().startsWith(prefixLower))

      return null
    return objKey.substring(0,finalSep)

  buildCompletionList: (suggestions, contextFilter=null) ->
    completions = []
    for suggestion in suggestions
      compObj = @projectObjList[suggestion]
      if contextFilter == 3 and compObj['type'] != 4
        continue
      if compObj['type'] == 7
        @resolveInterface(suggestion)
        repName = compObj['name']

    useRegex = /^[ \t]*USE[ \t]/i
    subDefRegex = /^[ \t]*(PURE|ELEMENTAL|RECURSIVE)*[ \t]*(MODULE|PROGRAM|SUBROUTINE|FUNCTION)[ \t]/i
    typeDefRegex = /^[ \t]*(CLASS|TYPE)[ \t]*(IS)?[ \t]*\(/i
    callRegex = /^[ \t]*CALL[ \t]+[a-z0-9_%]*$/i
    if line.match(callRegex)?
      return 4
    if line.match(useRegex)?
      return 1
    if line.match(useRegex)?
