OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.base.annotations; | 5 package org.chromium.base.annotations; |
6 | 6 |
7 import java.lang.annotation.ElementType; | 7 import java.lang.annotation.ElementType; |
8 import java.lang.annotation.Retention; | 8 import java.lang.annotation.Retention; |
9 import java.lang.annotation.RetentionPolicy; | 9 import java.lang.annotation.RetentionPolicy; |
10 import java.lang.annotation.Target; | 10 import java.lang.annotation.Target; |
11 | 11 |
12 /** | 12 /** |
13 * @AccessedByNative is used to ensure proguard will keep this field, since it'
s | 13 * An annotation that signals that a class should be kept in the main dex file. |
14 * only accessed by native. | 14 * |
| 15 * This generally means it's used by renderer processes, which can't load second
ary dexes |
| 16 * on K and below. |
15 */ | 17 */ |
16 @Target(ElementType.FIELD) | 18 @Target(ElementType.TYPE) |
17 @Retention(RetentionPolicy.CLASS) | 19 @Retention(RetentionPolicy.CLASS) |
18 public @interface AccessedByNative { | 20 public @interface MainDex {} |
19 public String value() default ""; | |
20 } | |
OLD | NEW |