# Build artifacts and dependencies.
/.children
/.project
/Makefile
/base
/benchmarks-internal
/buildtools
/ipch
/out
/xcodebuild
/.flaky.log
/.debug.log
*.Makefile
*.opensdf
*.sdf
*.sln
*.suo
*.target.mk
*.host.mk
*.vcproj
*.vcxproj
*.vcxproj.filters
/*.vcxproj.user
*.stamp

# Gyp generated files
*.xcodeproj
*.intermediate

# Eclipse config files - also in all subdirectories.
.children
.project
.settings

# IntelliJ project files
*.iml
.idea
CMakeLists.txt
.clang_complete
cmake-build-debug

# Windows toolchain.
win_toolchain

# VS project files
.vs

# VSCode project files
.vscode
.history

# https://github.com/Dart-Code/Dart-Code/issues/1295
/analysis_options.yaml

# analysis server files
compile_commands.json

# GDB files
.gdb_history

# Clangd files
.cache/clangd
.clangd

# Built by chromebot and downloaded from Google Storage
client/tests/drt

# Compiled python binaries
*.pyc

# pydev project file.
.pydevproject

# From the Mac OS X Finder
.DS_Store

# Pub generated "packages" directories and files
packages
pubspec.lock

# Files for native assets auto-generated per checkout.
/.dart_tool/hooks_runner/
/.dart_tool/native_assets_builder/

# Files generated by pub and other dart tools.
.dart_tool/

# Generated by tools/generate_package_config.dart to include extra packages in
# the project.
pubspec_overrides.yaml

# Local pub storage
.pub

# Vim temporary swap files.
*.swp

# Kate temporary files.
*~
*.kate-swp

# Merge files.
*.orig
*.rej

# Generated files.
tools/dartium/out
tools/out
tools/xcodebuild
.test-outcome.log
/outline.dill
/generated/
/crash_logs/
/build/config/gclient_args.gni
/pkg/front_end/testcases/old_dills/
logs/logs.json
logs/results.json
.dart_tool/bisect_dart/
doc/api/
runtime/tools/heapsnapshot/.dart_tool
