Mohamed Hegazy
a99b958484
Manual port of fixe for #1593 from release-1.4
2015-01-13 09:30:54 -08:00
Cyrus Najmabadi
67b2f13cce
Merge branch 'master' into layering
...
Conflicts:
src/compiler/parser.ts
2014-12-18 00:39:56 -08:00
Cyrus Najmabadi
71c82dd33f
Remove obsolete comment.
2014-12-16 15:32:56 -08:00
Cyrus Najmabadi
5a2fb94a95
Clean things up so the services layer can easily emit without having to contort compiler hosts.
2014-12-16 14:42:58 -08:00
Cyrus Najmabadi
f5ad79fe7a
Remove the dependency that TypeChecker and Emitter have on Program.
...
Instead, these layers explicitly specify the functionality they need, and don't take in anything extra.
2014-12-16 14:12:17 -08:00
Cyrus Najmabadi
b665323d45
Make the emitter no longer depend on the Program.
...
This breaks layering. Also, it means the emitter depends on too large a surface area.
Now the emitter declares exactly what it needs, and only gets that.
2014-12-16 13:52:47 -08:00
Cyrus Najmabadi
96c3c90d9a
Rename typechecker parameter related to whether or not we produce diagnostics.
...
Comment what the flag means.
2014-12-16 13:30:34 -08:00
Cyrus Najmabadi
4aa361d4bf
Layer the compiler so that every layer only depends on hte layers below it.
...
The layering is now:
types
core
scanner
parser
binder
checker
emitter
program
2014-12-16 13:14:14 -08:00