rokucommunity / brighterscript

A superset of Roku's BrightScript language
MIT License
151 stars 47 forks source link

making component extend itself causes a crash #222

Open georgejecook opened 3 years ago

georgejecook commented 3 years ago

image

results in stacktrace:


    at Function.applyStyle (/home/george/hope/open-source/vsc/brighterscript/node_modules/chalk/index.js:176:12)
    at Function.builder (/home/george/hope/open-source/vsc/brighterscript/node_modules/chalk/index.js:121:21)
    at XmlFile.logDebug (/home/george/hope/open-source/vsc/brighterscript/src/files/XmlFile.ts:611:52)
    at EventEmitter.<anonymous> (/home/george/hope/open-source/vsc/brighterscript/src/files/XmlFile.ts:411:18)
    at EventEmitter.emit (/home/george/hope/open-source/vsc/brighterscript/node_modules/eventemitter3/index.js:202:33)
    at DependencyGraph.emit (/home/george/hope/open-source/vsc/brighterscript/src/DependencyGraph.ts:80:30)
    at EventEmitter.<anonymous> (/home/george/hope/open-source/vsc/brighterscript/src/DependencyGraph.ts:118:28)
    at EventEmitter.emit (/home/george/hope/open-source/vsc/brighterscript/node_modules/eventemitter3/index.js:202:33)
    at DependencyGraph.emit (/home/george/hope/open-source/vsc/brighterscript/src/DependencyGraph.ts:80:30)
    at EventEmitter.<anonymous> (/home/george/hope/open-source/vsc/brighterscript/src/DependencyGraph.ts:118:28)
/home/george/hope/open-source/vsc/brighterscript/src/Logger.ts:54
arg1:RangeError: Maximum call stack size exceeded
    at Function.applyStyle (/home/george/hope/open-source/vsc/brighterscript/node_modules/chalk/index.js:176:12)
    at Function.builder (/home/george/hope/open-source/vsc/brighterscript/node_modules/chalk/index.js:121:21)
    at XmlFile.logDebug (/home/george/hope/open-source/vsc/brighterscript/dist/files/XmlFile.js:401:62)
    at EventEmitter.<anonymous> (/home/george/hope/open-source/vsc/brighterscript/dist/files/XmlFile.js:224:18)
    at EventEmitter.emit (/home/george/hope/open-source/vsc/brighterscript/node_modules/eventemitter3/index.js:202:33)
    at DependencyGraph.emit (/home/george/hope/open-source/vsc/brighterscript/dist/DependencyGraph.js:79:30)
    at EventEmitter.<anonymous> (/home/george/hope/open-source/vsc/brighterscript/dist/DependencyGraph.js:114:28)
    at EventEmitter.emit (/home/george/hope/open-source/vsc/brighterscript/node_modules/eventemitter3/index.js:202:33)
    at DependencyGraph.emit (/home/george/hope/open-source/vsc/brighterscript/d...```

very easy to reproduce; just do component FOO extends FOO
elsassph commented 3 years ago

Ah the classic circular reference crash :D