public AnonymousTypeNewingTranslation(NewExpression newing, ITranslationContext context) : base(newing, context) { Type = newing.Type; _typeName = context.Settings.AnonymousTypeNameFactory?.Invoke(Type) ?? string.Empty; var ctorParameters = newing.Constructor.GetParameters(); var ctorParameterCount = ctorParameters.Length; var initializers = new ITranslation[ctorParameterCount]; var translationSize = _typeName.Length + "new ".Length; for (var i = 0; ;) { initializers[i] = new AnonymousTypeInitializerTranslation( ctorParameters[i], Parameters[i]); ++i; if (i == ctorParameterCount) { break; } } _initializers = new AnonymousTypeInitializerTranslationSet(initializers, context); TranslationSize = translationSize + _initializers.TranslationSize; FormattingSize = context.GetKeywordFormattingSize() + // <- For 'new' _initializers.FormattingSize; }
public BindingsTranslation( IInitializerSetTranslation parent, string subjectName, IInitializerSetTranslation initializerSetTranslation) { _parent = parent; _subjectName = subjectName; _initializerSetTranslation = initializerSetTranslation; TranslationSize = subjectName.Length + 2 + initializerSetTranslation.TranslationSize; }
protected InitialisationTranslationBase( ExpressionType initType, ITranslation newingTranslation, IInitializerSetTranslation initializerTranslations) { NodeType = initType; _newingTranslation = newingTranslation; _initializerTranslations = initializerTranslations; TranslationSize = newingTranslation.TranslationSize + initializerTranslations.TranslationSize; FormattingSize = newingTranslation.FormattingSize + initializerTranslations.FormattingSize; }
protected InitialisationTranslationBase( ExpressionType initType, NewExpression newing, IInitializerSetTranslation initializerTranslations, ITranslationContext context) : this( initType, NewingTranslation.For(newing, context, omitParenthesesIfParameterless : initializerTranslations.Count != 0), initializerTranslations) { }