Skip to content
This repository was archived by the owner on Jan 19, 2019. It is now read-only.
This repository was archived by the owner on Jan 19, 2019. It is now read-only.

abstract/export keyword missing from AST for interfaces #269

Closed
@despairblue

Description

@despairblue

What version of TypeScript are you using?
2.3.2

What version of typescript-eslint-parser are you using?
f5fcc87

What code were you trying to parse?

abstract interface I {}

What did you expect to happen?
I expected the AST to contain the information that the interface is abstract.

What happened?
It's not in the AST

module.exports = {
    type: "Program",
    range: [0, 23],
    loc: {
        start: {
            line: 1,
            column: 0
        },
        end: {
            line: 1,
            column: 23
        }
    },
    body: [
        {
            type: "TSInterfaceDeclaration",
            range: [0, 23],
            loc: {
                start: {
                    line: 1,
                    column: 0
                },
                end: {
                    line: 1,
                    column: 23
                }
            },
            body: {
                type: "TSInterfaceBody",
                body: [],
                range: [21, 23],
                loc: {
                    start: {
                        line: 1,
                        column: 21
                    },
                    end: {
                        line: 1,
                        column: 23
                    }
                }
            },
            id: {
                type: "Identifier",
                range: [19, 20],
                loc: {
                    start: {
                        line: 1,
                        column: 19
                    },
                    end: {
                        line: 1,
                        column: 20
                    }
                },
                name: "I"
            },
            heritage: []
        }
    ],
    sourceType: "script",
    tokens: [
        {
            type: "Identifier",
            value: "abstract",
            range: [0, 8],
            loc: {
                start: {
                    line: 1,
                    column: 0
                },
                end: {
                    line: 1,
                    column: 8
                }
            }
        },
        {
            type: "Keyword",
            value: "interface",
            range: [9, 18],
            loc: {
                start: {
                    line: 1,
                    column: 9
                },
                end: {
                    line: 1,
                    column: 18
                }
            }
        },
        {
            type: "Identifier",
            value: "I",
            range: [19, 20],
            loc: {
                start: {
                    line: 1,
                    column: 19
                },
                end: {
                    line: 1,
                    column: 20
                }
            }
        },
        {
            type: "Punctuator",
            value: "{",
            range: [21, 22],
            loc: {
                start: {
                    line: 1,
                    column: 21
                },
                end: {
                    line: 1,
                    column: 22
                }
            }
        },
        {
            type: "Punctuator",
            value: "}",
            range: [22, 23],
            loc: {
                start: {
                    line: 1,
                    column: 22
                },
                end: {
                    line: 1,
                    column: 23
                }
            }
        }
    ]
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions