blob: 9a90b3357b6a7f2493c5aa6b93d3fba20c3fd011 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 Vladimir Piskarev 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:
* Vladimir Piskarev - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.compiler.apt.model;
import org.eclipse.jdt.internal.compiler.apt.dispatch.BaseProcessingEnvImpl;
import org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding;
import org.eclipse.jdt.internal.compiler.lookup.ElementValuePair;
import org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
public class AnnotationMemberValue extends AnnotationValueImpl {
private final MethodBinding _methodBinding;
/**
* @param value
* The JDT representation of a compile-time constant. See
* {@link ElementValuePair#getValue()} for possible object types:
* <ul>
* <li>{@link org.eclipse.jdt.internal.compiler.impl.Constant} for member
* of primitive type or String</li>
* <li>{@link TypeBinding} for a member value of type
* {@link java.lang.Class}</li>
* <li>{@link FieldBinding} for an enum constant</li>
* <li>{@link AnnotationBinding} for an annotation instance</li>
* <li><code>Object[]</code> for a member value of array type, where the
* array entries are one of the above</li>
* </ul>
* @param methodBinding the method binding that defined this member value pair
*/
public AnnotationMemberValue(BaseProcessingEnvImpl env, Object value, MethodBinding methodBinding) {
super(env, value, methodBinding.returnType);
_methodBinding = methodBinding;
}
/**
* @return the method binding that defined this member value pair.
*/
public MethodBinding getMethodBinding() {
return _methodBinding;
}
}