Skip to content

Add braces refactor: Cannot read property 'pos' of undefined #25638

Closed
@cevek

Description

@cevek

TypeScript Version: 3.0.0-dev.20180712

Search Terms:

Code

TypeError: Cannot read property 'pos' of undefined
    at indentMultilineCommentOrJsxText (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101971:142)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101724:25)
    at processChildNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101762:48)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101664:21
    at visitNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15128:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15510:21)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101721:21)
    at processChildNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101762:48)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101664:21
    at visitNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15128:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15510:21)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101721:21)
    at processChildNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101762:48)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101664:21
    at visitNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15128:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15510:21)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101721:21)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101662:21
    at visitNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15123:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15319:24)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101721:21)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101662:21
    at visitNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15123:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15396:24)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at processChildNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101721:21)
    at processChildNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101762:48)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101664:21
    at visitNodes (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15128:24)
    at Object.forEachChild (/usr/local/lib/node_modules/typescript/lib/tsserver.js:15356:24)
    at processNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101661:20)
    at formatSpanWorker (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101488:17)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:101452:140
    at Object.getFormattingScanner (/usr/local/lib/node_modules/typescript/lib/tsserver.js:100257:23)
    at Object.formatNodeGivenIndentation (/usr/local/lib/node_modules/typescript/lib/tsserver.js:101452:31)
    at getFormattedTextOfNode (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103388:45)
    at format (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103366:52)
    at computeNewText (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103369:23)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:103343:89
    at Array.map (native)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:103342:50
    at Array.map (native)
    at Object.getTextChangesFromChanges (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103328:86)
    at ChangeTracker.getChanges (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103305:45)
    at Function.ChangeTracker.with (/usr/local/lib/node_modules/typescript/lib/tsserver.js:102881:32)
    at Object.getEditsForAction (/usr/local/lib/node_modules/typescript/lib/tsserver.js:110202:62)
    at Object.getEditsForRefactor (/usr/local/lib/node_modules/typescript/lib/tsserver.js:103874:41)
    at Object.getEditsForRefactor (/usr/local/lib/node_modules/typescript/lib/tsserver.js:111907:32)
    at IOSession.Session.getEditsForRefactor (/usr/local/lib/node_modules/typescript/lib/tsserver.js:119177:59)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (/usr/local/lib/node_modules/typescript/lib/tsserver.js:118120:61)
    at /usr/local/lib/node_modules/typescript/lib/tsserver.js:119389:88
    at IOSession.Session.executeWithRequestId (/usr/local/lib/node_modules/typescript/lib/tsserver.js:119380:28)
    at IOSession.Session.executeCommand (/usr/local/lib/node_modules/typescript/lib/tsserver.js:119389:33)
    at IOSession.Session.onMessage (/usr/local/lib/node_modules/typescript/lib/tsserver.js:119409:35)
    at Interface.<anonymous> (/usr/local/lib/node_modules/typescript/lib/tsserver.js:120676:27)

Reproduce

<InputForm form={form} submit={data => [{ field: 'email', error: 'Foo' }]}>
            {({ fields, errors, sending, success }) => (
                <div>
                    {success && <div>Success</div>}
                    <InputError errors={errors} />
                    <div>
                        <label>Email:</label>
                        <InputError errors={fields.email.errors} />
                        <input type="email" name="email" required {...fields.email.element} />
                    </div>
                    <div>
                        <label>Login:</label>
                        <InputError errors={fields.login.errors} />
                        <input
                            type="text"
                            name="login"
                            required
                            minLength={1}
                            maxLength={20}
                            pattern="^[\-\w\d_.$*@]+$"
                            {...fields.login.element}
                        />
                    </div>
                    <div>
                        <label>Name:</label>
                        <InputError errors={fields.name.errors} />
                        <input type="text" name="name" required {...fields.name.element} />
                    </div>
                    <div>
                        <label>Password:</label>
                        <InputError errors={fields.password.errors} />
                        <input type="password" name="password" minLength={6} {...fields.password.element} />
                    </div>
                    <div>
                        <input type="submit" value="Log In" disabled={sending} />
                    </div>
                </div>
            )}
        </InputForm>

ezgif-5-e0b8859caf

Expected behavior:

Actual behavior:

Playground Link:

Related Issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: FormatterThe issue relates to the built-in formatterFixedA PR has been merged for this issue

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions