OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Generates JavaScript source files from a mojom.Module.""" | 5 """Generates JavaScript source files from a mojom.Module.""" |
6 | 6 |
7 import mojom.generate.generator as generator | 7 import mojom.generate.generator as generator |
8 import mojom.generate.module as mojom | 8 import mojom.generate.module as mojom |
9 import mojom.generate.pack as pack | 9 import mojom.generate.pack as pack |
10 from mojom.generate.template_expander import UseJinja | 10 from mojom.generate.template_expander import UseJinja |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 # NamespaceUid.Struct[.Enum].CONSTANT_NAME | 167 # NamespaceUid.Struct[.Enum].CONSTANT_NAME |
168 name = [] | 168 name = [] |
169 if token.imported_from: | 169 if token.imported_from: |
170 name.append(token.imported_from["unique_name"]) | 170 name.append(token.imported_from["unique_name"]) |
171 if token.parent_kind: | 171 if token.parent_kind: |
172 name.append(token.parent_kind.name) | 172 name.append(token.parent_kind.name) |
173 if isinstance(token, mojom.EnumValue): | 173 if isinstance(token, mojom.EnumValue): |
174 name.append(token.enum_name) | 174 name.append(token.enum_name) |
175 name.append(token.name) | 175 name.append(token.name) |
176 return ".".join(name) | 176 return ".".join(name) |
| 177 |
| 178 if token == "double.INFINITY" or token == "float.INFINITY": |
| 179 return "Infinity"; |
| 180 if token == "double.NEGATIVE_INFINITY" or token == "float.NEGATIVE_INFINITY": |
| 181 return "-Infinity"; |
| 182 if token == "double.NAN" or token == "float.NAN": |
| 183 return "NaN"; |
| 184 |
177 return token | 185 return token |
178 | 186 |
179 | 187 |
180 def ExpressionToText(value): | 188 def ExpressionToText(value): |
181 return TranslateConstants(value) | 189 return TranslateConstants(value) |
182 | 190 |
183 | 191 |
184 def IsArrayPointerField(field): | 192 def IsArrayPointerField(field): |
185 return mojom.IsAnyArrayKind(field.kind) | 193 return mojom.IsAnyArrayKind(field.kind) |
186 | 194 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 self.Write(self.GenerateJsModule(), "%s.js" % self.module.name) | 238 self.Write(self.GenerateJsModule(), "%s.js" % self.module.name) |
231 | 239 |
232 def GetImports(self): | 240 def GetImports(self): |
233 # Since each import is assigned a variable in JS, they need to have unique | 241 # Since each import is assigned a variable in JS, they need to have unique |
234 # names. | 242 # names. |
235 counter = 1 | 243 counter = 1 |
236 for each in self.module.imports: | 244 for each in self.module.imports: |
237 each["unique_name"] = "import" + str(counter) | 245 each["unique_name"] = "import" + str(counter) |
238 counter += 1 | 246 counter += 1 |
239 return self.module.imports | 247 return self.module.imports |
OLD | NEW |