tomokinakamaru/silverchain

View on GitHub

Showing 24 of 85 total issues

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

  @Test
  void test8() {
    test("Foo { Qux bar(Bar bar) | baz(Baz baz); }")
        .name("Foo")
        .typeParameterCount(0)
Severity: Major
Found in src/test/java/diagram/Tests.java and 2 other locations - About 1 hr to fix
src/test/java/diagram/Tests.java on lines 68..88
src/test/java/diagram/Tests.java on lines 185..205

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

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

  @Test
  void test10() {
    test("Foo { Qux bar(Bar bar); Qux baz(Baz baz); }")
        .name("Foo")
        .typeParameterCount(0)
Severity: Major
Found in src/test/java/diagram/Tests.java and 2 other locations - About 1 hr to fix
src/test/java/diagram/Tests.java on lines 68..88
src/test/java/diagram/Tests.java on lines 144..164

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

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

  @Test
  void test4() {
    test("Foo { Baz bar(Bar bar) baz(Baz baz)*; }")
        .name("Foo")
        .typeParameterCount(0)
Severity: Major
Found in src/test/java/diagram/Tests.java and 2 other locations - About 1 hr to fix
src/test/java/diagram/Tests.java on lines 144..164
src/test/java/diagram/Tests.java on lines 185..205

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

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

  @Override
  public Type visitClassDeclarationHead(AgParser.ClassDeclarationHeadContext ctx) {
    QualifiedName n = visitQualifiedName(ctx.qualifiedName());
    TypeParameters ps = null;
    if (ctx.classTypeParameterDeclarations() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public RuleExpression visitRuleExpression(AgParser.RuleExpressionContext ctx) {
    RuleTerm t = visitRuleTerm(ctx.ruleTerm());
    RuleExpression e = null;
    if (ctx.ruleExpression() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  private static Diagrams compile(InputStream stream) {
    Diagrams diagrams = new Diagrams();
    Input input = parse(stream);
    for (Grammar grammar : input.grammars()) {
      Diagram diagram = grammar.diagram(input.importMap());
Severity: Minor
Found in src/test/java/generator/Utility.java and 1 other location - About 55 mins to fix
src/test/java/validator/Utility.java on lines 20..29

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

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

  private static Diagrams compile(InputStream stream) {
    Diagrams diagrams = new Diagrams();
    Input input = parse(stream);
    for (Grammar grammar : input.grammars()) {
      Diagram diagram = grammar.diagram(input.importMap());
Severity: Minor
Found in src/test/java/validator/Utility.java and 1 other location - About 55 mins to fix
src/test/java/generator/Utility.java on lines 36..45

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

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

  @Override
  public RuleTerm visitRuleTerm(AgParser.RuleTermContext ctx) {
    RuleFactor f = visitRuleFactor(ctx.ruleFactor());
    RuleTerm t = null;
    if (ctx.ruleTerm() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public TypeParameterList visitTypeParameterList(AgParser.TypeParameterListContext ctx) {
    TypeParameter p = visitTypeParameter(ctx.typeParameter());
    TypeParameterList ps = null;
    if (ctx.typeParameterList() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public FormalParameters visitFormalParameterList(AgParser.FormalParameterListContext ctx) {
    FormalParameter p = visitFormalParameter(ctx.formalParameter());
    FormalParameters ps = null;
    if (ctx.formalParameterList() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public ImportStatements visitAliasDeclarations(AgParser.AliasDeclarationsContext ctx) {
    ImportStatement i = visitAliasDeclaration(ctx.aliasDeclaration());
    ImportStatements is = null;
    if (ctx.aliasDeclarations() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public TypeReferences visitExceptionList(AgParser.ExceptionListContext ctx) {
    TypeReference r = visitTypeReference(ctx.typeReference());
    TypeReferences rs = null;
    if (ctx.exceptionList() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public Grammars visitClassDeclarations(AgParser.ClassDeclarationsContext ctx) {
    Grammar g = visitClassDeclaration(ctx.classDeclaration());
    Grammars gs = null;
    if (ctx.classDeclarations() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public Rules visitRuleStatements(AgParser.RuleStatementsContext ctx) {
    Rule r = visitRuleStatement(ctx.ruleStatement());
    Rules rs = null;
    if (ctx.ruleStatements() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public Rule visitRuleStatement(AgParser.RuleStatementContext ctx) {
    RuleExpression e = visitRuleExpression(ctx.ruleExpression());
    TypeReference r = null;
    if (ctx.typeReference() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public RuleExpressions visitRuleExpressionList(AgParser.RuleExpressionListContext ctx) {
    RuleExpression e = visitRuleExpression(ctx.ruleExpression());
    RuleExpressions es = null;
    if (ctx.ruleExpressionList() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public RuleFactor visitRuleFactor(AgParser.RuleFactorContext ctx) {
    RuleElement e = visitRuleElement(ctx.ruleElement());
    RepeatOperator o = null;
    if (ctx.repeatOperator() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 411..419

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

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

  @Override
  public TypeArguments visitTypeArgumentList(AgParser.TypeArgumentListContext ctx) {
    TypeArgument a = visitTypeArgument(ctx.typeArgument());
    TypeArguments as = null;
    if (ctx.typeArgumentList() != null) {
Severity: Major
Found in src/main/java/silverchain/parser/adapter/ASTBuilder.java and 12 other locations - About 55 mins to fix
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 45..53
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 78..86
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 102..110
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 146..154
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 156..164
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 166..174
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 176..184
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 186..194
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 233..241
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 331..339
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 354..362
src/main/java/silverchain/parser/adapter/ASTBuilder.java on lines 364..372

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

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

    test("Foo { Baz bar(Bar bar) baz(Baz baz)+; }")
        .name("Foo")
        .typeParameterCount(0)
        .stateCount(3)
        .end(2)
Severity: Minor
Found in src/test/java/diagram/Tests.java and 1 other location - About 45 mins to fix
src/test/java/diagram/Tests.java on lines 33..43

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

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

    test("Foo { void bar(Bar bar); }")
        .name("Foo")
        .typeParameterCount(0)
        .stateCount(2)
        .end(1)
Severity: Minor
Found in src/test/java/diagram/Tests.java and 1 other location - About 45 mins to fix
src/test/java/diagram/Tests.java on lines 92..102

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

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

Severity
Category
Status
Source
Language