DefaultSourceIncludesResolverTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Normalize include paths when necessary

    • -1
    • +1
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 1 more file in changeset.
Normalize include paths

Absolute paths which enter the virtual file system need to be

normalized.

    • -1
    • +1
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 1 more file in changeset.
Use a virtual file system everywhere

    • -3
    • +3
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 17 more files in changeset.
Remove some empty lines

    • -1
    • +0
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 1 more file in changeset.
Wrap the patternSet

Instead of using a strategy.

    • -2
    • +2
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 37 more files in changeset.
Do not use PatternSet in snapshots package

Use a pluggable type instead.

    • -1
    • +2
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 43 more files in changeset.
spelling: resolvable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

    • -12
    • +12
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 9 more files in changeset.
Move snapshotting files to own package

    • -1
    • +1
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 134 more files in changeset.
Move indexing logic of macros inside `DefaultIncludeDirectives`

    • -26
    • +10
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 10 more files in changeset.
Create lookup table for macros and macro functions

    • -6
    • +26
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 9 more files in changeset.
Reworked C/C++ include file analysis to better handle large dependency graphs by generating less garbage and fewer intermediate results.

    • -1
    • +1
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 4 more files in changeset.
Don't track the candidate header locations during C/C++ header dependency analysis, as these are no longer used as inputs to the compile tasks. Only the resolved headers are used as inputs.

    • -90
    • +33
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 7 more files in changeset.
Changed C/C++ header file resolution to use `FileSystemSnapshotter` to probe for a header file and remember the details, instead of using `File.isFile()`. The result of resolution is immediately passed to the snapshotter anyway, so this change avoids the additional call to `isFile()`.

    • -36
    • +37
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 7 more files in changeset.
Changed C/C++ dependency analysis to correctly handle macro expanding (or not) the arguments of a macro function when used in a token concatenation expression.

    • -0
    • +33
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 11 more files in changeset.
Changed C/C++ dependency analysis to correctly handle a chain of token concatenation expressions, and allow token concatenation expressions to be used as macro function call parameters.

    • -4
    • +21
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 5 more files in changeset.
Some changes to C/C++ dependency analysis to better handle macro functions that use token concatenation to produce another macro function call. Also changed resolution of an `#include` to an include path to avoid doing work that has already been done for the current source file to calculate macro values.

    • -1
    • +18
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 10 more files in changeset.
Changed C/C++ dependency analysis to handle more kinds of macro function call parameters. Specifically, handle empty parameters, provide an implicit empty parameter when a parameter is missing, allow various token sequences to be provided as a parameter.

    • -37
    • +75
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 18 more files in changeset.
Changed C/C++ dependency analysis to handle more kinds of macro function call parameters within a macro function body. Specifically, substitute macro parameters into all arguments of the macro call and understand arguments that are wrapped in parentheses.

    • -1
    • +18
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 10 more files in changeset.
Changed C/C++ dependency analysis to correctly handle token concatenation expressions in macro function bodies that are invoked from another macro function.

    • -16
    • +60
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 12 more files in changeset.
Changed C/C++ dependency analysis to understand preprocessor token concatenation expressions in macro bodies (eg X##Y).

    • -4
    • +42
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 15 more files in changeset.
Make macro lookup during C/C++ dependency analysis more efficient (or less inefficient really).

    • -1
    • +3
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 5 more files in changeset.
Changed C/C++ dependency analysis to handle macros whose body is a macro function call.

    • -7
    • +7
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 21 more files in changeset.
Changed C/C++ dependency analysis to start to understand "function-like" macros that take parameters. Specifically, handle function invocations whose parameters are macro names on functions whose bodies are either a constant, a macro or one of the function parameters.

    • -2
    • +2
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 17 more files in changeset.
Recognize "function-like" macros with parameters during native compile include file dependency analysis. These are not resolved yet, so when referenced by an include directive result in an unresolved include file (and so all of the include directories are considered inputs of the compilation).

    • -2
    • +13
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 9 more files in changeset.
Separated the types to represent 'object-like' macros and 'function-like' macros in parsed native source.

    • -10
    • +31
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 19 more files in changeset.
Handle "function-like" macros with no parameters during native compile include file dependency analysis.

    • -19
    • +82
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 11 more files in changeset.
Reverted change to reduce amount of garbage created when resolving include files.

    • -1
    • +1
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 1 more file in changeset.
Expand macro values when resolving include files during native compile include file dependency analysis.

Also recognize "function-like" macros used in include directives and macro bodies, for example `#include HEADER()`. These aren't expanded yet and so when referenced by an include directive the include will be treated as unresolved.

    • -9
    • +35
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 11 more files in changeset.
Don't retain the value of a c preprocessor #define directive for when the value is not something that can be resolved to an include value.

    • -13
    • +12
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 8 more files in changeset.
Fixed an issue in native compile dependency analysis where a macro is defined in an include file already included by the current source file.

    • -152
    • +105
    ./DefaultSourceIncludesResolverTest.groovy
  1. … 12 more files in changeset.