| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 /// Set of flags and options passed to the compiler | 5 /// Set of flags and options passed to the compiler |
| 6 library dev_compiler.src.options; | 6 library dev_compiler.src.options; |
| 7 | 7 |
| 8 import 'dart:io'; | 8 import 'dart:io'; |
| 9 | 9 |
| 10 import 'package:args/args.dart'; | 10 import 'package:args/args.dart'; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 | 68 |
| 69 /// Whether to use covariant generics | 69 /// Whether to use covariant generics |
| 70 final bool covariantGenerics; | 70 final bool covariantGenerics; |
| 71 | 71 |
| 72 /// Whether to inject casts between Dart assignable types. | 72 /// Whether to inject casts between Dart assignable types. |
| 73 final bool relaxedCasts; | 73 final bool relaxedCasts; |
| 74 | 74 |
| 75 /// Whether to use static types for code generation. | 75 /// Whether to use static types for code generation. |
| 76 final bool ignoreTypes; | 76 final bool ignoreTypes; |
| 77 | 77 |
| 78 /// Whether to wrap closures for compatibility. |
| 79 final bool wrapClosures; |
| 80 |
| 78 RulesOptions({this.allowConstCasts: true, this.covariantGenerics: true, | 81 RulesOptions({this.allowConstCasts: true, this.covariantGenerics: true, |
| 79 this.relaxedCasts: true, this.ignoreTypes: false}); | 82 this.relaxedCasts: true, this.ignoreTypes: false, |
| 83 this.wrapClosures: true}); |
| 80 } | 84 } |
| 81 | 85 |
| 82 class JSCodeOptions { | 86 class JSCodeOptions { |
| 83 /// Whether to emit the source map files. | 87 /// Whether to emit the source map files. |
| 84 final bool emitSourceMaps; | 88 final bool emitSourceMaps; |
| 85 | 89 |
| 86 JSCodeOptions({this.emitSourceMaps: true}); | 90 JSCodeOptions({this.emitSourceMaps: true}); |
| 87 } | 91 } |
| 88 | 92 |
| 89 /// General options used by the dev compiler. | 93 /// General options used by the dev compiler. |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 final bool onlyInferConstsAndFinalFields; | 189 final bool onlyInferConstsAndFinalFields; |
| 186 | 190 |
| 187 /// List of non-nullable types. | 191 /// List of non-nullable types. |
| 188 @override | 192 @override |
| 189 final List<String> nonnullableTypes; | 193 final List<String> nonnullableTypes; |
| 190 | 194 |
| 191 /// Whether to use static types for code generation. | 195 /// Whether to use static types for code generation. |
| 192 @override | 196 @override |
| 193 final bool ignoreTypes; | 197 final bool ignoreTypes; |
| 194 | 198 |
| 199 /// Whether to wrap closures for compatibility. |
| 200 @override |
| 201 final bool wrapClosures; |
| 202 |
| 195 /// Whether to emit the source map files. | 203 /// Whether to emit the source map files. |
| 196 @override | 204 @override |
| 197 final bool emitSourceMaps; | 205 final bool emitSourceMaps; |
| 198 | 206 |
| 199 /// Location for runtime files, such as `dart_runtime.js`. By default this is | 207 /// Location for runtime files, such as `dart_runtime.js`. By default this is |
| 200 /// inferred to be under `lib/runtime/` in the location of the `dev_compiler` | 208 /// inferred to be under `lib/runtime/` in the location of the `dev_compiler` |
| 201 /// package (if we can infer where that is located). | 209 /// package (if we can infer where that is located). |
| 202 final String runtimeDir; | 210 final String runtimeDir; |
| 203 | 211 |
| 204 CompilerOptions({this.allowConstCasts: true, this.checkSdk: false, | 212 CompilerOptions({this.allowConstCasts: true, this.checkSdk: false, |
| 205 this.dumpInfo: false, this.dumpInfoFile, this.dumpSrcDir, | 213 this.dumpInfo: false, this.dumpInfoFile, this.dumpSrcDir, |
| 206 this.forceCompile: false, this.formatOutput: false, | 214 this.forceCompile: false, this.formatOutput: false, |
| 207 this.cheapTestFormat: false, this.ignoreTypes: false, this.outputDir, | 215 this.cheapTestFormat: false, this.ignoreTypes: false, |
| 208 this.outputDart: false, this.useColors: true, | 216 this.wrapClosures: true, this.outputDir, this.outputDart: false, |
| 209 this.covariantGenerics: true, this.relaxedCasts: true, | 217 this.useColors: true, this.covariantGenerics: true, |
| 210 this.useMultiPackage: false, this.packageRoot: 'packages/', | 218 this.relaxedCasts: true, this.useMultiPackage: false, |
| 211 this.packagePaths: const <String>[], | 219 this.packageRoot: 'packages/', this.packagePaths: const <String>[], |
| 212 this.inferFromOverrides: ResolverOptions.inferFromOverridesDefault, | 220 this.inferFromOverrides: ResolverOptions.inferFromOverridesDefault, |
| 213 this.inferTransitively: ResolverOptions.inferTransitivelyDefault, | 221 this.inferTransitively: ResolverOptions.inferTransitivelyDefault, |
| 214 this.onlyInferConstsAndFinalFields: ResolverOptions.onlyInferConstAndFinal
FieldsDefault, | 222 this.onlyInferConstsAndFinalFields: ResolverOptions.onlyInferConstAndFinal
FieldsDefault, |
| 215 this.nonnullableTypes: TypeOptions.NONNULLABLE_TYPES, this.help: false, | 223 this.nonnullableTypes: TypeOptions.NONNULLABLE_TYPES, this.help: false, |
| 216 this.useMockSdk: false, this.dartSdkPath, this.logLevel: Level.SEVERE, | 224 this.useMockSdk: false, this.dartSdkPath, this.logLevel: Level.SEVERE, |
| 217 this.emitSourceMaps: true, this.entryPointFile: null, | 225 this.emitSourceMaps: true, this.entryPointFile: null, |
| 218 this.serverMode: false, this.host: 'localhost', this.port: 8080, | 226 this.serverMode: false, this.host: 'localhost', this.port: 8080, |
| 219 this.runtimeDir}); | 227 this.runtimeDir}); |
| 220 } | 228 } |
| 221 | 229 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 248 | 256 |
| 249 return new CompilerOptions( | 257 return new CompilerOptions( |
| 250 allowConstCasts: args['allow-const-casts'], | 258 allowConstCasts: args['allow-const-casts'], |
| 251 checkSdk: args['sdk-check'], | 259 checkSdk: args['sdk-check'], |
| 252 dumpInfo: dumpInfo, | 260 dumpInfo: dumpInfo, |
| 253 dumpInfoFile: args['dump-info-file'], | 261 dumpInfoFile: args['dump-info-file'], |
| 254 dumpSrcDir: args['dump-src-to'], | 262 dumpSrcDir: args['dump-src-to'], |
| 255 forceCompile: args['force-compile'] || serverMode, | 263 forceCompile: args['force-compile'] || serverMode, |
| 256 formatOutput: args['dart-gen-fmt'], | 264 formatOutput: args['dart-gen-fmt'], |
| 257 ignoreTypes: args['ignore-types'], | 265 ignoreTypes: args['ignore-types'], |
| 266 wrapClosures: args['wrap-closures'], |
| 258 outputDart: args['dart-gen'], | 267 outputDart: args['dart-gen'], |
| 259 outputDir: outputDir, | 268 outputDir: outputDir, |
| 260 covariantGenerics: args['covariant-generics'], | 269 covariantGenerics: args['covariant-generics'], |
| 261 relaxedCasts: args['relaxed-casts'], | 270 relaxedCasts: args['relaxed-casts'], |
| 262 useColors: useColors, | 271 useColors: useColors, |
| 263 useMultiPackage: args['use-multi-package'], | 272 useMultiPackage: args['use-multi-package'], |
| 264 packageRoot: args['package-root'], | 273 packageRoot: args['package-root'], |
| 265 packagePaths: args['package-paths'].split(','), | 274 packagePaths: args['package-paths'].split(','), |
| 266 inferFromOverrides: args['infer-from-overrides'], | 275 inferFromOverrides: args['infer-from-overrides'], |
| 267 inferTransitively: args['infer-transitively'], | 276 inferTransitively: args['infer-transitively'], |
| (...skipping 17 matching lines...) Expand all Loading... |
| 285 ..addFlag('allow-const-casts', | 294 ..addFlag('allow-const-casts', |
| 286 help: 'Allow casts in const contexts', defaultsTo: true) | 295 help: 'Allow casts in const contexts', defaultsTo: true) |
| 287 ..addFlag('sdk-check', | 296 ..addFlag('sdk-check', |
| 288 abbr: 's', help: 'Typecheck sdk libs', defaultsTo: false) | 297 abbr: 's', help: 'Typecheck sdk libs', defaultsTo: false) |
| 289 ..addFlag('mock-sdk', | 298 ..addFlag('mock-sdk', |
| 290 abbr: 'm', help: 'Use a mock Dart SDK', defaultsTo: false) | 299 abbr: 'm', help: 'Use a mock Dart SDK', defaultsTo: false) |
| 291 ..addFlag('covariant-generics', | 300 ..addFlag('covariant-generics', |
| 292 help: 'Use covariant generics', defaultsTo: true) | 301 help: 'Use covariant generics', defaultsTo: true) |
| 293 ..addFlag('ignore-types', | 302 ..addFlag('ignore-types', |
| 294 help: 'Ignore types during codegen', defaultsTo: false) | 303 help: 'Ignore types during codegen', defaultsTo: false) |
| 304 ..addFlag('wrap-closures', help: 'wrap closures implicitly', defaultsTo: true) |
| 295 ..addFlag('relaxed-casts', | 305 ..addFlag('relaxed-casts', |
| 296 help: 'Cast between Dart assignable types', defaultsTo: true) | 306 help: 'Cast between Dart assignable types', defaultsTo: true) |
| 297 ..addOption('nonnullable', | 307 ..addOption('nonnullable', |
| 298 abbr: 'n', | 308 abbr: 'n', |
| 299 help: 'Comma separated string of non-nullable types', | 309 help: 'Comma separated string of non-nullable types', |
| 300 defaultsTo: null) | 310 defaultsTo: null) |
| 301 ..addFlag('infer-from-overrides', | 311 ..addFlag('infer-from-overrides', |
| 302 help: 'Infer unspecified types of fields and return types from\n' | 312 help: 'Infer unspecified types of fields and return types from\n' |
| 303 'definitions in supertypes', | 313 'definitions in supertypes', |
| 304 defaultsTo: ResolverOptions.inferFromOverridesDefault) | 314 defaultsTo: ResolverOptions.inferFromOverridesDefault) |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 // The pub-cache directory is two levels up, but we verify that the layout | 405 // The pub-cache directory is two levels up, but we verify that the layout |
| 396 // looks correct. | 406 // looks correct. |
| 397 if (path.basename(dir) != 'dev_compiler') return null; | 407 if (path.basename(dir) != 'dev_compiler') return null; |
| 398 dir = path.dirname(dir); | 408 dir = path.dirname(dir); |
| 399 if (path.basename(dir) != 'global_packages') return null; | 409 if (path.basename(dir) != 'global_packages') return null; |
| 400 dir = path.dirname(dir); | 410 dir = path.dirname(dir); |
| 401 return path.join(dir, cacheDir, 'lib', 'runtime'); | 411 return path.join(dir, cacheDir, 'lib', 'runtime'); |
| 402 } | 412 } |
| 403 return null; | 413 return null; |
| 404 } | 414 } |
| OLD | NEW |