<commit_before>Class
===========

    class Person
        getName :: () -> "John"
        getPhone :: () -> "12345678"
        
The above code compiles to:

```php
class Person {
    function getName() {
        return "John";
    }
    function getPhone() {
        return "12345678";
    }
}
```

Method Scope
------------

Methods are default to public scope, to define private method, please use underscore as the prefix.

Static methods are defined by a tilde `~`

    class Person
        getName :: () -> "John"

        ~getInstance :: () -> ....

Or you can declare scope keyword explicitly:

    class Person
        # public method
        public getName :: () -> "John"

        # private method
        private privateMethodName :: () ->

        # static method
        public static getInstance :: () -> ....

<commit_msg>Synopsis for magic methods<commit_after>Class
===========

    class Person
        getName :: () -> "John"
        getPhone :: () -> "12345678"
        
The above code compiles to:

```php
class Person {
    function getName() {
        return "John";
    }
    function getPhone() {
        return "12345678";
    }
}
```

Method Scope
------------

Methods are default to public scope, to define private method, please use
underscore as the prefix.

Static methods are defined by a tilde `~`

    class Person
        getName :: () -> "John"

        ~getInstance :: () -> ....

Or you can declare scope keyword explicitly:

    class Person
        # public method
        public getName :: () -> "John"

        # private method
        private privateMethodName :: () ->

        # static method
        public static getInstance :: () -> ....


Magic Methods
--------------

Just like what you did in PHP 

    class Person
        __get :: (key) ->
        __call ::  (methodName, args) ->


Calling Object Method
---------------------

    obj = new Person
    name = obj.getName()

{'fraction_non_alphanumeric': 0.14981855883877657, 'fraction_numerical': 0.01658890616899948, 'mean_word_length': 1.838235294117647, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4958601', 'n_tokens_mistral': 555, 'n_tokens_neox': 495, 'n_words': 179}