- 12 4月, 2014 6 次提交
-
-
由 ChuckStoner 提交于
Added BoundExpression.SuppressVirtualCalls and BoundConversion.IsBaseConversion properties and changed Emit to use SuppressVirtualCalls (changeset 1229384)
-
由 heejaechang 提交于
-
由 nslottow 提交于
Added the first diagnostic analyzer (+tests) which will eventually analyze Roslyn.sln. It produces the following diagnostics: RS0001: Use SpecializedCollections.EmptyEnumerable<T>() instead of allocating an array of length 0 or using System.Linq.Enumerable.Empty<T>() RS0002: Use SpecializedCollections.SingletonEnumerable<T>() instead of allocating an array of length 1. In order to get RS0002 completely correct, analyzers need to be able to do data flow analysis, so there are a few skipped tests for now. In the process of implementing the unit tests, I also pulled the diagnostic analyzer test base into a separate project, DiagnosticsTestUtilities. I updated the analyzer test base to provide output formatted to be immediately usable in test cases, similar to the compiler diagnostics tests. (changeset 1229264)
-
由 mattwar 提交于
The change moves the code fix and code refactoring interfaces (and support classes) to workspace layer. (changeset 1229162)
-
由 heejaechang 提交于
while moving down tests from another layer, some of tests arguements got disordered. (changeset 1228966)
-
由 srivatsn 提交于
There are three changes in this changeset: - The ruleset editor needs to group diagnostics based on the analyzer reference that it came from. The call to GetAllDiagnosticDescriptors now returns a map from analyzerName->descriptors in that reference. When we crack open analyzer references, we were simply storing a flat list of all the analyzers. I'm changing it to store the analyzer names as well. While adding tests for these I found two other issues: - GetDiagnosticState was computing projectSpecificProviderId by substracting the sharedId but the ProjectAndStates was also doing it resulting in double decrement. Fixing by removing it in one place. - A call to DiagnosticService.GetDiagnostics doesn't force compute diagnostics if an analyzer has never run before. Fixing by computing based on flag. (changeset 1228917)
-
- 11 4月, 2014 4 次提交
-
-
由 heejaechang 提交于
-
由 manishv 提交于
Ensure that we detect semantic changes in if statement condition during cast simplification. This change "fixes #61" (changeset 1227918)
-
由 YingP99 提交于
Update test with won't fix bug#530071 (Roslyn not report warning for unreachable code in a branch of conditional operator ? :) (changeset 1227903)
-
由 TomasMatousek 提交于
We stored a CorLib assembly symbol (one that doesn't have any references and defines System.Object) on ReferenceManager. The instance of the manager is shared across compilations derived via Clone() or WithXxx() unless the metadata reference binding changes. If the compilation itself was CorLib we shared its source assembly symbol as a CorLib assembly with the derived compilations, which broke symbol equality. This change replaces an explicit CorLib reference in the ReferenceManager with null if the CorLib is the compilation being compiled. We have the assembly CorLib symbol in hand when reading the state so we can fill the right symbol in. Also refactors VB code in ReferenceManager to exactly match C# implementation. Resolves #43. (changeset 1227802)
-
- 10 4月, 2014 7 次提交
-
-
由 MuradT 提交于
Change the VB type inferrer to match C# behavior and infer Integer for both sides of <<= and >>= operators. The right side in particular is important: it must be an something that widens to an Integer, so that should be the default inferrer behavior. This change also contains adds an abstract TypeInferrerTestBase class to avoid duplicating unit test infrastructure across VB/C#, and fixes a small bug in the VB unit test infrastructure to call the node-based invocation of the inferrer. (changeset 1226991)
-
由 TomasMatousek 提交于
Also SourceReferenceResolver.NormalizePath should be allowed to return null if the given path can't be normalized. The callers then decide what to do, e.g. use the raw path. (changeset 1226942)
-
由 mattwar 提交于
FeaturePacks have changed to become HostServices. IWorkspaceServiceProvider has become HostWorkspaceServices ILanguageServiceProvider has become HostLanguageServices HostWorkspaceServices can be accessed directly from Workspace.Services. HostLanguageServices can be accessed directly from Project.LanguageServices. Some of the existing workspace and language services have been made public. (changeset 1226729)
-
由 astasyuk 提交于
This fixes EncodedStringText to apply the binary file detection heuristic to text in any encoding, and also correctly pick Encoding.Default (system locale-dependent) instead of Windows-1252, when encoding is not specified. Previously, the heuristic only applied if system default codepage was 1252 (default for ENU), thus when a random binary file was passed to command-line compiler as a source code argument on a system with non-ENU locale, a huge number of diagnostics were issued and compiler crashed with an OutOfMemoryException. This was promptly patched before BUILD by always picking Windows-1252 if encoding was unspecified, thus introducing a breaking change to users on non-ENU systems - if they had non-Unicode sources with extended ASCII characters, their code could fail to compile when transitioning from native compiler to Roslyn. This fix rolls back this change, and also changes the heuristic to rely on comparing decoded characters to NUL, instead of looking at encoded bytes. (The heuristic is to look for two consecutive NUL characters in decoded character stream, and if those are found, fail the decoding process.) The latter seemed to be applicable to vast majority of possible encodings, with a notable exception of UTF-16 and UTF-32, where two consecutive zero bytes could appear in a legitimate text file. Relying on characters allows us to not depend on the encoding choice. As a slight downside we're now decoding the entire string (reader.ReadToEnd) before applying the heuristic, though this seems negligible compared to parsing/binding, which takes much more time - we're avoiding that for detected binary files. On the other hand, we're now relying on trusted StreamReader to decode a string, instead of implementing buffered decoding logic ourselves, as we previously did in DecodeIfNotBinary, and which was prone to buffer boundary errors if we ever used it for multi-byte encodings (though we only called this method for Windows-1252). (changeset 1226686)
-
由 RoslynTeam 提交于
-
-
由 chandera 提交于
Initial work to add options pages that allow users to adjust simplification options. (changeset 1226565)
-
- 09 4月, 2014 9 次提交
-
-
由 VSadov 提交于
Reverting the changes that introduced asynchronous reading of source files in batch compile scenarios It appeared that the change did not result in noticeable improvements in IO throughput in scenarios where it matters. That is most likely because async reading would be beneficial in a case of reading a small number of large files, while we typically have the opposite - large number of small files. On the other hand, on not IO-bound scenarios, the change resulted in parsing throughput regressions since it can cause oversubscription of threadpool. (changeset 1226132)
-
由 jasonmalinowski 提交于
- when a CodeGenerationMethodSymbol was cloned, it lost it's underlying type (constructor vs. destructor vs. ordinary) - when a VB constructor was generated, it wouldn't get the SyntaxAnnotations applied that it should. (changeset 1225875)
-
由 Pharring 提交于
With the Roslyn compiler, the LargeAddressAware bit is already set for VBCSCompiler.exe which is the only project that needs that option. This is different from the native compiler and I'm still tracking down whether it's an intentional change or an accidental one. In any case, the task, as written, didn't work well for incremental builds. (changeset 1225825)
-
由 AlekseyTs 提交于
VB: Use IsIntrinsicType instead of IsIntrinsicValueType in DetermineMostSpecificNarrowingConversion (resolves #31). (changeset 1225726)
-
由 heejaechang 提交于
made ProjectState not to capture itself when creating version check async lazy. otherwise, there is a possibility of us creating a long list of chain for lazy version calculation. (changeset 1225664)
-
由 skytribe 提交于
Additional test coverage for BC41000 warning generated but roslyn intentionally does not. (changeset 1225515)
-
由 YingP99 提交于
Bug fix: change 'HasStructuredTrivia' modifier to public on SyntaxToken (others are already public) (changeset 1225508)
-
由 jasonmalinowski 提交于
This type was already marked [Serializable], but it recently became unserializable when a field of type ImmutableArray was added. We add an ISerializable implementation to work around the non-serializable field. (changeset 1225493)
-
由 AlekseyTs 提交于
C# Overload Resolution: Unify handling of expression and statement lambdas for the purpose of checking for exactly matching expression (resolves #30). (changeset 1225451)
-
- 08 4月, 2014 9 次提交
-
-
由 heejaechang 提交于
-
由 skytribe 提交于
Additional test coverage for BC41000 warning generated but roslyn intentionally does not. (changeset 1224846)
-
由 skytribe 提交于
-
由 skytribe 提交于
Prefix command line output for vb command line compiler which does not have any location to "vbc : " for compatibility. (changeset 1224794)
-
由 ChuckStoner 提交于
-
由 nmgafter 提交于
-
由 chandera 提交于
Now that we run incremental analyzers in the preview workspace, only run analyzers on workspaces whose kind they support. (changeset 1224653)
-
由 jmarolf 提交于
-
由 RoslynTeam 提交于
-
- 06 4月, 2014 1 次提交
-
-
由 Petr Onderka 提交于
The type in the error message may indeed be a non-static class, but it could also be something else, like an enum or a struct.
-
- 05 4月, 2014 4 次提交
-
-
由 nmgafter 提交于
-
由 TomasMatousek 提交于
- Introduces VisualStudioMetadataReference that represents a metadata reference in a project system -- this used to be StandardMetadataReference in MetadataReferenceProvider. When this reference is observed by the workspace a snapshot (compiler PortableExecutableReference) is created with a timestamp. We need to create these snapshots and mark them with a timestamp so that we can get back their past state from past solution snapshots. - Previous VisualStudioMetadataReferenceProvider (now named VisualStudioMetadataReferenceManager) doesn't derive from MetadataReferenceProvider anymore. MetadataReferenceProvider is meant to support #r directives, not being a base class for all metadata reference factories such as VisualStudioMetadataReferenceProvider. A separate class is used as a MetadataReferenceProvider for compilations. (changeset 1223460)
-
由 cyrusn 提交于
If a project does not support creating/providing compilations, then it cannot provide a 'frozen partial snapshot' of the compilation with that document contained within. Just return the entire snapshot instead. (changeset 1223407)
-
由 heejaechang 提交于
for now, it only contains Formatting Tests, but in future, we should split mixed lang tests in service test to each own one. (changeset 1223390)
-