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.annotations.ReadOnly;
006    import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
007    import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
008    import org.jetbrains.jet.lang.types.JetType;
009    
010    import java.util.Map;
011    
012    public interface AnnotationDescriptor {
013        @NotNull
014        JetType getType();
015    
016        @Nullable
017        CompileTimeConstant<?> getValueArgument(@NotNull ValueParameterDescriptor valueParameterDescriptor);
018    
019        @NotNull
020        @ReadOnly
021        Map<ValueParameterDescriptor, CompileTimeConstant<?>> getAllValueArguments();
022    }