Skip to content

Caused by: java.lang.IllegalArgumentException: Error building function signature with range 414 - 211 for element: @JvmStatic @Parameterized.Parameters( #4887

@waliahimanshu

Description

@waliahimanshu

Expected Behavior

Successfully analysis of test class with @Parameterized.Parameters with a large function returning a list of arrays of around 27 items

Observed Behavior

Caused by: java.lang.IllegalArgumentException: Error building function signature with range 414 - 211 for element: @JvmStatic
        @Parameterized.Parameters(
            name = "{index}-Case-Source-{0}-FT-{1}-expectedFeature-{2}-expectedFeatureList-{3}"
        )
        fun data() =
              listOf(
                    arrayOf(CTA_PREMIUM_SEARCH, emptyList<FeatureToggle>(), PREMIUM_SEARCH, listOf(AD_FREE)),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(SAVES_LIMIT_TEST),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(SAVES_LIMIT_PROMOTION),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(FeatureToggle.HALL_OF_FAME),
                        PREMIUM_SEARCH,
                        listOf(HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(PREMIUM_SEARCH_FILTERS),
                        PREMIUM_SEARCH,
                        listOf(PREMIUM_FILTERS, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_SEARCH,
                        listOf(FeatureToggle.HALL_OF_FAME, SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION, PREMIUM_SEARCH_FILTERS),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, PREMIUM_FILTERS, HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_FILTERS,
                        emptyList<FeatureToggle>(),
                        PREMIUM_FILTERS,
                        listOf(PREMIUM_SEARCH, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_FILTERS,
                        listOf(SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        PREMIUM_FILTERS,
                        listOf(PREMIUM_SEARCH, UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_FILTERS,
                        listOf(FeatureToggle.HALL_OF_FAME),
                        PREMIUM_FILTERS,
                        listOf(PREMIUM_SEARCH, HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(
                        CTA_PREMIUM_FILTERS,
                        listOf(FeatureToggle.HALL_OF_FAME, SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        PREMIUM_FILTERS,
                        listOf(PREMIUM_SEARCH, UNLIMITED_SAVED_RECIPES, HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(CTA_AGNOSTIC, emptyList<FeatureToggle>(), PREMIUM_SEARCH, listOf(AD_FREE)),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(SAVES_LIMIT_TEST),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(SAVES_LIMIT_PROMOTION),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(FeatureToggle.HALL_OF_FAME),
                        PREMIUM_SEARCH,
                        listOf(HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(PREMIUM_SEARCH_FILTERS),
                        PREMIUM_SEARCH,
                        listOf(PREMIUM_FILTERS, AD_FREE)
                    ),
                    arrayOf(
                        CTA_AGNOSTIC,
                        listOf(FeatureToggle.HALL_OF_FAME, PREMIUM_SEARCH_FILTERS, SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        PREMIUM_SEARCH,
                        listOf(UNLIMITED_SAVED_RECIPES, PREMIUM_FILTERS, HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(CTA_HALL_OF_FAME, emptyList<FeatureToggle>(), HALL_OF_FAME, listOf(PREMIUM_SEARCH, AD_FREE)),
                    arrayOf(
                        CTA_HALL_OF_FAME,
                        listOf(SAVES_LIMIT_TEST, SAVES_LIMIT_PROMOTION),
                        HALL_OF_FAME,
                        listOf(PREMIUM_SEARCH, UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_HALL_OF_FAME,
                        listOf(SAVES_LIMIT_TEST),
                        HALL_OF_FAME,
                        listOf(PREMIUM_SEARCH, UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_HALL_OF_FAME,
                        listOf(SAVES_LIMIT_PROMOTION),
                        HALL_OF_FAME,
                        listOf(PREMIUM_SEARCH, UNLIMITED_SAVED_RECIPES, AD_FREE)
                    ),
                    arrayOf(
                        CTA_HALL_OF_FAME,
                        listOf(PREMIUM_SEARCH_FILTERS),
                        HALL_OF_FAME,
                        listOf(PREMIUM_SEARCH, PREMIUM_FILTERS, AD_FREE)
                    ),
                    arrayOf(
                        CTA_UNLIMITED_SAVED_RECIPES,
                        emptyList<FeatureToggle>(),
                        UNLIMITED_SAVED_RECIPES,
                        listOf(PREMIUM_SEARCH, AD_FREE)
                    ),
                    arrayOf(
                        CTA_UNLIMITED_SAVED_RECIPES,
                        listOf(FeatureToggle.HALL_OF_FAME),
                        UNLIMITED_SAVED_RECIPES,
                        listOf(PREMIUM_SEARCH, HALL_OF_FAME, AD_FREE)
                    ),
                    arrayOf(
                        CTA_UNLIMITED_SAVED_RECIPES,
                        listOf(PREMIUM_SEARCH_FILTERS),
                        UNLIMITED_SAVED_RECIPES,
                        listOf(PREMIUM_SEARCH, PREMIUM_FILTERS, AD_FREE)
                    ),
                    arrayOf(
                        CTA_RELATED_RECIPES,
                        emptyList<FeatureToggle>(),
                        RELATED_RECIPES,
                        listOf(PREMIUM_SEARCH, AD_FREE)
                    ),
                    arrayOf(
                        CTA_RELATED_RECIPES,
                        listOf(RECIPE_PS_RECOMMENDATIONS),
                        RELATED_RECIPES,
                        listOf(PREMIUM_SEARCH, AD_FREE)
                    ),
                )
        at io.gitlab.arturbosch.detekt.api.internal.SignaturesKt.buildFunctionSignature(Signatures.kt:108)
        at io.gitlab.arturbosch.detekt.api.internal.SignaturesKt.searchSignature(Signatures.kt:71)
        at io.gitlab.arturbosch.detekt.api.internal.SignaturesKt.buildFullSignature(Signatures.kt:46)
        at io.gitlab.arturbosch.detekt.api.Entity$Companion.from(Entity.kt:74)
        at io.gitlab.arturbosch.detekt.api.Entity$Companion.from(Entity.kt:66)
        at io.gitlab.arturbosch.detekt.api.Entity$Companion.atName(Entity.kt:51)
        at io.gitlab.arturbosch.detekt.rules.complexity.LongMethod.postVisit(LongMethod.kt:63)
        at io.gitlab.arturbosch.detekt.api.BaseRule.visitFile(BaseRule.kt:47)
        at io.gitlab.arturbosch.detekt.core.Analyzer.analyze$executeRules(Analyzer.kt:122)
        at io.gitlab.arturbosch.detekt.core.Analyzer.analyze(Analyzer.kt:134)
        at io.gitlab.arturbosch.detekt.core.Analyzer.access$analyze(Analyzer.kt:31)
        at io.gitlab.arturbosch.detekt.core.Analyzer$runAsync$tasks$1$1.invoke(Analyzer.kt:85)
        at io.gitlab.arturbosch.detekt.core.Analyzer$runAsync$tasks$1$1.invoke(Analyzer.kt:83)
        at io.gitlab.arturbosch.detekt.core.TaskPoolKt.task$lambda-0(TaskPool.kt:12)

Steps to Reproduce

A parametrized test with a function having

companion object {
        @JvmStatic
        @Parameterized.Parameters(
            name = "{index}-Case-subscriptionSource-{0}-featureToggles-{1}-expectedHighlightFeature-{2}-expectedShowcaseFeatureList-{3}"
        )
        fun data() = listOf(
                    arrayOf(item1, item2,item3, item4),
                   arrayOf(item1, item2,item3, item4),
                  arrayOf(item1, item2,item3, item4),
                  ........ total 27 items in the list  
        )

Context

Your Environment

  • Version of detekt used:
  • Version of Gradle used (if applicable):
  • Gradle scan link (add --scan option when running the gradle task):
  • Operating System and version:
  • Link to your project (if it's a public repository):

Metadata

Metadata

Labels

buggood first issueIssue that is easy to pickup for people that are new to the projecthelp wanted

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions