From ba56ede476ffed8ddfd4d832e93fdd4b3ab7ace4 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 10 Nov 2017 15:36:53 +0300 Subject: [PATCH] platform: add DynamicallyLoaded annotation (IDEA-181981) --- .../intellij/ide/plugins/DynamicallyLoaded.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 platform/core-api/src/com/intellij/ide/plugins/DynamicallyLoaded.java diff --git a/platform/core-api/src/com/intellij/ide/plugins/DynamicallyLoaded.java b/platform/core-api/src/com/intellij/ide/plugins/DynamicallyLoaded.java new file mode 100644 index 000000000000..360dba8b3238 --- /dev/null +++ b/platform/core-api/src/com/intellij/ide/plugins/DynamicallyLoaded.java @@ -0,0 +1,17 @@ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.ide.plugins; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +/** + * Indicates classes/interfaces which are packaged into the plugin's JAR files but aren't statically referenced from main plugin classes. + * Such classes may be loaded either by custom classloaders or by the standard plugin classloader but only if some conditions are met + * (e.g. the plugin is running under a specific version of the IDE). Classes marked with this annotation will be excluded from bytecode + * verification procedures because they may contain references to classes which aren't available in the plugin's code and libraries. + * + * @author nik + */ +@Target(ElementType.TYPE) +public @interface DynamicallyLoaded { +}