Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue tracker for #8, #9, #12 #11

Closed
15 tasks done
diamondburned opened this issue Jun 20, 2021 · 0 comments
Closed
15 tasks done

Issue tracker for #8, #9, #12 #11

diamondburned opened this issue Jun 20, 2021 · 0 comments
Assignees
Labels
tracking Progress tracking issues

Comments

@diamondburned
Copy link
Owner

diamondburned commented Jun 20, 2021

Since the 3 new issues seem very daunting, this issue will be created just to
keep track of the progress of the other issues.

Package changes

  • Decouple everything away from girgen
  • girgen to only contain Generator
    • Common generator sets containing the right pens and side effects to
      write code to; ideally, both NamespaceGenerator and FileGenerator
      should easily be able to include them.
    • Subpackage namespacegen having NamespaceGenerator
    • Subpackage filegen having FileGenerator that extends
      NamespaceGenerator
  • generators to contain all generators for classes, interfaces, enums,
    records, etc.
    • Subpackage callable that generates specifically just callables.
  • String utilities (mostly concerned with casing) should go into strcases.
  • Comment utilities should go into cmt.
  • Templating utilities should go into gotmpl.
  • Hard-wired types, such as primitives, should go into types.
    • Type conversion, resolving and trees should go here as well.

Illustrative charts

Directory Tree

gir
├── girgen
│   ├── cmt
│   │   └── cmt.go
│   ├── file
│   │   └── file.go
│   ├── generators
│   │   ├── callable
│   │   │   ├── callable.go
│   │   │   └── c.go
│   │   ├── alias.go
│   │   ├── bitfield.go
│   │   ├── callback.go
│   │   ├── class.go
│   │   ├── enum.go
│   │   ├── function.go
│   │   ├── generators.go
│   │   ├── interface.go
│   │   └── record.go
│   ├── gotmpl
│   │   └── gotmpl.go
│   ├── logger
│   │   └── logger.go
│   ├── strcases
│   │   ├── capitalized.txt
│   │   └── strcases.go
│   ├── types
│   │   ├── typeconv
│   │   │   ├── c->go.go
│   │   │   ├── go->c.go
│   │   │   └── typeconv.go
│   │   ├── filter.go
│   │   ├── generator.go
│   │   ├── resolve.go
│   │   ├── tree.go
│   │   └── types.go
│   ├── file.go
│   ├── generator.go
│   └── namespace.go
├── pkgconfig
│   ├── pkgconfig.go
│   └── pkgconfig_test.go
├── gir.go
├── LICENSE.md
├── repository.go
└── types.go

Issue Trackers

Since this is a huge refactor, there will be a lot code to be (re)written.
Because of that, the order of these issues are organized in this order.

@diamondburned diamondburned changed the title Issue tracker for #8, #9, #10 Issue tracker for #8, #9, #12 Jun 20, 2021
@diamondburned diamondburned pinned this issue Jun 20, 2021
@diamondburned diamondburned self-assigned this Jun 20, 2021
@diamondburned diamondburned added the tracking Progress tracking issues label Jun 20, 2021
@diamondburned diamondburned unpinned this issue Jul 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking Progress tracking issues
Projects
None yet
Development

No branches or pull requests

1 participant