001    package org.bridj.ann;
002    
003    import java.lang.annotation.ElementType;
004    import java.lang.annotation.Retention;
005    import java.lang.annotation.RetentionPolicy;
006    import java.lang.annotation.Target;
007    
008    /**
009     * Specify the real non-obfuscated name of a field / method (useful when the name is a Java keyword but not a C one, e.g. to bind a C function named 'transient')
010     * @author Olivier Chafik
011     */
012    @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
013    @Retention(RetentionPolicy.RUNTIME)
014    public @interface Name {
015        String value();
016    }