morrisjdev/FileContextCore

View on GitHub
FileContextCore/Query/Internal/FileContextQueryExpression.cs

Summary

Maintainability
A
0 mins
Test Coverage

File FileContextQueryExpression.cs has 850 lines of code (exceeds 250 allowed). Consider refactoring.
Wontfix

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
Severity: Major
Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 2 days to fix

    Method AddNavigationToWeakEntityType has 120 lines of code (exceeds 25 allowed). Consider refactoring.
    Wontfix

            public virtual EntityShaperExpression AddNavigationToWeakEntityType(
                EntityProjectionExpression entityProjectionExpression,
                INavigation navigation,
                FileContextQueryExpression innerQueryExpression,
                LambdaExpression outerKeySelector,
    Severity: Major
    Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 4 hrs to fix

      Method AddLeftJoin has 113 lines of code (exceeds 25 allowed). Consider refactoring.
      Wontfix

              public virtual void AddLeftJoin(
                  FileContextQueryExpression innerQueryExpression,
                  LambdaExpression outerKeySelector,
                  LambdaExpression innerKeySelector,
                  Type transparentIdentifierType)
      Severity: Major
      Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 4 hrs to fix

        Method AddSelectMany has 84 lines of code (exceeds 25 allowed). Consider refactoring.
        Wontfix

                public virtual void AddSelectMany(FileContextQueryExpression innerQueryExpression, Type transparentIdentifierType, bool innerNullable)
                {
                    var outerParameter = Parameter(typeof(ValueBuffer), "outer");
                    var innerParameter = Parameter(typeof(ValueBuffer), "inner");
                    var resultValueBufferExpressions = new List<Expression>();
        Severity: Major
        Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 3 hrs to fix

          Method AddInnerJoin has 76 lines of code (exceeds 25 allowed). Consider refactoring.
          Wontfix

                  public virtual void AddInnerJoin(
                      FileContextQueryExpression innerQueryExpression,
                      LambdaExpression outerKeySelector,
                      LambdaExpression innerKeySelector,
                      Type transparentIdentifierType)
          Severity: Major
          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 3 hrs to fix

            Class FileContextQueryExpression has 21 methods (exceeds 20 allowed). Consider refactoring.
            Wontfix

                public partial class FileContextQueryExpression : Expression, IPrintableExpression
                {
                    private static readonly ConstructorInfo _valueBufferConstructor
                        = typeof(ValueBuffer).GetConstructors().Single(ci => ci.GetParameters().Length == 1);
                    private static readonly PropertyInfo _valueBufferCountMemberInfo
            Severity: Minor
            Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 2 hrs to fix

              Method PushdownIntoSubquery has 53 lines of code (exceeds 25 allowed). Consider refactoring.
              Wontfix

                      public virtual void PushdownIntoSubquery()
                      {
                          var clientProjection = _valueBufferSlots.Count != 0;
                          if (!clientProjection)
                          {
              Severity: Major
              Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 2 hrs to fix

                Method ApplyDefaultIfEmpty has 46 lines of code (exceeds 25 allowed). Consider refactoring.
                Wontfix

                        public virtual void ApplyDefaultIfEmpty()
                        {
                            if (_valueBufferSlots.Count != 0)
                            {
                                throw new InvalidOperationException("Cannot apply DefaultIfEmpty after a client-evaluated projection.");
                Severity: Minor
                Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 1 hr to fix

                  Method GetGroupingKey has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                  Wontfix

                          private Expression GetGroupingKey(Expression key, List<Expression> groupingExpressions, Expression groupingKeyAccessExpression)
                          {
                              switch (key)
                              {
                                  case NewExpression newExpression:
                  Severity: Minor
                  Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 1 hr to fix

                    Method ApplyProjection has 36 lines of code (exceeds 25 allowed). Consider refactoring.
                    Wontfix

                            public virtual void ApplyProjection()
                            {
                                if (_valueBufferSlots.Count == 0)
                                {
                                    var result = new Dictionary<ProjectionMember, Expression>();
                    Severity: Minor
                    Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 1 hr to fix

                      Method ApplyGrouping has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                      Wontfix

                              public virtual FileContextGroupByShaperExpression ApplyGrouping(Expression groupingKey, Expression shaperExpression)
                              {
                                  PushdownIntoSubquery();
                      
                                  var selectMethod = (MethodCallExpression)ServerQueryExpression;
                      Severity: Minor
                      Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 1 hr to fix

                        Method AddNavigationToWeakEntityType has 5 arguments (exceeds 4 allowed). Consider refactoring.
                        Wontfix

                                    EntityProjectionExpression entityProjectionExpression,
                                    INavigation navigation,
                                    FileContextQueryExpression innerQueryExpression,
                                    LambdaExpression outerKeySelector,
                                    LambdaExpression innerKeySelector)
                        Severity: Minor
                        Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 35 mins to fix

                          Method AddSelectMany has a Cognitive Complexity of 21 (exceeds 20 allowed). Consider refactoring.
                          Wontfix

                                  public virtual void AddSelectMany(FileContextQueryExpression innerQueryExpression, Type transparentIdentifierType, bool innerNullable)
                                  {
                                      var outerParameter = Parameter(typeof(ValueBuffer), "outer");
                                      var innerParameter = Parameter(typeof(ValueBuffer), "inner");
                                      var resultValueBufferExpressions = new List<Expression>();
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs - About 25 mins to fix

                          Cognitive Complexity

                          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                          A method's cognitive complexity is based on a few simple rules:

                          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                          • Code is considered more complex for each "break in the linear flow of the code"
                          • Code is considered more complex when "flow breaking structures are nested"

                          Further reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      foreach (var projection in _projectionMapping)
                                      {
                                          if (projection.Value is EntityProjectionExpression entityProjection)
                                          {
                                              var readExpressionMap = new Dictionary<IProperty, Expression>();
                          Severity: Major
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 3 hrs to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 686..706

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 254.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      foreach (var projection in _projectionMapping)
                                      {
                                          if (projection.Value is EntityProjectionExpression entityProjection)
                                          {
                                              var readExpressionMap = new Dictionary<IProperty, Expression>();
                          Severity: Major
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 3 hrs to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 473..493

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 254.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                              foreach (var property in GetAllPropertiesInHierarchy(entityProjection.EntityType))
                                              {
                                                  var replacedExpression = replacingVisitor.Visit(entityProjection.BindProperty(property));
                                                  replacedExpression = nullableReadValueExpressionVisitor.Visit(replacedExpression);
                                                  resultValueBufferExpressions.Add(replacedExpression);
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 864..870

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 106.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var collectionSelector = Lambda(
                                          Call(
                                              FileContextLinqOperatorProvider.DefaultIfEmptyWithArgument.MakeGenericMethod(typeof(ValueBuffer)),
                                              collection,
                                              New(
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 639..648

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 106.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      foreach (var property in GetAllPropertiesInHierarchy(innerEntityProjection.EntityType))
                                      {
                                          var replacedExpression = replacingVisitor.Visit(innerEntityProjection.BindProperty(property));
                                          replacedExpression = nullableReadValueExpressionVisitor.Visit(replacedExpression);
                                          resultValueBufferExpressions.Add(replacedExpression);
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 619..625

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 106.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var collectionSelector = Lambda(
                                          Call(
                                              FileContextLinqOperatorProvider.DefaultIfEmptyWithArgument.MakeGenericMethod(typeof(ValueBuffer)),
                                              collection,
                                              New(
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 873..882

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 106.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var resultSelector = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 55 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 518..527

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 86.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var resultSelector = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 55 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 741..750

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 86.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      resultSelector = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 50 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 884..893

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 82.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      resultSelector = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 50 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 650..659

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 82.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 3 locations. Consider refactoring.
                          Wontfix

                                      var keySelector = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Major
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 2 other locations - About 45 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 228..235
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 290..297

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 77.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 3 locations. Consider refactoring.
                          Wontfix

                                      var selectorLambda = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Major
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 2 other locations - About 45 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 290..297
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 378..384

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 77.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Similar blocks of code found in 3 locations. Consider refactoring.
                          Wontfix

                                      var selectorLambda = Lambda(
                                          New(
                                              _valueBufferConstructor,
                                              NewArrayInit(
                                                  typeof(object),
                          Severity: Major
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 2 other locations - About 45 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 228..235
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 378..384

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 77.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                  private static IPropertyBase InferPropertyFromInner(Expression expression)
                                  {
                                      if (expression is MethodCallExpression methodCallExpression
                                          && methodCallExpression.Method.IsGenericMethod
                                          && methodCallExpression.Method.GetGenericMethodDefinition() == EntityMaterializerSource.TryReadValueMethod)
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 45 mins to fix
                          FileContextCore/Query/Internal/FileContextShapedQueryCompilingExpressionVisitor.InMemoryProjectionBindingRemovingExpressionVisitor.cs on lines 96..106

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 75.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var groupJoinExpression = Call(
                                          FileContextLinqOperatorProvider.GroupJoin.MakeGenericMethod(
                                              typeof(ValueBuffer), typeof(ValueBuffer), outerKeySelector.ReturnType, groupTransparentIdentifierType),
                                          ServerQueryExpression,
                                          innerQueryExpression.ServerQueryExpression,
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 35 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 784..791

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 64.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var groupJoinExpression = Call(
                                          FileContextLinqOperatorProvider.GroupJoin.MakeGenericMethod(
                                              typeof(ValueBuffer), typeof(ValueBuffer), outerKeySelector.ReturnType, groupTransparentIdentifierType),
                                          ServerQueryExpression,
                                          innerQueryExpression.ServerQueryExpression,
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 35 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 562..569

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 64.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var resultSelector = Lambda(
                                          New(
                                              groupTransparentIdentifierType.GetTypeInfo().DeclaredConstructors.Single(),
                                              new[] { outerParameter, innerParameter },
                                              new[] { outerMemberInfo, innerMemberInfo }),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 30 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 554..560

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 61.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          Identical blocks of code found in 2 locations. Consider refactoring.
                          Wontfix

                                      var resultSelector = Lambda(
                                          New(
                                              groupTransparentIdentifierType.GetTypeInfo().DeclaredConstructors.Single(),
                                              new[] { outerParameter, innerParameter },
                                              new[] { outerMemberInfo, innerMemberInfo }),
                          Severity: Minor
                          Found in FileContextCore/Query/Internal/FileContextQueryExpression.cs and 1 other location - About 30 mins to fix
                          FileContextCore/Query/Internal/FileContextQueryExpression.cs on lines 776..782

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 61.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          There are no issues that match your filters.

                          Category
                          Status