diff options
Diffstat (limited to 'core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelCache.java')
-rw-r--r-- | core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelCache.java | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelCache.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelCache.java deleted file mode 100644 index a03ad056cd9..00000000000 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelCache.java +++ /dev/null @@ -1,146 +0,0 @@ -package org.eclipse.cdt.internal.core.model; - -/********************************************************************** - * Copyright (c) 2002,2003 Rational Software Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v0.5 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v05.html - * - * Contributors: - * Rational Software - Initial API and implementation -***********************************************************************/ - - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.cdt.core.model.ICElement; -import org.eclipse.cdt.internal.core.util.OverflowingLRUCache; - - -/** - * The cache of C elements to their respective info. - * - * This class is similar to the JDT CModelCache class. - */ -public class CModelCache { - public static final int PROJ_CACHE_SIZE = 50; - public static final int FOLDER_CACHE_SIZE = 500; - public static final int FILE_CACHE_SIZE = 2000; - public static final int CHILDREN_CACHE_SIZE = FILE_CACHE_SIZE * 20; - - /** - * Cache of open projects and roots. - */ - protected Map projectAndRootCache; - - /** - * Cache of open containers - */ - protected Map folderCache; - - /** - * Cache of open translation unit files - */ - protected OverflowingLRUCache fileCache; - - /** - * Cache of children of C elements - */ - protected Map childrenCache; - -public CModelCache() { - this.projectAndRootCache = new HashMap(PROJ_CACHE_SIZE); - this.folderCache = new HashMap(FOLDER_CACHE_SIZE); - this.fileCache = new ElementCache(FILE_CACHE_SIZE); - this.childrenCache = new HashMap(CHILDREN_CACHE_SIZE); // average 20 children per openable -} - -public double openableFillingRatio() { - return this.fileCache.fillingRatio(); -} - -/** - * Returns the info for the element. - */ -public Object getInfo(ICElement element) { - switch (element.getElementType()) { - case ICElement.C_MODEL: - case ICElement.C_PROJECT: - return this.projectAndRootCache.get(element); - case ICElement.C_CCONTAINER: - return this.folderCache.get(element); - case ICElement.C_ARCHIVE: - case ICElement.C_BINARY: - case ICElement.C_UNIT: - return this.fileCache.get(element); - default: - return this.childrenCache.get(element); - } -} - -/** - * Returns the info for this element without - * disturbing the cache ordering. - */ -protected Object peekAtInfo(ICElement element) { - switch (element.getElementType()) { - case ICElement.C_MODEL: - case ICElement.C_PROJECT: - return this.projectAndRootCache.get(element); - case ICElement.C_CCONTAINER: - return this.folderCache.get(element); - case ICElement.C_ARCHIVE: - case ICElement.C_BINARY: - case ICElement.C_UNIT: - return this.fileCache.peek(element); - default: - return this.childrenCache.get(element); - } -} - -/** - * Remember the info for the element. - */ -protected void putInfo(ICElement element, Object info) { - switch (element.getElementType()) { - case ICElement.C_MODEL: - case ICElement.C_PROJECT: - this.projectAndRootCache.put(element, info); - break; - case ICElement.C_CCONTAINER: - this.folderCache.put(element, info); - break; - case ICElement.C_ARCHIVE: - case ICElement.C_BINARY: - case ICElement.C_UNIT: - this.fileCache.put(element, info); - break; - default: - this.childrenCache.put(element, info); - } -} -/** - * Removes the info of the element from the cache. - */ -protected void removeInfo(ICElement element) { - switch (element.getElementType()) { - case ICElement.C_MODEL: - case ICElement.C_PROJECT: - this.projectAndRootCache.remove(element); - break; - case ICElement.C_CCONTAINER: - this.folderCache.remove(element); - break; - case ICElement.C_ARCHIVE: - case ICElement.C_BINARY: - case ICElement.C_UNIT: - this.fileCache.remove(element); - break; - default: - this.childrenCache.remove(element); - } -} - -} |