#if NET20 || NET30 || NET35 || !NET_4_6
namespace System.Threading.Tasks
{
///
/// Task creation flags which are only used internally.
///
[Flags]
[Serializable]
internal enum InternalTaskOptions
{
/// Specifies "No internal task options"
None,
/// Used to filter out internal vs. public task creation options.
InternalOptionsMask = 0x0000FF00,
ChildReplica = 0x0100,
ContinuationTask = 0x0200,
PromiseTask = 0x0400,
SelfReplicating = 0x0800,
///
/// Store the presence of TaskContinuationOptions.LazyCancellation, since it does not directly
/// translate into any TaskCreationOptions.
///
LazyCancellation = 0x1000,
/// Specifies that the task will be queued by the runtime before handing it over to the user.
/// This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.
QueuedByRuntime = 0x2000,
///
/// Denotes that Dispose should be a complete nop for a Task. Used when constructing tasks that are meant to be cached/reused.
///
DoNotDispose = 0x4000
}
}
#endif