Пример #1
0
 private static IBinding[] getContext(IASTName name) {
   IBinding[] accessibilityContext = IBinding.EMPTY_BINDING_ARRAY;
   for (IBinding binding = CPPVisitor.findEnclosingFunctionOrClass(name);
       binding != null;
       binding = binding.getOwner()) {
     if (binding instanceof ICPPMethod
         ||
         // Definition of an undeclared method.
         binding instanceof IProblemBinding
             && ((IProblemBinding) binding).getID()
                 == IProblemBinding.SEMANTIC_MEMBER_DECLARATION_NOT_FOUND) {
       continue;
     }
     if (binding instanceof ICPPFunction || binding instanceof ICPPClassType) {
       accessibilityContext = ArrayUtil.append(accessibilityContext, binding);
     }
   }
   return ArrayUtil.trim(accessibilityContext);
 }