blob: 9b20b88feb876da5f431824cf64ea05b4432d947 [file] [log] [blame]
Don Newton98fd8812019-09-23 15:15:02 -04001// Copyright 2014 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package language
6
7// BaseLanguages returns the list of all supported base languages. It generates
8// the list by traversing the internal structures.
9func BaseLanguages() []Language {
10 base := make([]Language, 0, NumLanguages)
11 for i := 0; i < langNoIndexOffset; i++ {
12 // We included "und" already for the value 0.
13 if i != nonCanonicalUnd {
14 base = append(base, Language(i))
15 }
16 }
17 i := langNoIndexOffset
18 for _, v := range langNoIndex {
19 for k := 0; k < 8; k++ {
20 if v&1 == 1 {
21 base = append(base, Language(i))
22 }
23 v >>= 1
24 i++
25 }
26 }
27 return base
28}