Пример #1
0
 public VirtualisedMethod(VMFunction function, uint exportId, VMExportInfo exportInfo)
 {
     Function   = function;
     ExportId   = exportId;
     ExportInfo = exportInfo;
 }
Пример #2
0
        public IFrameLayout DetectFrameLayout(VMConstants constants, MetadataImage image, VMExportInfo export)
        {
            var parameterTypes = new List <TypeSignature>();

            foreach (var token in export.Signature.ParameterTokens)
            {
                parameterTypes.Add(((ITypeDefOrRef)image.ResolveMember(token))
                                   .ToTypeSignature());
            }

            var returnType = ((ITypeDefOrRef)image.ResolveMember(export.Signature.ReturnToken))
                             .ToTypeSignature();

            bool hasThis = (export.Signature.Flags & constants.FlagInstance) != 0;

            return(new DefaultFrameLayout(
                       image,
                       parameterTypes,
                       Array.Empty <TypeSignature>(),
                       returnType,
                       hasThis));
        }
Пример #3
0
 public override bool Contains(uint exportId, VMExportInfo exportInfo)
 {
     return(IncludedExports.Contains(exportId));
 }
Пример #4
0
 public abstract bool Contains(uint exportId, VMExportInfo exportInfo);
Пример #5
0
 public override bool Contains(uint exportId, VMExportInfo exportInfo) => true;