internal void Bake()
        {
            if (patchCallingConvention)
            {
                sig.HasThis = !this.IsStatic;
            }

            PropertyTable.Record rec = new PropertyTable.Record();
            rec.Flags = (short)attributes;
            rec.Name  = typeBuilder.ModuleBuilder.Strings.Add(name);
            rec.Type  = typeBuilder.ModuleBuilder.GetSignatureBlobIndex(sig);
            int token = 0x17000000 | typeBuilder.ModuleBuilder.Property.AddRecord(rec);

            if (lazyPseudoToken == 0)
            {
                lazyPseudoToken = token;
            }
            else
            {
                typeBuilder.ModuleBuilder.RegisterTokenFixup(lazyPseudoToken, token);
            }

            foreach (Accessor acc in accessors)
            {
                AddMethodSemantics(acc.Semantics, acc.Method.MetadataToken, token);
            }
        }
Example #2
0
        internal void Bake()
        {
            PropertyTable.Record rec = new PropertyTable.Record();
            rec.Flags = (short)attributes;
            rec.Name  = typeBuilder.ModuleBuilder.Strings.Add(name);
            rec.Type  = typeBuilder.ModuleBuilder.GetSignatureBlobIndex(sig);
            int token = 0x17000000 | typeBuilder.ModuleBuilder.Property.AddRecord(rec);

            if (lazyPseudoToken != 0)
            {
                typeBuilder.ModuleBuilder.RegisterTokenFixup(lazyPseudoToken, token);
            }

            if (getter != null)
            {
                AddMethodSemantics(MethodSemanticsTable.Getter, getter.MetadataToken, token);
            }
            if (setter != null)
            {
                AddMethodSemantics(MethodSemanticsTable.Setter, setter.MetadataToken, token);
            }
            if (otherMethods != null)
            {
                foreach (MethodBuilder method in otherMethods)
                {
                    AddMethodSemantics(MethodSemanticsTable.Other, method.MetadataToken, token);
                }
            }
        }
Example #3
0
		internal void Bake()
		{
			if (patchCallingConvention)
			{
				sig.HasThis = !this.IsStatic;
			}

			PropertyTable.Record rec = new PropertyTable.Record();
			rec.Flags = (short)attributes;
			rec.Name = typeBuilder.ModuleBuilder.Strings.Add(name);
			rec.Type = typeBuilder.ModuleBuilder.GetSignatureBlobIndex(sig);
			int token = 0x17000000 | typeBuilder.ModuleBuilder.Property.AddRecord(rec);

			if (lazyPseudoToken != 0)
			{
				typeBuilder.ModuleBuilder.RegisterTokenFixup(lazyPseudoToken, token);
			}

			foreach (Accessor acc in accessors)
			{
				AddMethodSemantics(acc.Semantics, acc.Method.MetadataToken, token);
			}
		}
Example #4
0
		internal void Bake()
		{
			PropertyTable.Record rec = new PropertyTable.Record();
			rec.Flags = (short)attributes;
			rec.Name = typeBuilder.ModuleBuilder.Strings.Add(name);
			rec.Type = typeBuilder.ModuleBuilder.GetSignatureBlobIndex(sig);
			int token = 0x17000000 | typeBuilder.ModuleBuilder.Property.AddRecord(rec);

			if (lazyPseudoToken != 0)
			{
				typeBuilder.ModuleBuilder.RegisterTokenFixup(lazyPseudoToken, token);
			}

			if (getter != null)
			{
				AddMethodSemantics(MethodSemanticsTable.Getter, getter.MetadataToken, token);
			}
			if (setter != null)
			{
				AddMethodSemantics(MethodSemanticsTable.Setter, setter.MetadataToken, token);
			}
			if (otherMethods != null)
			{
				foreach (MethodBuilder method in otherMethods)
				{
					AddMethodSemantics(MethodSemanticsTable.Other, method.MetadataToken, token);
				}
			}
		}