Esempio n. 1
0
        public Signature(string name, AlloyFile file, SignatureAttributes attributes)
        {
            if (name == null)
                throw new ArgumentNullException("name");
            if (file == null)
                throw new ArgumentNullException("file");

            _name = name;
            _file = file;
            _attributes = attributes;
        }
Esempio n. 2
0
        public Signature(string name, AlloyFile file, SignatureAttributes attributes)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }

            _name       = name;
            _file       = file;
            _attributes = attributes;
        }
Esempio n. 3
0
        private void EmitFunctionPointerTypeSignature(FunctionPointerType type, SignatureContext context)
        {
            SignatureCallingConvention callingConvention           = (SignatureCallingConvention)(type.Signature.Flags & MethodSignatureFlags.UnmanagedCallingConventionMask);
            SignatureAttributes        callingConventionAttributes = ((type.Signature.Flags & MethodSignatureFlags.Static) != 0 ? SignatureAttributes.None : SignatureAttributes.Instance);

            EmitElementType(CorElementType.ELEMENT_TYPE_FNPTR);
            EmitUInt((uint)((byte)callingConvention | (byte)callingConventionAttributes));
            EmitUInt((uint)type.Signature.Length);

            EmitTypeSignature(type.Signature.ReturnType, context);
            for (int argIndex = 0; argIndex < type.Signature.Length; argIndex++)
            {
                EmitTypeSignature(type.Signature[argIndex], context);
            }
        }
Esempio n. 4
0
 // TOOD: add ctor to SignatureHeader
 internal static SignatureHeader SignatureHeader(SignatureKind kind, SignatureCallingConvention convention, SignatureAttributes attributes)
 {
     return(new SignatureHeader((byte)((int)kind | (int)convention | (int)attributes)));
 }
Esempio n. 5
0
 // TOOD: add ctor to SignatureHeader
 internal static SignatureHeader SignatureHeader(SignatureKind kind, SignatureCallingConvention convention, SignatureAttributes attributes)
 {
     return new SignatureHeader((byte)((int)kind | (int)convention | (int)attributes));
 }
Esempio n. 6
0
 public SignatureHeader(SignatureKind kind, SignatureCallingConvention convention, SignatureAttributes attributes)
     : this((byte)((int)kind | (int)convention | (int)attributes))
 {
 }