Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(342)

Delta Between Two Patch Sets: src/pkg/strings/export_test.go

Issue 6492076: code review 6492076: strings: implement a faster generic Replacer (Closed)
Left Patch Set: diff -r df382f6986cf https://code.google.com/p/go Created 11 years, 6 months ago
Right Patch Set: diff -r cdee8bf43694 https://code.google.com/p/go Created 11 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | src/pkg/strings/replace.go » ('j') | src/pkg/strings/replace.go » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 // Copyright 2011 The Go Authors. All rights reserved. 1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 package strings 5 package strings
6 6
7 func (r *Replacer) Replacer() interface{} { 7 func (r *Replacer) Replacer() interface{} {
8 return r.r 8 return r.r
9 } 9 }
10
11 func (r *Replacer) PrintTrie() string {
12 gen := r.r.(*genericReplacer)
13 return gen.printNode(&gen.root, 0)
14 }
15
16 func (r *genericReplacer) printNode(t *trieNode, depth int) (s string) {
17 if t.priority > 0 {
18 s += "+"
19 } else {
20 s += "-"
21 }
22 s += "\n"
23
24 if t.prefix != "" {
25 s += Repeat(".", depth) + t.prefix
26 s += r.printNode(t.next, depth+len(t.prefix))
27 } else if t.table != nil {
28 for b, m := range r.mapping {
29 if int(m) != r.tableSize && t.table[m] != nil {
30 s += Repeat(".", depth) + string([]byte{byte(b)} )
31 s += r.printNode(t.table[m], depth+1)
32 }
33 }
34 }
35 return
36 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b