hackedteam/vector-edk

View on GitHub
vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java

Summary

Maintainability
F
2 wks
Test Coverage

Method GetOptimum has a Cognitive Complexity of 199 (exceeds 5 allowed). Consider refactoring.
Open

    int GetOptimum(int position) throws IOException
    {
        if (_optimumEndIndex != _optimumCurrentIndex)
        {
            int lenRes = _optimum[_optimumCurrentIndex].PosPrev - _optimumCurrentIndex;
Severity: Minor
Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 4 days 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

File Encoder.java has 1232 lines of code (exceeds 250 allowed). Consider refactoring.
Open

package SevenZip.Compression.LZMA;

import SevenZip.Compression.RangeCoder.BitTreeEncoder;
import SevenZip.Compression.LZMA.Base;
import SevenZip.Compression.LZ.BinTree;
Severity: Major
Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 3 days to fix

    Method GetOptimum has 440 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        int GetOptimum(int position) throws IOException
        {
            if (_optimumEndIndex != _optimumCurrentIndex)
            {
                int lenRes = _optimum[_optimumCurrentIndex].PosPrev - _optimumCurrentIndex;
    Severity: Major
    Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 2 days to fix

      Method CodeOneBlock has a Cognitive Complexity of 76 (exceeds 5 allowed). Consider refactoring.
      Open

          public void CodeOneBlock(long[] inSize, long[] outSize, boolean[] finished) throws IOException
          {
              inSize[0] = 0;
              outSize[0] = 0;
              finished[0] = true;
      Severity: Minor
      Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 1 day 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

      Method CodeOneBlock has 152 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public void CodeOneBlock(long[] inSize, long[] outSize, boolean[] finished) throws IOException
          {
              inSize[0] = 0;
              outSize[0] = 0;
              finished[0] = true;
      Severity: Major
      Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 6 hrs to fix

        Encoder has 33 methods (exceeds 20 allowed). Consider refactoring.
        Open

        public class Encoder
        {
            public static final int EMatchFinderTypeBT2 = 0;
            public static final int EMatchFinderTypeBT4 = 1;
        
        Severity: Minor
        Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 4 hrs to fix

          Method Encode has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
          Open

                  public void Encode(SevenZip.Compression.RangeCoder.Encoder rangeEncoder, int symbol, int posState) throws IOException
                  {
                      if (symbol < Base.kNumLowLenSymbols)
                      {
                          rangeEncoder.Encode(_choice, 0, 0);
          Severity: Minor
          Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 1 hr 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

          Method Backward has 28 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              int Backward(int cur)
              {
                  _optimumEndIndex = cur;
                  int posMem = _optimum[cur].PosPrev;
                  int backMem = _optimum[cur].BackPrev;
          Severity: Minor
          Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 1 hr to fix

            Method FillDistancesPrices has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
            Open

                void FillDistancesPrices()
                {
                    for (int i = Base.kStartPosModelIndex; i < Base.kNumFullDistances; i++)
                    {
                        int posSlot = GetPosSlot(i);
            Severity: Minor
            Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 1 hr 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

            Method GetPrice has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
            Open

                        public int GetPrice(boolean matchMode, byte matchByte, byte symbol)
                        {
                            int price = 0;
                            int context = 1;
                            int i = 7;
            Severity: Minor
            Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 55 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

            Avoid deeply nested control flow statements.
            Open

                                        while (lenEnd < cur + offset)
                                            _optimum[++lenEnd].Price = kIfinityPrice;
            Severity: Major
            Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 45 mins to fix

              Avoid deeply nested control flow statements.
              Open

                                      if (offs == numDistancePairs)
                                          break;
              Severity: Major
              Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 45 mins to fix

                Avoid deeply nested control flow statements.
                Open

                                        if (lenTest < numAvailableBytesFull)
                                        {
                                            int t = Math.min(numAvailableBytesFull - 1 - lenTest, _numFastBytes);
                                            int lenTest2 = _matchFinder.GetMatchLen(lenTest, curBack, t);
                                            if (lenTest2 >= 2)
                Severity: Major
                Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 45 mins to fix

                  Avoid deeply nested control flow statements.
                  Open

                                              if (curAndLenPrice < optimum.Price)
                                              {
                                                  optimum.Price = curAndLenPrice;
                                                  optimum.PosPrev = cur + lenTest + 1;
                                                  optimum.BackPrev = 0;
                  Severity: Major
                  Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 45 mins to fix

                    Consider simplifying this complex logical expression.
                    Open

                            if (
                                    lp < 0 || lp > Base.kNumLitPosStatesBitsEncodingMax ||
                                    lc < 0 || lc > Base.kNumLitContextBitsMax ||
                                    pb < 0 || pb > Base.kNumPosStatesBitsEncodingMax)
                                return false;
                    Severity: Major
                    Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 40 mins to fix

                      Method Code has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                          public void Code(java.io.InputStream inStream, java.io.OutputStream outStream,
                                  long inSize, long outSize, ICodeProgress progress) throws IOException
                      Severity: Minor
                      Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 35 mins to fix

                        Method Init has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                        Open

                            void Init()
                            {
                                BaseInit();
                                _rangeEncoder.Init();
                        
                        Severity: Minor
                        Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 35 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

                        Method Create has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                        Open

                            void Create()
                            {
                                if (_matchFinder == null)
                                {
                                    SevenZip.Compression.LZ.BinTree bt = new SevenZip.Compression.LZ.BinTree();
                        Severity: Minor
                        Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 35 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

                        Method SetPrices has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                        Open

                                public void SetPrices(int posState, int numSymbols, int[] prices, int st)
                                {
                                    int a0 = SevenZip.Compression.RangeCoder.Encoder.GetPrice0(_choice[0]);
                                    int a1 = SevenZip.Compression.RangeCoder.Encoder.GetPrice1(_choice[0]);
                                    int b0 = a1 + SevenZip.Compression.RangeCoder.Encoder.GetPrice0(_choice[1]);
                        Severity: Minor
                        Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 35 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

                        Avoid too many return statements within this method.
                        Open

                                        return Backward(cur);
                        Severity: Major
                        Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 30 mins to fix

                          Avoid too many return statements within this method.
                          Open

                                          return Backward(cur);
                          Severity: Major
                          Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 30 mins to fix

                            Avoid too many return statements within this method.
                            Open

                                        return 1;
                            Severity: Major
                            Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 30 mins to fix

                              Avoid too many return statements within this method.
                              Open

                                                  return;
                              Severity: Major
                              Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 30 mins to fix

                                Avoid too many return statements within this method.
                                Open

                                            return 1;
                                Severity: Major
                                Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - About 30 mins to fix

                                  Method Backward has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                  Open

                                      int Backward(int cur)
                                      {
                                          _optimumEndIndex = cur;
                                          int posMem = _optimum[cur].PosPrev;
                                          int backMem = _optimum[cur].BackPrev;
                                  Severity: Minor
                                  Found in vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java - 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.
                                  Open

                                          public void Create(int numPosBits, int numPrevBits)
                                          {
                                              if (m_Coders != null && m_NumPrevBits == numPrevBits && m_NumPosBits == numPosBits)
                                                  return;
                                              m_NumPosBits = numPosBits;
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Decoder.java on lines 97..108

                                  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 125.

                                  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.
                                  Open

                                          public void Init(int numPosStates)
                                          {
                                              SevenZip.Compression.RangeCoder.Encoder.InitBitModels(_choice);
                                  
                                              for (int posState = 0; posState < numPosStates; posState++)
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Decoder.java on lines 27..36

                                  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

                                  Similar blocks of code found in 4 locations. Consider refactoring.
                                  Open

                                                      {
                                                          reps[0] = opt.Backs3;
                                                          reps[1] = opt.Backs0;
                                                          reps[2] = opt.Backs1;
                                                          reps[3] = opt.Backs2;
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 773..778
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 766..771
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 759..764

                                  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 58.

                                  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 4 locations. Consider refactoring.
                                  Open

                                                      {
                                                          reps[0] = opt.Backs0;
                                                          reps[1] = opt.Backs1;
                                                          reps[2] = opt.Backs2;
                                                          reps[3] = opt.Backs3;
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 780..785
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 773..778
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 766..771

                                  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 58.

                                  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 4 locations. Consider refactoring.
                                  Open

                                                      {
                                                          reps[0] = opt.Backs1;
                                                          reps[1] = opt.Backs0;
                                                          reps[2] = opt.Backs2;
                                                          reps[3] = opt.Backs3;
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 780..785
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 773..778
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 759..764

                                  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 58.

                                  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 4 locations. Consider refactoring.
                                  Open

                                                      {
                                                          reps[0] = opt.Backs2;
                                                          reps[1] = opt.Backs0;
                                                          reps[2] = opt.Backs1;
                                                          reps[3] = opt.Backs3;
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 780..785
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 766..771
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 759..764

                                  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 58.

                                  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.
                                  Open

                                          public void Init()
                                          {
                                              int numStates = 1 << (m_NumPrevBits + m_NumPosBits);
                                              for (int i = 0; i < numStates; i++)
                                                  m_Coders[i].Init();
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Decoder.java on lines 110..115

                                  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 49.

                                  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.
                                  Open

                                          public Encoder2 GetSubCoder(int pos, byte prevByte)
                                          { return m_Coders[((pos & m_PosMask) << m_NumPrevBits) + ((prevByte & 0xFF) >>> (8 - m_NumPrevBits))]; }
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Decoder.java on lines 117..120

                                  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 47.

                                  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.
                                  Open

                                              if (curAnd1Price < nextOptimum.Price)
                                              {
                                                  nextOptimum.Price = curAnd1Price;
                                                  nextOptimum.PosPrev = cur;
                                                  nextOptimum.MakeAsChar();
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 830..836

                                  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 46.

                                  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.
                                  Open

                                                  if (shortRepPrice <= nextOptimum.Price)
                                                  {
                                                      nextOptimum.Price = shortRepPrice;
                                                      nextOptimum.PosPrev = cur;
                                                      nextOptimum.MakeAsShortRep();
                                  vector-uefi/insyde/7zip/Java/SevenZip/Compression/LZMA/Encoder.java on lines 815..821

                                  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 46.

                                  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