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 raw native shared symbol for a function / method, including the mangling (C++, __stdcall...).<br>
010     * If you just need to change the name but don't know the exact mangled symbol, use {@link Name} instead.
011     * @author Olivier Chafik
012     */
013    @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
014    @Retention(RetentionPolicy.RUNTIME)
015    public @interface Symbol {
016        String[] value();
017    }