Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java146
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);
- }
-}
-
-}

Back to the top