GetPositionMap returns the PositionMap for this source file, computing it lazily.
()
| 2752 | |
| 2753 | // GetPositionMap returns the PositionMap for this source file, computing it lazily. |
| 2754 | func (file *SourceFile) GetPositionMap() *PositionMap { |
| 2755 | file.positionMapOnce.Do(func() { |
| 2756 | if !file.ContainsNonASCII { |
| 2757 | file.positionMap = &PositionMap{asciiOnly: true} |
| 2758 | } else { |
| 2759 | file.positionMap = ComputePositionMap(file.Text()) |
| 2760 | } |
| 2761 | }) |
| 2762 | return file.positionMap |
| 2763 | } |
| 2764 | |
| 2765 | func (node *SourceFile) BindOnce(bind func()) { |
| 2766 | node.bindOnce.Do(func() { |