package foo.bar.goo

import foo

public protected private internal
abstract
open
enum
open
annotation
override
open
abstract
private
protected
public
internal
in
out
ref
 class Bar<abstract, abstract enum : T, out open,
    public protected private internal abstract
    open
    enum
    open
    annotation
    override
    open
    abstract
    private
    protected
    public
    internal open
 > (a : B) : A by b {
    public protected private internal val abstract
    val open
    val enum
    val open
    val annotation
    val override
    val open
    val abstract
    val private
    val protected
    val public
    val internal
    val lazy
    val wraps
    val import
    val where
    val by
    val get
    val set
    val public
    val private
    val protected
    val internal
      get() = a
      set(S : s) {}


    public protected private internal
    fun abstract  () : abstract
    fun open   () : open
    fun enum      () : enum
    fun open      () : open
    fun annotation () : annotation
    fun override  () : override
    fun open   () : open
    fun abstract  () : abstract
    fun private   () : private
    fun protected () : protected
    fun public    () : public
    fun internal  () : internal
    fun lazy      () : lazy
    fun wraps     () : wraps
    fun import    () : import
    fun where     () : where
    fun by        () : by
    fun get       () : get
    fun set       () : set
    fun public    () : public
    fun private   () : private
    fun protected () : protected
    fun internal  () : internal

    fun test(
        abstract  : t,
        open   : t,
        enum      : t,
        open      : t,
        annotation : t,
        override  : t,
        open   : t,
        abstract  : t,
        private   : t,
        protected : t,
        public    : t,
        internal  : t,
        lazy      : t,
        wraps     : t,
        import    : t,
        where     : t,
        by        : t,
        get       : t,
        set       : t,
        public    : t,
        private   : t,
        protected : t,
        internal  : t,
    public protected private internal abstract
    open
    enum
    open
    annotation
    override
    open
    abstract
    private
    protected
    public
    internal open : t

     )

}


class F(val foo : bar,
        abstract  : t,
        open   : t,
        enum      : t,
        open      : t,
        annotation : t,
        override  : t,
        open   : t,
        abstract  : t,
        private   : t,
        protected : t,
        public    : t,
        internal  : t,
        lazy      : t,
        wraps     : t,
        import    : t,
        where     : t,
        by        : t,
        get       : t,
        set       : t,
        public    : t,
        private   : t,
        protected : t,
        internal  : t,
    public protected private internal abstract
    open
    enum
    open
    annotation
    override
    open
    abstract
    private
    protected
    public
    internal open : b
) {

}
