Skip to content

[Analyzer] Define pure method contract and interprocedural analysis #10

Description

@mao2009

親Issue

#6

目的

[PureMethod]の契約を、呼び出し先まで含めて一貫して扱えるようにする。

スコープ

  • [PureMethod]をpure contractとして扱うルールの明文化
  • pure methodから呼び出せるmethodの判定
  • 同一compilation内でのsymbol resolution
  • overload / interface / virtual / extension methodの境界
  • recursive call / mutually recursive callの扱い
  • external assemblyの扱い

方針

v1.0では無制限な全プログラム解析を目標にせず、Roslyn Analyzerとして決定可能で再現性の高い範囲を明示する。

完了条件

  • 呼び出し契約が仕様化されている
  • interprocedural analysisの対象範囲が明示されている
  • interface/virtual/overload等のテストがある
  • external dependencyをどう扱うか決定している
  • performanceへの影響を測定している

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions