Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2005, 2011 BEA Systems, Inc. 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: tyeung@bea.com - initial API and implementation IBM Corporation - implemented methods from IBinding IBM Corporation - renamed from ResolvedMemberValuePair to MemberValuePairBinding jgarms@bea.com - Fix for IllegalStateException IBM Corporation - Fix for 223225 /
 
 package org.eclipse.jdt.core.dom;
 
Internal class.
 
 	static final MemberValuePairBinding[] NoPair = new MemberValuePairBinding[0];
 	private static final Object NoValue = new Object();
 	private static final Object[] EmptyArray = new Object[0];
 
 	protected Object value = null;
 
 	static void appendValue(Object valueStringBuffer buffer) {
 		if (value instanceof Object[]) {
 			Object[] values = (Object[]) value;
 			buffer.append('{');
 			for (int i = 0, l = values.lengthi < li++) {
 				if (i != 0)
 					buffer.append(", "); //$NON-NLS-1$
 				appendValue(values[i], buffer);
 			}
 			buffer.append('}');
 		} else if (value instanceof ITypeBinding) {
 			buffer.append(((ITypeBindingvalue).getName());
 			buffer.append(".class"); //$NON-NLS-1$
 		} else {
 			buffer.append(value);
 		}
 	}
 
 	static Object buildDOMValue(final Object internalObjectBindingResolver resolver) {
 		if (internalObject == null)
 			return null;
 
 		if (internalObject instanceof Constant) {
 			Constant constant = (ConstantinternalObject;
 			switch (constant.typeID()) {
 					return Boolean.valueOf(constant.booleanValue());
 				case .:
 					return new Byte(constant.byteValue());
 				case .:
 					return new Character(constant.charValue());
 					return new Double(constant.doubleValue());
 				case .:
 					return new Float(constant.floatValue());
 				case .:
 					return new Integer(constant.intValue());
 				case .:
 					return new Long(constant.longValue());
 				case .:
 					return new Short(constant.shortValue());
 				default:
 					// TypeIds.T_JavaLangString:
 					return constant.stringValue();
 			}
 		} else if (internalObject instanceof org.eclipse.jdt.internal.compiler.lookup.TypeBinding) {
 			return resolver.getTypeBinding((org.eclipse.jdt.internal.compiler.lookup.TypeBindinginternalObject);
 		} else if (internalObject instanceof org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding) {
 		} else if (internalObject instanceof org.eclipse.jdt.internal.compiler.lookup.FieldBinding) {
 			return resolver.getVariableBinding((org.eclipse.jdt.internal.compiler.lookup.FieldBindinginternalObject);
 		} else if (internalObject instanceof Object[]) {
 			Object[] elements = (Object[]) internalObject;
 			int length = elements.length;
 			Object[] values = length == 0 ?  : new Object[length];
 			for (int i = 0; i < lengthi++)
 				values[i] = buildDOMValue(elements[i], resolver);
 			return values;
 		}
 		return null;
 	}
 
 		this. = pair;
 		this. = resolver;
	}
	}
		return null;
	}
	public String getKey() {
		// TODO when implementing, update spec in IBinding
		return null;
	}
	public int getKind() {
	}
	}
	public int getModifiers() {
		return .;
	}
	public String getName() {
		if (this. == null)
			return null;
		final char[] membername = this..getName();
		return membername == null ? null : new String(membername);
	}
	public Object getValue() {
		if (this. == null)
		return this. ==  ? null : this.;
	}
	private void init() {
		if (this. == null)
			this. = ;
		IMethodBinding methodBinding = getMethodBinding();
		if (methodBinding.getReturnType().isArray() && !this..getClass().isArray()) {
			this. = new Object[] { this. }; 
		}
	}
	char[] internalName() {
		return this. == null ? null : this..getName();
	}
	public boolean isDefault() {
		Object value2 = getValue();
		if (value2 instanceof IBinding) {
			if (defaultValue instanceof IBinding) {
				return ((IBindingvalue2).isEqualTo((IBindingdefaultValue);
			}
			return false;
		}
		if (defaultValue == nullreturn false;
		return defaultValue.equals(value2);
	}
	public boolean isDeprecated() {
		MethodBinding methodBinding = this..getMethodBinding();
		return methodBinding == null ? false : methodBinding.isDeprecated();
	}
	public boolean isEqualTo(IBinding binding) {
		if (this == binding)
			return true;
		if (binding.getKind() != .)
			return false;
		IMemberValuePairBinding otherMemberValuePairBinding = (IMemberValuePairBindingbinding;
		if (!getMethodBinding().isEqualTo(otherMemberValuePairBinding.getMethodBinding())) {
			return false;
		}
		Object otherValue = otherMemberValuePairBinding.getValue();
		Object currentValue = getValue();
		if (currentValue == null) {
			return otherValue == null;
		}
		if (currentValue instanceof IBinding) {
			if (otherValue instanceof IBinding) {
				return ((IBindingcurrentValue).isEqualTo((IBindingotherValue);
			}
			return false;
		}
		if (currentValue.getClass().isArray()) {
			if (!otherValue.getClass().isArray()) {
				return false;
			}
			Object[] currentValues = (Object[]) currentValue;
			Object[] otherValues = (Object[]) otherValue;
			final int length = currentValues.length;
			if (length != otherValues.length) {
				return false;
			}
			for (int i = 0; i < lengthi++) {
				Object current = currentValues[i];
				Object other = otherValues[i];
				if (current instanceof IBinding) {
					if (!(other instanceof IBinding)) {
						return false;
					}
					if (!((IBindingcurrent).isEqualTo((IBindingother)) {
						return false;
					}
else if (!current.equals(other)) {
					return false;
				}
			}
			return true;
else {
			return currentValue.equals(otherValue);
		}
	}
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.jdt.core.dom.IBinding#isRecovered()
	 */
	public boolean isRecovered() {
		return false;
	}
	public boolean isSynthetic() {
		return false;
	}
	public String toString() {
		StringBuffer buffer = new StringBuffer();
		buffer.append(getName());
		buffer.append(" = "); //$NON-NLS-1$
		appendValue(getValue(), buffer);
		return buffer.toString();
	}
New to GrepCode? Check out our FAQ X