package com.redhat.ceylon.compiler.java.codegen;
import com.redhat.ceylon.model.loader.NamingBase.Prefix;
import com.redhat.ceylon.model.typechecker.model.Parameter;
/**
* A parameter to an annotation constructor,
* recording information about its default argument.
*
*/
public class AnnotationConstructorParameter implements AnnotationFieldName {
private Parameter parameter;
private AnnotationTerm defaultArgument;
public AnnotationConstructorParameter() {}
/**
* The corresponding parameter of the annotation constructor {@code Function}
* @return
*/
public Parameter getParameter() {
return parameter;
}
public void setParameter(Parameter parameter) {
this.parameter = parameter;
}
public AnnotationTerm getDefaultArgument() {
return defaultArgument;
}
public void setDefaultArgument(AnnotationTerm defaultArgument) {
this.defaultArgument = defaultArgument;
}
@Override
public String toString() {
return parameter.getName() + (defaultArgument != null ? "=" + defaultArgument : "");
}
@Override
public String getFieldName() {
return parameter.getName();
}
@Override
public Prefix getFieldNamePrefix() {
return Prefix.$default$;
}
@Override
public Parameter getAnnotationField() {
return getParameter();
}
}