1 /* 2 * Copyright 2016 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SKSL_ASTINTLITERAL 9 #define SKSL_ASTINTLITERAL 10 11 #include "SkSLASTExpression.h" 12 13 namespace SkSL { 14 15 /** 16 * A literal integer. At the AST level, integer literals are always positive; a negative number will 17 * appear as a unary minus being applied to an integer literal. 18 */ 19 struct ASTIntLiteral : public ASTExpression { 20 ASTIntLiteral(Position position, uint64_t value) 21 : INHERITED(position, kInt_Kind) 22 , fValue(value) {} 23 24 SkString description() const override { 25 return to_string(fValue); 26 } 27 28 const uint64_t fValue; 29 30 typedef ASTExpression INHERITED; 31 }; 32 33 } // namespace 34 35 #endif 36