Commit Graph

4 Commits

Author SHA1 Message Date
Xi Ge
fe0046ba26 Parser: calculating interface hash only for primary files. 2018-09-07 14:24:30 -07:00
Saleem Abdulrasool
64268be652 test: invoke python tools properly
Ensure that we use the correct python to run the python based tools.
This also allows these tools to run on Windows which will not
necessarily associate the python script with an interpreter (python).
2018-04-23 17:30:09 -07:00
Dmitri Gribenko
984210aa53 tests: replace '// RUN: rm -rf' '// RUN: mkdir' pairs with '%empty-directory(...)'
These changes were made using a script.
2017-06-04 11:08:39 -07:00
Jordan Rose
396c9f23b4 [Parse] Stop ignoring private decls for incremental purposes. (#3352)
We'd really like to say that private decls can't affect other files,
but we don't have enough information at parse-time:

- Private members of non-private classes still show up in vtables,
  which affects subclasses and callers in other files.

- Private stored properties of non-private structs change the
  layout of the struct.

- Private types may be used in private stored properties, affecting
  the layout of the containing struct.

- Private decls of /any kind/ can be used as the initial value of a
  stored property without an explicit type.

    private class Evil {
      class func defaultAlignment() -> Alignment { return .evil }
    }
    public struct Character {
      // Inferred type here!
      private var alignment = Evil.defaultAlignment()
    }

To be safe and correct, go back to only ignoring method bodies.

https://bugs.swift.org/browse/SR-1030
2016-07-06 12:32:06 -07:00