Project Roslyn
Exposing the C# and Visual Basic compilers’ code analysis
Dustin Campbell Senior Program Manager Microsoft
Project Roslyn Exposing the C# and Visual Basic compilers code - - PowerPoint PPT Presentation
Project Roslyn Exposing the C# and Visual Basic compilers code analysis Dustin Campbell Senior Program Manager Microsoft Project Codename Roslyn Scope Managed compilers & language services Code analysis APIs
Exposing the C# and Visual Basic compilers’ code analysis
Dustin Campbell Senior Program Manager Microsoft
Syntax Tree API Symbol API Binding and Flow Analysis APIs Emit API Parser
Metadata Import
Binder IL Emitter Symbols
Language Service Compiler API Compiler Pipeline
Formatter Colorizer Outlining Navigate To Object Browser Completion List Find All References Rename Quick Info Signature Help Extract Method Go To Definition Edit and Continue
class C { void M() { } }// C ▫
CompilationUnit TypeDeclaration MethodDeclaration ParameterList Block
SyntaxTree GetRoot
class C { void M() { } }// C ▫
CompilationUnit TypeDeclaration MethodDeclaration ParameterList Block
SyntaxTree GetRoot
EOF class C { } void M ( ) { }
EOF class C { } void M ( ) { }
class∙C { ∙∙∙∙void∙M() ∙∙∙∙{ ∙∙∙∙} }// C ▫
EOF class C { } void M ( ) { } SP EOL EOL EOL EOL EOL EOL
class∙C { ∙∙∙∙void∙M() ∙∙∙∙{ ∙∙∙∙} }// C ▫
// C SPx4 SPx4 SPx4 SP
SyntaxTrees References
Compilation
Apply Edit Edit SyntaxTree Compilation Events (e.g. key presses)