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(); }