Skip to content

Issue with Constant Declaration Merging in Go Script #1

@guiyomh

Description

@guiyomh

Issue Description

I have encountered an issue while using the Go script for merging source files, particularly with the merging of constant declarations. The script combines constants into a single declaration, leading to initialization errors in the merged file.

Reproduction Steps

  1. Define a custom type and constants as follows in separate files:
// File: types.go
tpackage main

type Category int

// File: constants.go
const (
	Ok Category = iota
	Lost
	Rescue
	Endangered
)

type Strategy int

const (
	NormalMode Strategy = iota
	RescueHuman
	RescueEndangered
)
  1. Run the script to merge the source files.

Observed Behavior

The merged file shows errors in the constant declaration section, with some constants missing their initializations.

// File: _merged.go
package main

const (
	Endangered
	NormalMode	Strategy	= iota
	RescueHuman
	RescueEndangered
	Ok	Category	= iota
	Lost
	Rescue
)

type (
	Category	int
	Strategy	int
)

The issue seems to be related to the script combining constant declarations without maintaining their original structure and initializations. This can lead to incorrect behavior when using the merged file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions