- 11 8月, 2016 1 次提交
-
-
由 Tomáš Matoušek 提交于
-
- 09 7月, 2016 1 次提交
-
-
由 John Hamby 提交于
-
- 02 7月, 2016 1 次提交
-
-
由 John Hamby 提交于
-
- 30 6月, 2016 2 次提交
-
-
由 John Hamby 提交于
-
由 John Hamby 提交于
-
- 24 6月, 2016 3 次提交
-
-
由 John Hamby 提交于
-
由 John Hamby 提交于
-
由 gafter 提交于
-
- 22 6月, 2016 2 次提交
-
-
由 John Hamby 提交于
-
由 John Hamby 提交于
-
- 06 6月, 2016 1 次提交
-
-
由 Charles Stoner 提交于
-
- 04 3月, 2016 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 24 2月, 2016 2 次提交
-
-
由 Neal Gafter 提交于
-
由 Neal Gafter 提交于
Fixes #7477
-
- 18 2月, 2016 1 次提交
-
-
由 Neal Gafter 提交于
Fixes #8178
-
- 16 10月, 2015 1 次提交
-
-
由 Paul Harrington 提交于
-
- 01 10月, 2015 1 次提交
-
-
由 AlekseyTs 提交于
Fixes #5395. Adjusted Binder, Optimizer, Flow Analysis, code generator and majority of bound tree visitors to not use recursion to handle binary expressions nested on the left side of another binary expression. Adjusted majority of bound tree visitors to detect that stack overflow is about to happen while an expression is being traversed and report a diagnostic pointing to the expression at fault instead of crashing compiler.
-
- 13 9月, 2015 1 次提交
-
-
由 AlekseyTs 提交于
Fixes #4544. There was an assumption that properties cannot share initializer, but this can happen when multiple WithEvents fields are sharing [As New …] initializer. Binder.BindPropertyInitializer is adjusted to handle the case.
-
- 21 8月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 22 7月, 2015 1 次提交
-
-
由 Charles Stoner 提交于
-
- 17 7月, 2015 2 次提交
-
-
由 Charles Stoner 提交于
-
由 Charles Stoner 提交于
-
- 07 7月, 2015 1 次提交
-
-
由 Charles Stoner 提交于
-
- 01 7月, 2015 1 次提交
-
-
由 Charles Stoner 提交于
-
- 10 6月, 2015 1 次提交
-
-
由 Charles Stoner 提交于
-
- 05 6月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 19 5月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 03 5月, 2015 1 次提交
-
-
由 bkoelman 提交于
-
- 23 4月, 2015 1 次提交
-
-
由 Neal Gafter 提交于
Fixes #1958 Closes #1967 (a good year)
-
- 20 4月, 2015 1 次提交
-
-
由 AlekseyTs 提交于
In some scenarios, an attribute application can be “bad” due to an error type in referenced compilation, but without any diagnostics reported for the referencing compilation.
-
- 25 3月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 11 3月, 2015 1 次提交
-
-
由 Jared Parsons 提交于
This is the initial run of the code formatter on the VB compiler source code. Further runs I'll expand on this to include all VB code in a future run.
-
- 07 3月, 2015 3 次提交
-
-
由 Wonseok Chae 提交于
-
由 Wonseok Chae 提交于
-
由 Wonseok Chae 提交于
-
- 06 3月, 2015 1 次提交
-
-
由 Paul Harrington 提交于
-
- 13 2月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 06 2月, 2015 1 次提交
-
-
由 TomasMatousek 提交于
Changes: To enable producing both Portable and native PDB formats we need to move the format specific imports encoding down to the PdbWriter. Instead of constructing NamespaceScope objects containing strings that encode usings/imports the C# and VB constructs that hold on to bound imports (ImportChain in C#, SourceFile in VB) now implement a new CCI-level interface IImportScope that provides an array of UsedTypeOrNamespace for each import scope. UsedTypeOrNamespace struct now doesn’t contain strings but symbols that represent the entities that re referenced in usings/Imports. IImportScope only represents imports on file level and below. Project level imports are exposed via new API on Cci.IModule (GetImports method). To represent a namespace a new CCI-level interface INamespace is introduced and implemented by NamespaceSymbol. In future we could replace usage of qualified namespace strings with this interface in other places in the compiler-CCI interface, but to minimize the impact I have not done so in this change. Background: Currently C# and VB compilers build a list of namespace scopes in NamespaceScopeBuilder that are then passed via MethodBody to the MetadataWriter, which then passes them to the PdbWriter. The NamespaceScopeBuilder encodes various forms of usings, extern aliases and imports in specially formatted strings that the EE understands how to decode. It constructs a list of all usings/imports/extern-aliases/etc. for each method. The PdbWriter then writes these string lists to PDB namespace scope records and implements a forwarding optimization – within a set of methods that have the same usings we designate one that we associate the strings with and the others forward to it. The forwarding is implemented differently by VB and C#. VB also defines some additional namespace scope records for default namespace, NoPia assembly names and method namespace. The new portable PDB format has a different, simpler and more efficient representation of import scopes with the same encoding for C# and VB. Import scopes are first class entities that have parent pointer and thus form a tree. The structure of the tree is language specific. The root of the tree represents a project/compilation-wide import scope. For C# this scope contains assembly reference aliases (/r:Alias=Reference.dll). For VB this scope declares project level imports. The import scope tree for VB is 2 level deep – file level and project level. C# may define deeper trees as namespaces may define their own usings. Also some information that Dev12 encodes in PDB namespace scopes is not used anymore by our new EEs (such as VB NoPia names, VB method namespace). These are not emitted to Portable PDB since the old EEs won’t be able to consume the new format anyways. (changeset 1410225)
-
- 31 1月, 2015 2 次提交
-
-
由 pgavlin 提交于
This is necessary in order to present strings that originate from external APIs (e.g. the System.XML) with proper localization when they are embedded in diagnostics. ***NO_CI*** (changeset 1408070)
-
由 TomasMatousek 提交于
1) Change MethdCompiler.BindMethodBody to associate correct syntax with BoundBlocks it creates when binding constructor with constructor initializer call (two bound blocks are created – outer one defines a closure scope for constructor parameters, the inner one defines a closure scope for variables in the body). 2) Introduce MethodDebugId – a method ordinal and generation ordinal pair 3) Introduce LamdbaDebugInfo and ClosureDebugInfo to represent information (syntax offset) we use to figure out how to map lambdas and closures to the previous generation. 4) Adds a new PDB CDI record (#7) to store lambda and closure debug info. 5) Generalizes CalculateLocalSyntaxOffset to handle positions in field/property initializers and constructor initializers. Use it to calculate syntax offsets of lambdas and closure scopes. (TODO: rename CalculateLocalSyntaxOffset to CalculateSyntaxOffset). 6) Replace lambda and scope ordinal dispenser integers with array builders that collect LambdaDebugInfo and ClosureDebugInfo. 7) Use TryGet- pattern for all VariableSlotAllocator APIs. 8) Implements mapping of lambda method and display class names to previous generation via VariableSlotAllocator. (changeset 1407240)
-