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

OO Support Guidelines #55

Open
4 of 14 tasks
FilipToth opened this issue Jul 21, 2021 · 0 comments
Open
4 of 14 tasks

OO Support Guidelines #55

FilipToth opened this issue Jul 21, 2021 · 0 comments
Assignees
Labels
Alto 2 enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@FilipToth
Copy link
Member

FilipToth commented Jul 21, 2021

Background and Motivation

It's no secret that every language is better with OO support. This will also be super useful when writing the runtime API.

TODO

  • Parse class declarations
  • Bind and parse nested functions
  • Bind class declarations
  • Parse constructors
  • Bind constructors
  • Parse class references
  • Bind class references
  • Parse namespace declarations
  • Bind namespace declarations
  • Parse namespace references
  • Bind namespace references
  • Make import statements import namespaces not files
  • Add private, internal, and public accessors
  • Support static classes (Will be called objectgroup)

Syntax

namespace MyLib {
    public class MyClass {
        private _number : int = 0

        public function addToNumber(addend : int) {
            _number = _number + addend
        }

        public function getNumber() : int {
            return _number
        }
    }
}
@FilipToth FilipToth added enhancement New feature or request help wanted Extra attention is needed labels Jul 21, 2021
@FilipToth FilipToth pinned this issue Jul 21, 2021
@FilipToth FilipToth self-assigned this Jul 22, 2021
@FilipToth FilipToth added this to the Future milestone Nov 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Alto 2 enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant