1. 19 5月, 2015 1 次提交
  2. 17 5月, 2015 1 次提交
  3. 16 5月, 2015 1 次提交
  4. 15 5月, 2015 1 次提交
    • A
      Pass correct context type to runtime binder · a38e55fa
      Andrew Casey 提交于
      Runtime binder calls take a System.Type that they use for things like
      accessibility checks.  The expression compiler was incorrectly passing the
      result type it synthesized and the regular compiler was incorrectly
      passing a nested type in the async lambda case.
      
      Fixes #878
      a38e55fa
  5. 14 5月, 2015 1 次提交
    • A
      Expand transparent identifiers in the EE · ec4d462d
      Andrew Casey 提交于
      ...the same way we expand display classes and state machines.  If we see a
      local or parameter with a transparent identifier generated/mangled name,
      we should instead include the properties of its (anonymous) type in our
      list of bindable symbols.
      
      Points of interest:
      1. Transparent identifiers can be chained (i.e. have transparent
      identifier properties).
      2. Transparent identifiers can be captured (i.e. they might be display
      class fields, rather than locals or parameters).
      3. Display class instance locals cannot appear within transparent
      identifiers (i.e. the recursion goes in only one direction).
      4. For the benefit of the debugger, we're actually using fields, rather
      than properties.  As a bonus, this was more consistent with the display
      class case and, therefore, easier to implement.
      
      TODO: Make a (hopefully) similar change in VB.
      ec4d462d
  6. 08 5月, 2015 1 次提交
  7. 06 5月, 2015 4 次提交
    • A
      Address PR feedback · 5ea86ba0
      Andrew Casey 提交于
      Move aliases out of ```EvaluationContext``` so that they don't interfere with our caching strategy.
      
      Clean up the overall diff.
      5ea86ba0
    • A
      Return name and fullname for each local · d5ae74b7
      Andrew Casey 提交于
      Populate the new DkmClrLocalVariableInfo.FullName property.
      
      Note: FullName is the expression used for Add Watch and will generally be
      the local's name, whereas Name is the string displayed in the Locals
      window and may be a prose description of the local (i.e. not the local's
      name).
      d5ae74b7
    • A
      Consume the new GetAliases API · cce8fa9f
      Andrew Casey 提交于
      1) Instead of asking for the type of an individual alias to determine if
      it exists in the current context, ask for a list of all aliases up front.
      
      2) Include aliases in the result of CompileGetLocals (so that the debugger
      no longer has to partially populate the window).
      
      Bonus: Fixes #878.
      cce8fa9f
    • A
      e99fcb35
  8. 01 5月, 2015 1 次提交
    • K
      Fix Locals in async lambdas... · cdf941c8
      Kevin Halverson 提交于
      We shouldn't ignore custom debug info for a method just because it doesn't contain import records.  It may still contain info about local variable scopes, dynamic info, etc...
      
      Note:  VB did not have a problem with this scenario, but I added a unit test for good measure.
      
      (fixes #2240)
      cdf941c8
  9. 23 4月, 2015 1 次提交
    • A
      Add support for "dynamic" in the expression compiler · f2cac222
      Andrew Casey 提交于
      This is the second of a sequence of changes.  (The first was 3dd1f2bf.)  In
      this change we start returning custom type info (effectively just the
      flags of DynamicAttribute packed into a byte array) from calls to the
      expression compiler so that they can be consumed by the result provider.
      
      TODO: The API for locals is still in flux and we don't presently have a
      place to return the custom type info.
      
      TODO: This change does not associate custom type info with locals declared
      in the Immediate window.
      f2cac222
  10. 21 4月, 2015 1 次提交
  11. 21 3月, 2015 1 次提交
    • A
      Introduce a hoisted local scope abstraction · 8fd67124
      Andrew Casey 提交于
      Since hoisted locals are fields, they are in scope throughout the entire
      method body.  However, from the user's perspective, they are still locals,
      so we attempt to retain their original scopes during debugging.
      Unfortunately, C# and VB use different mechanisms for doing so.  In order
      to make the code more consistent, and to simplify consumption of the new
      PDB format (which is more similar to C#), we introduce an abstract type
      InScopeHoistedLocals that represents the set of in-scope hoisted locals in
      a consistent way in both languages (and both PDB formats).
      8fd67124
  12. 14 3月, 2015 1 次提交
  13. 28 2月, 2015 1 次提交
    • B
      Code formatter run · ae1aeb41
      beep boop 提交于
      Been almost a month since the code formatter was run so this change was
      a bit larger than would be expected for a normal (weekly) update.  Diffs
      mostly around:
      
      - Whitespace changes
      - Missing copyright headers
      - Missing visibility modifiers
      ae1aeb41
  14. 23 2月, 2015 1 次提交
    • A
      Introduce an abstraction layer over PDB imports · 35f462c8
      Andrew Casey 提交于
      In the dev12 PDB format, usings and imports were encoded as strings in
      PDB files.  The strings were structured, but required a certain amount of
      guesswork (for example, you might not know whether you were importing a
      type or a namespace until after binding).  In the new PDB format, usings
      and imports are represented as structured blobs and tokens are used
      wherever possible.
      
      This change introduces two new class hierarchies, ImportRecord and
      ExternAliasRecord, that the expression compiler can pass around instead
      of raw strings.  Unfortunately, there is still switching logic in two
      places - both when these types are instantiated and when they are
      consumed.  The instantiation switch is very simple - we just check for
      the appropriate version of ISymUnmanagedReaderX.  The consumption logic
      is more complex, because the new and old representations differ
      substantially.
      
      TODO: Presently, there is very little code for consuming the new PDB
      format, since the APIs are not yet available.
      35f462c8
  15. 21 2月, 2015 1 次提交
    • A
      Introduce an abstraction layer over PDB imports · c2ba34e8
      Andrew Casey 提交于
      In the dev12 PDB format, usings and imports were encoded as strings in
      PDB files.  The strings were structured, but required a certain amount of
      guesswork (for example, you might not know whether you were importing a
      type or a namespace until after binding).  In the new PDB format, usings
      and imports are represented as structured blobs and tokens are used
      wherever possible.
      
      This change introduces two new class hierarchies, ImportRecord and
      ExternAliasRecord, that the expression compiler can pass around instead
      of raw strings.  Unfortunately, there is still switching logic in two
      places - both when these types are instantiated and when they are
      consumed.  The instantiation switch is very simple - we just check for
      the appropriate version of ISymUnmanagedReaderX.  The consumption logic
      is more complex, because the new and old representations differ
      substantially.
      
      TODO: Presently, there is very little code for consuming the new PDB
      format, since the APIs are not yet available.
      c2ba34e8
  16. 20 2月, 2015 1 次提交
  17. 12 2月, 2015 1 次提交
  18. 11 2月, 2015 1 次提交
  19. 06 2月, 2015 1 次提交