• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Camelcade / Perl5-IDEA / #525521819

12 Apr 2026 11:03AM UTC coverage: 76.189% (+0.1%) from 76.061%
#525521819

push

github

hurricup
[qodana] Suppressed a warning on the api method

14764 of 22542 branches covered (65.5%)

Branch coverage included in aggregate %.

31091 of 37644 relevant lines covered (82.59%)

0.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/plugin/common/src/main/java/com/perl5/lang/perl/psi/mro/PerlMroC3.java
1
/*
2
 * Copyright 2015-2026 Alexandr Evstigneev
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 * http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16

17
package com.perl5.lang.perl.psi.mro;
18

19
import com.intellij.openapi.progress.ProgressManager;
20
import com.perl5.lang.perl.psi.PerlNamespaceDefinitionElement;
21
import com.perl5.lang.perl.psi.PerlNamespaceDefinitionHandler;
22
import org.jetbrains.annotations.NotNull;
23

24
import java.util.ArrayList;
25
import java.util.Collection;
26
import java.util.List;
27
import java.util.Set;
28

29

30
public class PerlMroC3 extends PerlMro {
×
31
  public static final PerlMro INSTANCE = new PerlMroC3();
×
32

33
  /**
34
   * Builds list of inheritance path for C3 mro (Dylan, Python, Perl6): http://perldoc.perl.org/mro.html#The-C3-MRO
35
   *
36
   * @param namespaceDefinitions list of package names to add
37
   * @param recursionMap         recursion protection map
38
   * @param result               list to populate
39
   */
40
  @Override
41
  public void getLinearISA(@NotNull List<? extends PerlNamespaceDefinitionElement> namespaceDefinitions,
42
                           @NotNull Set<String> recursionMap,
43
                           @NotNull List<String> result) {
44
    ProgressManager.checkCanceled();
×
45
    Collection<PerlNamespaceDefinitionElement> nextIterationDefinitions = new ArrayList<>();
×
46
    for (PerlNamespaceDefinitionElement namespaceDefinition : namespaceDefinitions) {
×
47
      String packageName = namespaceDefinition.getNamespaceName();
×
48
      if (!recursionMap.contains(packageName)) {
×
49
        recursionMap.add(packageName);
×
50
        result.add(packageName);
×
51
        nextIterationDefinitions.add(namespaceDefinition);
×
52
      }
53
    }
×
54

55
    for (PerlNamespaceDefinitionElement namespaceDefinition : nextIterationDefinitions) {
×
56
      PerlNamespaceDefinitionHandler.instance(namespaceDefinition).collectLinearISA(namespaceDefinition, recursionMap, result);
×
57
    }
×
58
  }
×
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc