Esempio n. 1
0
        public SyntaxTree Read(Delegate @delegate)
        {
            Contract.Assert(@delegate?.Method?.DeclaringType != null);

            var asm = @delegate.Method.DeclaringType.Assembly;

            _assemblyProvider.Prepare(asm);
            var decompiler = new CSharpDecompiler(asm.Location, _assemblyProvider, new DecompilerSettings()
            {
                ExtensionMethods = false,
                NamedArguments   = false
            });
            var token  = @delegate.Method.MetadataToken;
            var method = MetadataTokenHelpers.TryAsEntityHandle(token);
            var ast    = decompiler.Decompile(new List <EntityHandle>()
            {
                method.Value
            });

            return(ast);
        }