/** * Gets group of all possible overloads for specified method. * * @param method IOpenMethod instance * @return group of methods */ public Set<TableSyntaxNodeKey> getAllMethodOverloads(IOpenMethod method) { MethodKey key = buildKey(method); return internalMap.get(key); }
/** * Checks that method already in dictionary. * * @param method IOpenMethod instance * @return <code>true</code> if method already exists in dictionary; * <code>false</code> - otherwise */ public boolean contains(IOpenMethod method) { MethodKey key = buildKey(method); return contains(key); }
/** * Adds TableSyntaxNode instance to dictionary. If method(s) with same signature * already exists in dictionary new one will be added to its group; * otherwise - new entry will be created. * * @param table executable table */ public void add(TableSyntaxNode table) { IOpenMethod method = (IOpenMethod)table.getMember(); MethodKey key = buildKey(method); if (contains(key)) { Set<TableSyntaxNodeKey> value = internalMap.get(key); value.add(buildKey(table)); } else { Set<TableSyntaxNodeKey> value = new HashSet<>(); value.add(buildKey(table)); internalMap.put(key, value); } }