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/Util.java')
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Util.java284
1 files changed, 0 insertions, 284 deletions
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Util.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Util.java
deleted file mode 100644
index c51be2c15bf..00000000000
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/Util.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package org.eclipse.cdt.internal.core.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.
- */
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.text.MessageFormat;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.ICLogConstants;
-import org.eclipse.cdt.core.model.CModelException;
-import org.eclipse.cdt.core.model.ICModelStatusConstants;
-import org.eclipse.cdt.internal.core.model.IDebugLogConstants.DebugLogConstant;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-public class Util implements ICLogConstants {
- public static boolean VERBOSE_PARSER = false;
- public static boolean VERBOSE_SCANNER = false;
- public static boolean VERBOSE_MODEL = false;
-
- private Util() {
- }
-
- public static StringBuffer getContent(IFile file) throws IOException {
- InputStream stream = null;
- try {
- stream = new BufferedInputStream(file.getContents(true));
- } catch (CoreException e) {
- throw new IOException(e.getMessage());
- }
- try {
- char[] b = getInputStreamAsCharArray(stream, -1, null);
- return new StringBuffer(b.length).append(b);
- } finally {
- try {
- if (stream != null)
- stream.close();
- } catch (IOException e) {
- }
- }
- }
-
- /**
- * Returns the given input stream's contents as a character array. If a
- * length is specified (ie. if length != -1), only length chars are
- * returned. Otherwise all chars in the stream are returned. Note this
- * doesn't close the stream.
- *
- * @throws IOException
- * if a problem occured reading the stream.
- */
- public static char[] getInputStreamAsCharArray(InputStream stream,
- int length, String encoding) throws IOException {
- InputStreamReader reader = null;
- reader = encoding == null
- ? new InputStreamReader(stream)
- : new InputStreamReader(stream, encoding);
- char[] contents;
- if (length == -1) {
- contents = new char[0];
- int contentsLength = 0;
- int charsRead = -1;
- do {
- int available = stream.available();
- // resize contents if needed
- if (contentsLength + available > contents.length) {
- System.arraycopy(contents, 0,
- contents = new char[contentsLength + available], 0,
- contentsLength);
- }
- // read as many chars as possible
- charsRead = reader.read(contents, contentsLength, available);
- if (charsRead > 0) {
- // remember length of contents
- contentsLength += charsRead;
- }
- } while (charsRead > 0);
- // resize contents if necessary
- if (contentsLength < contents.length) {
- System.arraycopy(contents, 0,
- contents = new char[contentsLength], 0, contentsLength);
- }
- } else {
- contents = new char[length];
- int len = 0;
- int readSize = 0;
- while ((readSize != -1) && (len != length)) {
- // See PR 1FMS89U
- // We record first the read size. In this case len is the
- // actual read size.
- len += readSize;
- readSize = reader.read(contents, len, length - len);
- }
- // See PR 1FMS89U
- // Now we need to resize in case the default encoding used more
- // than one byte for each
- // character
- if (len != length)
- System.arraycopy(contents, 0, (contents = new char[len]), 0,
- len);
- }
- return contents;
- }
-
- public static void save(StringBuffer buffer, IFile file)
- throws CoreException {
- byte[] bytes = buffer.toString().getBytes();
- ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
- // use a platform operation to update the resource contents
- boolean force = true;
- file.setContents(stream, force, true, null); // record history
- }
-
- /**
- * Returns the given file's contents as a character array.
- */
- public static char[] getResourceContentsAsCharArray(IFile file)
- throws CModelException {
- return getResourceContentsAsCharArray(file, null);
- }
-
- public static char[] getResourceContentsAsCharArray(IFile file,
- String encoding) throws CModelException {
- InputStream stream = null;
- try {
- stream = new BufferedInputStream(file.getContents(true));
- } catch (CoreException e) {
- throw new CModelException(e,
- ICModelStatusConstants.ELEMENT_DOES_NOT_EXIST);
- }
- try {
- return Util.getInputStreamAsCharArray(stream, -1, encoding);
- } catch (IOException e) {
- throw new CModelException(e, ICModelStatusConstants.IO_EXCEPTION);
- } finally {
- try {
- stream.close();
- } catch (IOException e) {
- }
- }
- }
-
- /*
- * Add a log entry
- */
- public static void log(Throwable e, String message, LogConst logType) {
- IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.ERROR, message,e);
- Util.log(status, logType);
- }
-
- public static void log(IStatus status, LogConst logType) {
- if (logType.equals(ICLogConstants.PDE)) {
- CCorePlugin.getDefault().getLog().log(status);
- } else if (logType.equals(ICLogConstants.CDT)) {
- CCorePlugin.getDefault().cdtLog.log(status);
- }
- }
-
- public static void log(String message, LogConst logType) {
- IStatus status = new Status(IStatus.INFO, CCorePlugin.PLUGIN_ID, IStatus.INFO, message, null);
- Util.log(status, logType);
- }
-
- public static void debugLog(String message, DebugLogConstant client) {
- Util.debugLog(message, client, true);
- }
-
- public static void debugLog(String message, DebugLogConstant client,
- boolean addTimeStamp) {
- if (CCorePlugin.getDefault() == null)
- return;
- if (CCorePlugin.getDefault().isDebugging() && isActive(client)) {
- // Time stamp
- if (addTimeStamp)
- message = MessageFormat.format("[{0}] {1}", new Object[]{ //$NON-NLS-1$
- new Long(System.currentTimeMillis()), message}); //$NON-NLS-1$
- while (message.length() > 100) {
- String partial = message.substring(0, 100);
- message = message.substring(100);
- System.out.println(partial + "\\"); //$NON-NLS-1$
- }
- if (message.endsWith("\n")) { //$NON-NLS-1$
- System.err.print(message);
- } else {
- System.out.println(message);
- }
- }
- }
-
- /**
- * @param client
- * @return
- */
- public static boolean isActive(DebugLogConstant client) {
- if (client.equals(IDebugLogConstants.PARSER)) {
- return VERBOSE_PARSER;
- } else if (client.equals(IDebugLogConstants.SCANNER))
- return VERBOSE_SCANNER;
- else if (client.equals(IDebugLogConstants.MODEL)) {
- return VERBOSE_MODEL;
- }
- return false;
- }
-
- public static void setDebugging(boolean value) {
- CCorePlugin.getDefault().setDebugging(value);
- }
-
- /**
- * Combines two hash codes to make a new one.
- */
- public static int combineHashCodes(int hashCode1, int hashCode2) {
- return hashCode1 * 17 + hashCode2;
- }
-
- /**
- * Compares two arrays using equals() on the elements. Either or both
- * arrays may be null. Returns true if both are null. Returns false if only
- * one is null. If both are arrays, returns true iff they have the same
- * length and all elements compare true with equals.
- */
- public static boolean equalArraysOrNull(Object[] a, Object[] b) {
- if (a == b)
- return true;
- if (a == null || b == null)
- return false;
- int len = a.length;
- if (len != b.length)
- return false;
- for (int i = 0; i < len; ++i) {
- if (a[i] == null) {
- if (b[i] != null)
- return false;
- } else {
- if (!a[i].equals(b[i]))
- return false;
- }
- }
- return true;
- }
-
- /**
- * Compares two arrays using equals() on the elements. Either or both
- * arrays may be null. Returns true if both are null. Returns false if only
- * one is null. If both are arrays, returns true iff they have the same
- * length and all elements are equal.
- */
- public static boolean equalArraysOrNull(int[] a, int[] b) {
- if (a == b)
- return true;
- if (a == null || b == null)
- return false;
- int len = a.length;
- if (len != b.length)
- return false;
- for (int i = 0; i < len; ++i) {
- if (a[i] != b[i])
- return false;
- }
- return true;
- }
-
- /**
- * Compares two objects using equals(). Either or both array may be null.
- * Returns true if both are null. Returns false if only one is null.
- * Otherwise, return the result of comparing with equals().
- */
- public static boolean equalOrNull(Object a, Object b) {
- if (a == b) {
- return true;
- }
- if (a == null || b == null) {
- return false;
- }
- return a.equals(b);
- }
-}

Back to the top