package toothpick.smoothie.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import javax.inject.Scope;

import static java.lang.annotation.RetentionPolicy.CLASS;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * Identifies a type that the injector only instantiates once
 * per context. This scope annotation has to be bound to
 * service &amp; activity scopes. Not inherited.
 *
 * @see javax.inject.Scope @Scope
 */
@Scope
@Documented
@Retention(RUNTIME)
public @interface ContextSingleton {
}

@@ -442,38 +442,486 @@
 %0A * 
-@see javax.inject.Scope @Scope
+Note that this annotation is just provided to ease the migration%0A * from RG to TP. We highly recommend not keeping it after the migration%0A * is complete and to clearly identify what you inject: either the application context%0A * or an activity (or a service). Using this scope annotation and injection contexts blindly%0A * is a perfect recipe for memory leaks.%0A *%0A * @see javax.inject.Scope @Scope%0A * Deprecated, do not inject contexts blindly, this is a bad practice. Read above.
 %0A */
@@ -960,16 +960,28 @@
 UNTIME)%0A
+@Deprecated%0A
 public @

address daniel's comment