Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Field.java')
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Field.java381
1 files changed, 0 insertions, 381 deletions
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Field.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Field.java
deleted file mode 100644
index 9b4cfa2911e..00000000000
--- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Field.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.internal.core.index.impl;
-
-import java.io.UTFDataFormatException;
-
-public class Field {
- protected byte[] buffer; // contents
- protected int offset; // offset of the field within the byte array
- protected int length; // length of the field
-
- /**
- * ByteSegment constructor comment.
- */
- public Field(byte[] bytes) {
- this.buffer= bytes;
- this.offset= 0;
- this.length= bytes.length;
- }
- /**
- * ByteSegment constructor comment.
- */
- public Field(byte[] bytes, int length) {
- this.buffer= bytes;
- this.offset= 0;
- this.length= length;
- }
- /**
- * ByteSegment constructor comment.
- */
- public Field(byte[] bytes, int offset, int length) {
- this.buffer= bytes;
- this.offset= offset;
- this.length= length;
- }
- /**
- * Creates a new field containing an empty buffer of the given length.
- */
- public Field(int length) {
- this.buffer= new byte[length];
- this.offset= 0;
- this.length= length;
- }
- public byte[] buffer() {
- return buffer;
- }
- public Field buffer(byte[] buffer) {
- this.buffer= buffer;
- return this;
- }
- public Field clear() {
- clear(buffer, offset, length);
- return this;
- }
- protected static void clear(byte[] buffer, int offset, int length) {
- int n= offset;
- for (int i= 0; i < length; i++) {
- buffer[n]= 0;
- n++;
- }
- }
- public Field clear(int length) {
- clear(buffer, offset, length);
- return this;
- }
- public Field clear(int offset, int length) {
- clear(buffer, this.offset + offset, length);
- return this;
- }
- protected static int compare(byte[] buffer1, int offset1, int length1, byte[] buffer2, int offset2, int length2) {
- int n= Math.min(length1, length2);
- for (int i= 0; i < n; i++) {
- int j1= buffer1[offset1 + i] & 255;
- int j2= buffer2[offset2 + i] & 255;
- if (j1 > j2)
- return 1;
- if (j1 < j2)
- return -1;
- }
- if (length1 > n) {
- for (int i= n; i < length1; i++)
- if (buffer1[offset1 + i] != 0)
- return 1;
- return 0;
- }
- for (int i= n; i < length2; i++)
- if (buffer2[offset2 + i] != 0)
- return -1;
- return 0;
- }
- public static int compare(Field f1, Field f2) {
- return compare(f1.buffer, f1.offset, f1.length, f2.buffer, f2.offset, f2.length);
- }
- // copy bytes from one offset to another within the field
- public Field copy(int fromOffset, int toOffset, int length) {
- System.arraycopy(buffer, offset + fromOffset, buffer, offset + toOffset, length);
- return this;
- }
- public Field dec(int n) {
- offset -= n;
- return this;
- }
- public byte[] get() {
- byte[] result= new byte[length];
- System.arraycopy(buffer, offset, result, 0, length);
- return result;
- }
- public byte[] get(int offset, int length) {
- byte[] result= new byte[length];
- System.arraycopy(buffer, this.offset + offset, result, 0, length);
- return result;
- }
- public Field getField(int offset, int length) {
- return new Field(buffer, this.offset + offset, length);
- }
- public int getInt1() {
- return buffer[this.offset];
- }
- public int getInt1(int offset) {
- return buffer[this.offset + offset];
- }
- public int getInt2() {
- int i= this.offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getInt2(int offset) {
- int i= this.offset + offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getInt3() {
- int i= this.offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getInt3(int offset) {
- int i= this.offset + offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getInt4() {
- int i= this.offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getInt4(int offset) {
- int i= this.offset + offset;
- int v= buffer[i++];
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getUInt1() {
- return buffer[this.offset] & 255;
- }
- public int getUInt1(int offset) {
- return buffer[this.offset + offset] & 255;
- }
- public int getUInt2() {
- int i= this.offset;
- int v= (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getUInt2(int offset) {
- int i= this.offset + offset;
- int v= (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getUInt3() {
- int i= this.offset;
- int v= (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public int getUInt3(int offset) {
- int i= this.offset + offset;
- int v= (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- v= (v << 8) | (buffer[i++] & 255);
- return v;
- }
- public char[] getUTF(int offset) throws UTFDataFormatException {
- int pos= this.offset + offset;
- int utflen= getUInt2(pos);
- pos += 2;
- char str[]= new char[utflen];
- int count= 0;
- int strlen= 0;
- while (count < utflen) {
- int c= buffer[pos++] & 0xFF;
- int char2, char3;
- switch (c >> 4) {
- case 0 :
- case 1 :
- case 2 :
- case 3 :
- case 4 :
- case 5 :
- case 6 :
- case 7 :
- // 0xxxxxxx
- count++;
- str[strlen++]= (char) c;
- break;
- case 12 :
- case 13 :
- // 110x xxxx 10xx xxxx
- count += 2;
- if (count > utflen)
- throw new UTFDataFormatException();
- char2= buffer[pos++] & 0xFF;
- if ((char2 & 0xC0) != 0x80)
- throw new UTFDataFormatException();
- str[strlen++]= (char) (((c & 0x1F) << 6) | (char2 & 0x3F));
- break;
- case 14 :
- // 1110 xxxx 10xx xxxx 10xx xxxx
- count += 3;
- if (count > utflen)
- throw new UTFDataFormatException();
- char2= buffer[pos++] & 0xFF;
- char3= buffer[pos++] & 0xFF;
- if (((char2 & 0xC0) != 0x80) || ((char3 & 0xC0) != 0x80))
- throw new UTFDataFormatException();
- str[strlen++]= (char) (((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
- break;
- default :
- // 10xx xxxx, 1111 xxxx
- throw new UTFDataFormatException();
- }
- }
- if (strlen < utflen)
- System.arraycopy(str, 0, str= new char[strlen], 0, strlen);
- return str;
- }
- public Field inc(int n) {
- offset += n;
- return this;
- }
- public int length() {
- return length;
- }
- public Field length(int length) {
- this.length= length;
- return this;
- }
- /**
- Returns the offset into the underlying byte array that this field is defined over.
- */
- public int offset() {
- return offset;
- }
- public Field offset(int offset) {
- this.offset= offset;
- return this;
- }
- public Field pointTo(int offset) {
- return new Field(buffer, this.offset + offset, 0);
- }
- public Field put(byte[] b) {
- return put(0, b);
- }
- public Field put(int offset, byte[] b) {
- System.arraycopy(b, 0, buffer, this.offset + offset, b.length);
- return this;
- }
- public Field put(int offset, Field f) {
- System.arraycopy(f.buffer, f.offset, buffer, this.offset + offset, f.length);
- return this;
- }
- public Field put(Field f) {
- System.arraycopy(f.buffer, f.offset, buffer, offset, f.length);
- return this;
- }
- public Field putInt1(int n) {
- buffer[offset]= (byte) (n);
- return this;
- }
- public Field putInt1(int offset, int n) {
- buffer[this.offset + offset]= (byte) (n);
- return this;
- }
- public Field putInt2(int n) {
- int i= offset;
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public Field putInt2(int offset, int n) {
- int i= this.offset + offset;
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public Field putInt3(int n) {
- int i= offset;
- buffer[i++]= (byte) (n >> 16);
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public Field putInt3(int offset, int n) {
- int i= this.offset + offset;
- buffer[i++]= (byte) (n >> 16);
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public Field putInt4(int n) {
- int i= offset;
- buffer[i++]= (byte) (n >> 24);
- buffer[i++]= (byte) (n >> 16);
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public Field putInt4(int offset, int n) {
- int i= this.offset + offset;
- buffer[i++]= (byte) (n >> 24);
- buffer[i++]= (byte) (n >> 16);
- buffer[i++]= (byte) (n >> 8);
- buffer[i++]= (byte) (n >> 0);
- return this;
- }
- public int putUTF(int offset, char[] str) {
- int strlen= str.length;
- int utflen= 0;
- for (int i= 0; i < strlen; i++) {
- int c= str[i];
- if ((c >= 0x0001) && (c <= 0x007F)) {
- utflen++;
- } else if (c > 0x07FF) {
- utflen += 3;
- } else {
- utflen += 2;
- }
- }
- if (utflen > 65535)
- throw new IllegalArgumentException();
- int pos= this.offset + offset;
- buffer[pos++]= (byte) ((utflen >>> 8) & 0xFF);
- buffer[pos++]= (byte) ((utflen >>> 0) & 0xFF);
- for (int i= 0; i < strlen; i++) {
- int c= str[i];
- if ((c >= 0x0001) && (c <= 0x007F)) {
- buffer[pos++]= ((byte) c);
- } else if (c > 0x07FF) {
- buffer[pos++]= ((byte) (0xE0 | ((c >> 12) & 0x0F)));
- buffer[pos++]= ((byte) (0x80 | ((c >> 6) & 0x3F)));
- buffer[pos++]= ((byte) (0x80 | ((c >> 0) & 0x3F)));
- } else {
- buffer[pos++]= ((byte) (0xC0 | ((c >> 6) & 0x1F)));
- buffer[pos++]= ((byte) (0x80 | ((c >> 0) & 0x3F)));
- }
- }
- return 2 + utflen;
- }
-}
-

Back to the top