Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation /
 
 package org.eclipse.jdt.internal.core;
 
 
 public final class TypeVector {
 	static int INITIAL_SIZE = 10;
 
 	public int size;
 	int maxSize;
 
 	public final static IType[] NoElements = new IType[0];
 
 public TypeVector() {
 	this. = ;
 	this. = 0;
 	this. = new IType[this.];
 }
 public TypeVector(IType[] types) {
 	this. = types.length;
 	this. = this. + 1; // when an element is added, it assumes that the length is > 0
 	this. = new IType[this.];
 	System.arraycopy(types, 0, this., 0, this.);
 }
 public TypeVector(IType type) {
 	this. = ;
 	this. = 1;
 	this. = new IType[this.];
 	this.[0] = type;
 }
 public void add(IType newElement) {
 	if (this. == this.)	// knows that size starts <= maxSize
 		System.arraycopy(this., 0, (this. = new IType[this. *= 2]), 0, this.);
 	this.[this.++] = newElement;
 }
 public void addAll(IType[] newElements) {
 	if (this. + newElements.length >= this.) {
 		this. = this. + newElements.length;	// assume no more elements will be added
 		System.arraycopy(this., 0, (this. = new IType[this.]), 0, this.);
 	}
 	System.arraycopy(newElements, 0, this.this.newElements.length);
 	this. += newElements.length;
 }
 public boolean contains(IType element) {
 	for (int i = this.; --i >= 0;)
 		if (element.equals(this.[i]))
 			return true;
 	return false;
 }
 public TypeVector copy() {
 	TypeVector clone = new TypeVector();
 	int length = this..length;
 	System.arraycopy(this., 0, clone.elements = new IType[length], 0, length);
 	clone.size = this.;
 	clone.maxSize = this.;
 	return clone;
 }
 public IType elementAt(int index) {
 	return this.[index];
 }
 public IType[] elements() {
 
 	// do not resize to 0 if empty since may add more elements later
 	if (this. == 0) return ;
 
 	if (this. < this.) {
 		this. = this.;
 		System.arraycopy(this., 0, (this. = new IType[this.]), 0, this.);
 	}
 	return this.;
 }
 public IType find(IType element) {
 	for (int i = this.; --i >= 0;)
 		if (element == this.[i])
 			return this.[i];
 	return null;
 }
 public IType remove(IType element) {
 	// assumes only one occurrence of the element exists
 	for (int i = this.; --i >= 0;)
 		if (element == this.[i]) {
 			// shift the remaining elements down one spot
 			System.arraycopy(this.i + 1, this.i, --this. - i);
 			this.[this.] = null;
 			return element;
 		}
 	return null;
 }
 public void removeAll() {
	for (int i = this.; --i >= 0;)
		this.[i] = null;
	this. = 0;
public String toString() {
	StringBuffer buffer = new StringBuffer("["); //$NON-NLS-1$
	for (int i = 0; i < this.i++) {
		buffer.append("\n"); //$NON-NLS-1$
		buffer.append(this.[i]);
	}
	buffer.append("\n]"); //$NON-NLS-1$
	return buffer.toString();
New to GrepCode? Check out our FAQ X