public static bool MultipleAccessesExist(Expression sourceValue, Expression mapping) { var finder = new SourceAccessCounter(sourceValue); finder.Visit(mapping); return(finder.HasMultipleAccesses); }
private static bool ShouldUseLocalSourceValueVariable( Expression sourceValue, Expression mapping, IBasicMapperData mapperData) { return((sourceValue.NodeType != ExpressionType.Parameter) && !mapperData.RuleSet.Settings.UseMemberInitialisation && SourceAccessCounter.MultipleAccessesExist(sourceValue, mapping)); }