Beispiel #1
0
        public MethodRef SelfMethodReference(TypeConstructorEnvironment tyconEnv)
        {
            var typeRef = tyconEnv.Type.SelfReference(tyconEnv);
            var methodBoundArguments = default(Seq <TypeRef>);

            if (TypeArity > 0)
            {
                methodBoundArguments = new Seq <TypeRef>(Arity);
                for (var i = 0; i < Arity; i++)
                {
                    methodBoundArguments.Add(new ParameterTypeRef(ParameterFlavor.Method, i));
                }
            }
            return(PrimMethodReference(tyconEnv.Global, tyconEnv.Assembly, tyconEnv.Type, typeRef.Arguments, methodBoundArguments));
        }
Beispiel #2
0
 public MemberRef SelfReference(TypeConstructorEnvironment tyconEnv)
 {
     var typeRef = tyconEnv.Type.SelfReference(tyconEnv);
     return PrimReference(tyconEnv.Global, tyconEnv.Assembly, tyconEnv.Type, typeRef.Arguments);
 }
Beispiel #3
0
 public MethodRef SelfMethodReference(TypeConstructorEnvironment tyconEnv)
 {
     var typeRef = tyconEnv.Type.SelfReference(tyconEnv);
     var methodBoundArguments = default(Seq<TypeRef>);
     if (TypeArity > 0)
     {
         methodBoundArguments = new Seq<TypeRef>(Arity);
         for (var i = 0; i < Arity; i++)
             methodBoundArguments.Add(new ParameterTypeRef(ParameterFlavor.Method, i));
     }
     return PrimMethodReference(tyconEnv.Global, tyconEnv.Assembly, tyconEnv.Type, typeRef.Arguments, methodBoundArguments);
 }
Beispiel #4
0
        public MemberRef SelfReference(TypeConstructorEnvironment tyconEnv)
        {
            var typeRef = tyconEnv.Type.SelfReference(tyconEnv);

            return(PrimReference(tyconEnv.Global, tyconEnv.Assembly, tyconEnv.Type, typeRef.Arguments));
        }