diff -r 28b46e52d148 cnd.completion/src/org/netbeans/modules/cnd/completion/csm/CsmContextUtilities.java --- a/cnd.completion/src/org/netbeans/modules/cnd/completion/csm/CsmContextUtilities.java Sat Apr 05 19:17:01 2008 +0400 +++ b/cnd.completion/src/org/netbeans/modules/cnd/completion/csm/CsmContextUtilities.java Sat Apr 05 20:27:01 2008 +0400 @@ -357,12 +357,16 @@ public class CsmContextUtilities { return isInContext(fullContext, elem); } - private static List/**/ mergeDeclarations(List/**/ decls, List/**/ newList) { - // XXX: now just add all - if (newList != null && newList.size() > 0) { - decls.addAll(newList); + private static List/**/ mergeDeclarations(List/**/ prevScopeDecls, List/**/ newScopeDecls) { + // new scope elements have priority + List res = new ArrayList(); + if (newScopeDecls != null && newScopeDecls.size() > 0) { + res.addAll(newScopeDecls); } - return decls; + if (prevScopeDecls != null && prevScopeDecls.size() > 0) { + res.addAll(prevScopeDecls); + } + return res; } // public static void updateContextObject(CsmObject obj, CsmContext context) {