(file *SourceFile, key *SourceFileDataKey[T])
| 2428 | } |
| 2429 | |
| 2430 | func getSourceFileDataCell[T any](file *SourceFile, key *SourceFileDataKey[T]) *sourceFileDataCell[T] { |
| 2431 | if key == nil || key.key == 0 { |
| 2432 | panic("invalid SourceFileDataKey; use NewSourceFileDataKey") |
| 2433 | } |
| 2434 | |
| 2435 | file.dataMu.Lock() |
| 2436 | defer file.dataMu.Unlock() |
| 2437 | |
| 2438 | if file.data == nil { |
| 2439 | file.data = make(map[sourceFileDataKey]any) |
| 2440 | } |
| 2441 | if cell, ok := file.data[key.key]; ok { |
| 2442 | return cell.(*sourceFileDataCell[T]) |
| 2443 | } |
| 2444 | cell := &sourceFileDataCell[T]{} |
| 2445 | file.data[key.key] = cell |
| 2446 | return cell |
| 2447 | } |
| 2448 | |
| 2449 | type CheckJsDirective struct { |
| 2450 | Enabled bool |
no test coverage detected