mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add "interface hash" for improved incremental builds.
Compute the hash of all interface tokens when parsing; write the interface hash to the swiftdeps file, or if the -dump-interface-hash option is passed to the frontend. This hash will be used in incremental mode to determine whether a file's interface has changed, and therefore whether dependent files need to be rebuilt in response to the change. Committed on ChrisW's behalf while he gets his setup unborked. rdar://problem/15352929 Swift SVN r30477
This commit is contained in:
@@ -168,6 +168,8 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
Action = FrontendOptions::DumpAST;
|
||||
} else if (Opt.matches(OPT_dump_type_refinement_contexts)) {
|
||||
Action = FrontendOptions::DumpTypeRefinementContexts;
|
||||
} else if (Opt.matches(OPT_dump_interface_hash)) {
|
||||
Action = FrontendOptions::DumpInterfaceHash;
|
||||
} else if (Opt.matches(OPT_print_ast)) {
|
||||
Action = FrontendOptions::PrintAST;
|
||||
} else if (Opt.matches(OPT_repl) ||
|
||||
@@ -336,6 +338,7 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
|
||||
case FrontendOptions::Parse:
|
||||
case FrontendOptions::DumpParse:
|
||||
case FrontendOptions::DumpInterfaceHash:
|
||||
case FrontendOptions::DumpAST:
|
||||
case FrontendOptions::PrintAST:
|
||||
case FrontendOptions::DumpTypeRefinementContexts:
|
||||
@@ -524,6 +527,7 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
switch (Opts.RequestedAction) {
|
||||
case FrontendOptions::NoneAction:
|
||||
case FrontendOptions::DumpParse:
|
||||
case FrontendOptions::DumpInterfaceHash:
|
||||
case FrontendOptions::DumpAST:
|
||||
case FrontendOptions::PrintAST:
|
||||
case FrontendOptions::DumpTypeRefinementContexts:
|
||||
@@ -549,6 +553,7 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
switch (Opts.RequestedAction) {
|
||||
case FrontendOptions::NoneAction:
|
||||
case FrontendOptions::DumpParse:
|
||||
case FrontendOptions::DumpInterfaceHash:
|
||||
case FrontendOptions::DumpAST:
|
||||
case FrontendOptions::PrintAST:
|
||||
case FrontendOptions::DumpTypeRefinementContexts:
|
||||
@@ -576,6 +581,7 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
case FrontendOptions::NoneAction:
|
||||
case FrontendOptions::Parse:
|
||||
case FrontendOptions::DumpParse:
|
||||
case FrontendOptions::DumpInterfaceHash:
|
||||
case FrontendOptions::DumpAST:
|
||||
case FrontendOptions::PrintAST:
|
||||
case FrontendOptions::DumpTypeRefinementContexts:
|
||||
|
||||
Reference in New Issue
Block a user