public MappedInvocation(NRefactory.ConstructorDeclaration ctor, MethodDefinition baseCtor) {
            var parameterTypes = new List<Type>();
            var ctorType = ctor.GetActualType();

            _parameters = ctor.Parameters
                              .Select((p, i) => {
                                  return new Parameter(p.Name, p.GetActualType(), i);
                              })
                              .ToArray();

            _parameterDeclarations = ctor.Parameters.ToArray();
            _visitor.VisitConstructorDeclaration(ctor, null);
            _outParameters = new List<Parameter>();
            parameterTypes = new List<Type>();

            _parameters.ForEach((p, i) => {
                var type = p.Type;

                if (_visitor.Contains(p.Name)) {
                    if (!type.IsByRef) {
                        type = type.MakeByRefType();
                        p = new Parameter(p.Name, type, p.Location);
                    }

                    _outParameters.Add(p);
                }

                parameterTypes.Add(type);
            });

            VerifyUniqueness(ctorType, parameterTypes);
            Parameters = parameterTypes.ToArray();
        }
 public TypeExpression(NRefactory.ComposedType composedType, IScope scope, INRefcatoryExpressionVisitor visitor)
     : this(composedType, TypeDescription.Composed, scope, visitor) {
     InternalType = composedType.GetActualType();
 }
 protected internal TypeExpression(NRefactory.SimpleType simpleType, IScope scope, INRefcatoryExpressionVisitor visitor)
     : this(simpleType, TypeDescription.Simple, scope, visitor) {
     InternalType = simpleType.GetActualType();
 }
 protected internal TypeExpression(NRefactory.PrimitiveType primitiveType, IScope scope, INRefcatoryExpressionVisitor visitor)
     : this(primitiveType, TypeDescription.Primitive, scope, visitor) {
     InternalType = primitiveType.GetActualType();
 }
 protected internal TypeExpression(NRefactory.MemberType memberType, IScope scope, INRefcatoryExpressionVisitor visitor)
     : this(memberType, TypeDescription.Memeber, scope, visitor) {
     InternalType = memberType.GetActualType();
 }