Skip to content

WIP: AST cleanups - #14

Open
ghost wants to merge 5 commits into
mainfrom
sam/cleanup-3
Open

WIP: AST cleanups#14
ghost wants to merge 5 commits into
mainfrom
sam/cleanup-3

Conversation

@ghost

@ghost ghost commented Oct 27, 2021

Copy link
Copy Markdown

Rearrange the AST to a more regular format that mirrors the actual AST of TypeScript, with a goal of making it easier to read and reason about. Previously some aspects were mirroring how the backend processes data rather than reflecting how TypeScript is actually structured.

This doesn't compile yet, more work would be needed.

Terms

THIS SOFTWARE IS CONTRIBUTED SUBJECT TO THE TERMS OF THE TERMS OF THE CCLA DATED 2017-11-07 WITH FINOS/LINUX FOUNDATION (FORMERLY THE SYMPHONY SOFTWARE FOUNDATION CCLA).

THIS SOFTWARE IS LICENSED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OF NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE MAY BE REDISTRIBUTED TO OTHERS ONLY BY EFFECTIVELY USING THIS OR ANOTHER EQUIVALENT DISCLAIMER IN ADDITION TO ANY OTHER REQUIRED LICENSE TERMS.

Sam Thursfield added 5 commits October 27, 2021 14:56
This isn't a TypeScript-specific concept, so don't track it in AST.
The type names should be obvious
Rename CallExpression -> CallExpressionDetails
Rename Call -> CallExpression (part of Expression enum)
Rename decoderExpression to decoderCall, as it's returning
a function call in all cases.
Order conceptually, then alphabetically.
The AST grew ad-hoc based on the needs of the backend. This commit
restructures it to map more closely to TypeScript itself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants