protected internal Invocation(NRefactory.InvocationExpression invocationExpression, IScope scope, INRefcatoryExpressionVisitor visitor) : base(scope, visitor) { var methodReference = invocationExpression.Annotation<Mono.Cecil.MethodReference>(); _invocationExpression = invocationExpression; if (methodReference != null) { MethodInfo methodInfo = null; Member = methodInfo = methodReference.GetActualMethod<MethodInfo>(); if (IsInitializeArray(methodInfo)) { var first = _invocationExpression.Arguments.First().AcceptVisitor(Visitor, ParentScope); var invocation = _invocationExpression.Arguments.Last() as NRefactory.InvocationExpression; var second = invocation.Arguments.First(); var memberReference = invocationExpression.Target as NRefactory.MemberReferenceExpression; var target = memberReference.Target as NRefactory.TypeReferenceExpression; var type = target.Type.GetActualType(); var parameters = methodReference.Parameters; return; } } BuildInvocation(); }
protected internal AnonymousType(NRefactory.AnonymousTypeCreateExpression anonymousTypeCreateExpression, IScope scope, INRefcatoryExpressionVisitor visitor) : base(scope, visitor) { var typeInformation = anonymousTypeCreateExpression.Annotation<TypeInformation>(); _anonymousTypeCreateExpression = anonymousTypeCreateExpression; _initializers = _anonymousTypeCreateExpression.Initializers.Select(i => i.AcceptVisitor(Visitor, ParentScope)); InternalType = typeInformation.InferredType.GetActualType(); }