File tree Expand file tree Collapse file tree 2 files changed +17
-13
lines changed
runtime/compiler/compilers Expand file tree Collapse file tree 2 files changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -78,7 +78,8 @@ export class TypeCellCodeModel extends lifecycle.Disposable {
78
78
79
79
private disposeMonacoModel ( ) {
80
80
if ( this . monacoModelReferences > 0 ) {
81
- throw new Error ( "disposing TypeCellCodeModel, but still has references" ) ;
81
+ // This is suspicious, happens when compiling code and releasing at same time?
82
+ console . error ( "disposing TypeCellCodeModel, but still has references" ) ;
82
83
}
83
84
84
85
if (
Original file line number Diff line number Diff line change @@ -121,21 +121,24 @@ async function _compile(
121
121
}
122
122
123
123
console . log ( "recompile" , model . path ) ;
124
- const monacoModel = model . acquireMonacoModel ( ) ;
125
124
126
- if ( ! mainWorker ) {
127
- mainWorker =
128
- await monacoInstance . languages . typescript . getTypeScriptWorker ( ) ;
129
- }
125
+ const monacoModel = model . acquireMonacoModel ( ) ;
126
+ try {
127
+ if ( ! mainWorker ) {
128
+ mainWorker =
129
+ await monacoInstance . languages . typescript . getTypeScriptWorker ( ) ;
130
+ }
130
131
131
- let compiledCode = ( await getCompiledCode ( mainWorker , monacoModel . uri ) )
132
- . firstJSCode ;
133
- model . releaseMonacoModel ( ) ;
134
- if ( ENABLE_CACHE ) {
135
- saveCachedItem ( model , { hash : hsh , compiledCode } ) ;
132
+ let compiledCode = ( await getCompiledCode ( mainWorker , monacoModel . uri ) )
133
+ . firstJSCode ;
134
+ if ( ENABLE_CACHE ) {
135
+ saveCachedItem ( model , { hash : hsh , compiledCode } ) ;
136
+ }
137
+ // console.log(tscode, compiledCode);
138
+ return compiledCode ;
139
+ } finally {
140
+ model . releaseMonacoModel ( ) ;
136
141
}
137
- // console.log(tscode, compiledCode);
138
- return compiledCode ;
139
142
}
140
143
141
144
export const compile = awaitFirst ( _compile ) ;
You can’t perform that action at this time.
0 commit comments