001    package org.jetbrains.jet.lang.descriptors.annotations;
002    
003    import org.jetbrains.annotations.NotNull;
004    import org.jetbrains.annotations.Nullable;
005    import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
006    import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
007    import org.jetbrains.jet.lang.types.JetType;
008    
009    import java.util.Map;
010    
011    public interface AnnotationDescriptor {
012        @NotNull
013        JetType getType();
014    
015        @Nullable
016        CompileTimeConstant<?> getValueArgument(@NotNull ValueParameterDescriptor valueParameterDescriptor);
017    
018        @NotNull
019        Map<ValueParameterDescriptor, CompileTimeConstant<?>> getAllValueArguments();
020    }