1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Don't warn for unscoped enums (for now). 6 enum UnscopedEnumIgnored { 7 kMaxValue = -1, 8 kOops = 0, 9 }; 10 11 // Warn if kMaxValue doesn't have the highest enumerator value. 12 enum class NotHighest { 13 kNegative = -1, 14 kZero = 0, 15 kMaxValue = kNegative, 16 }; 17 18 // Also warn if kMaxValue has a unique value: it should share the highest value 19 // to avoid polluting switch statements. 20 enum class MaxValueIsUnique { 21 kNegative = -1, 22 kZero = 0, 23 kMaxValue, 24 }; 25 26 // No warning if everything is right. 27 enum class CorrectMaxValue { 28 kNegative = -1, 29 kZero = 0, 30 kMaxValue = kZero, 31 }; 32 33 // No warning if the enum does not contain kMaxValue. 34 enum class NoMaxValue { 35 kNegative = -1, 36 kZero = 0, 37 kNotMaxValue = 1, 38 }; 39