[!IMPORTANT] This page was copied from https://github.com/dart-lang/sdk/wiki and needs review. Please contribute changes to bring it up-to-date - removing this header - or send a CL to delete the file.


Developer notes for working on kernel

How to test changes on pkg/kernel:

Run dartanalyzer in strong mode:

(cd pkg/kernel && dartanalyzer --strong bin lib test)

Run unit tests of kernel, front_end, and dart2js that are directly affected:

./tools/test.py pkg/kernel -mrelease --checked
./tools/test.py pkg/front_end -mrelease --checked
./tools/test.py dart2js/kernel -mrelease --checked

Run end-to-end tests using dartk + VM:

./tools/test.py -m release -c dartk language

Optionally (this is slow) run end-to-end tests using AOT:

./tools/build.py dart_precompiled_runtime
./tools/test.py -cdartkp -rdart_precompiled language co19

Comparing the output of compiling dart2js before and after the change. This script can make it easier to compare the results.