mirror of https://github.com/icsharpcode/ILSpy.git
Browse Source
b374e40 Don't insert space in front of brace if the brace is the first token in the line. 9f809bc Use IOutputFormatter.StartNode() instead of OutputStarted event. f30ceb5 Set version number to 5.0.0.4. 8d5b268 Fixed completion bug. d2f2feb Remove the thread-local cache; it seems to cause massive memory leaks. cfe807a Fix "find references" for method group conversions in delegate creation expressions "new Action(MyMethod)" 5f8dcf4 Implement 'ToMemberReference()' and 'InterfaceImplementations' on specialized members. 33b57d5 Fixed IMember.ToMemberReference() for explicit interface implementations. 9859dce Improve ResolveAtLocation. a7245af Fixed finding references to method group conversions. 194b334 Add FindReferencesConsistencyCheck. d0bd4fa Merge changes from SharpDevelop 'newNR' branch into NRefactory main repository. 311df2b CSharpAstResolver: add cancellation support 17a8d43 Fixed completion bug. 3b682d4 Fixed code completion bug. e2bf1e4 Worked on unattached attribute handling. b0332c6 Added IsInside methods to the AstNode. e5217c2 Fixed bug in 'BetterConversion' implementation - converting to Func<> delegates is better than converting to Action<> delegates. c6ecab1 Implemented support for InternalsVisibleToAttribute. cb84ada Fixed parsing undocumented expressions. 46254b3 Add support for resolving "operator true". 862e950 When the specified reflection name is not assembly-qualified, ReflectionHelper.ParseReflectionName() will now produce an ITypeReference that looks in all referenced assemblies (not just in CurrentAssembly). 77ea4da Report more types of invalid equality comparisons as errors. Mark an anonymous function conversion as invalid if there are compiler errors in the implicitly typed lambda. bb822e9 Allow using AstType.ToTypeReference().Resolve(compilation.TypeResolveContext) - this will now resolve in the global namespace. Fixed increment operator on System.Char. 27a91cc Fixed bug in protected member logic. 6b45af2 Fixed "UsingStatementTests.UsingStatementWithMultipleVariableDeclaration". f3541d4 Fixed accessing protected members through type parameters. 9f5f18e Fixed resolving "condition ? byte : 0". 7971ad2 Check IType.Kind instead of using SpecialType.X.Equals(). c20807e Fixed return type of members of generic enums. 67d1912 Fixed bug in reachability analysis when lambda/anonymous method contains a condition or switch statement. 1a7ca15 Allow conversion of anonymous method with unreachable endpoint to Func<T>. 822fda7 Handle T[] -> T* and string -> char* conversions in fixed statement initializers. 0f2b0c3 Fixed lambda type inference in delegate creation expressions. ("new Func<int, int>(a => a)") aa2e97f When copying type parameters into inner classes, re-use the same ITypeParameter instance. 57a5934 Revert "Fixed type system converter case reported from "erik-kallen"." 006d18a Resolve at location can now give back the AstNode. 6054ed4 Added unattached attributes to the AST. 426ce5d Removed some ignore attributes. 9f9a26b Updated mcs. c4dfb27 Fixed type system converter case reported from "erik-kallen". 8efd32e Don't crash when trying to decode invalid attribute/secdecl blobs. 5ff4462 NRefactory 5: do not throw exceptions if there's no cecil reference for entity fb0c292 Fix icsharpcode/NRefactory#13 - Indexer accessors do not get correct parameters. 5c9dfb9 Fixed IUnresolvedTypeDefinition.Resolve() and IAssembly.GetTypeDefinition(IUnresolvedTypeDefinition) to always retrieve the correct version of the type definition for the compilation, even if the IUnresolvedTypeDefinition is a different version. The two methods now return UnknownType/null if the IUnresolvedTypeDefinition does not belong to the assembly. c5c5192 Add documentation to methods for creating type references that describe the expected ITypeResolveContext for resolving those type references. 6d7abd9 Use AstType.ToTypeReference() instead of TypeSystemConvertVisitor.ConvertType(). 13ac45e Add AstType.ToTypeReference() method. c5c1337 Add failing unit test for using-statement with multiple variable declarations. 79b8b00 Fix bug in output type inference for explicitly typed lambdas. cdfa794 Add some ToString() overrides for easier debugging e441980 Fixed parsing "bool.TrueString". d44077a Add CSharpAstResolver.GetResolverStateAfter() and fixed an issue with the scanning logic in ResolveVisitor. dce53cb Fixed code completion bug. 20b9420 Took out error message. 3d21a80 Fixed the ResolveVisitor scanning logic and several related issues. a3ff017 When a simple-name refers to an instance field in the current class, set TargetResult=new ThisResolveResult(). 4d20ce3 Fix build. b400314 Add MethodGroupResolveResult.GetEligibleExtensionMethods() method. 5838210 Fixed parser exception. 510d58a Fixed parameter test case. 440bc4f Fixed assertion error. 8b32926 Fixed const field access. 802cd23 Fixed "assertion problem". Failed code was: -------------------------------- using System; using System.Collections.Generic; namespace MyApp { public interface ISubject<T> { } public class Test<T,TRight,TLeft> { public void Foo (IObserver<T> observer) { var rightSubs = new List<ISubject<TRight>> (); var rightVals = new List<TRight> (); Observer.Create<TLeft> (v => { ISubject<TRight> rsub = new ReplaySubject<TRight> (); foreach (var r }, () => sub.OnCompleted ()); } } } ------------------------------------ e7833ba Added some more naming contexts. 3a4eeb4 Merged with monodevelop engine. d88c793 Fixed bug in RemoveBackingStore context action. e7ee62f Fixed resolve at location for object create expressions. 9a96b02 Fixed using context/ added unit test for try ... catch case. 22f7e30 Take correct type for override completion. f931cf0 Added some null checks. Mcs can now parse much more "invalid" expressions & statements. 2cfed41 Fixed primitive type keywords. 7df3367 Guard against storing the resolve result for variable name token twice in foreach statement. bd39c22 Removed some debug messages. 4e801c8 Fixed tuple parameter index. 1dab608 Added some null checks. 335fe94 Updated mcs. 6a85f2a Fixed AST builder. c33bc0f Fixed assembly attribute location. The fix isn't very clean - but the structure is built that way, would be cleaner if it would be represented as Container. 764b8a3 Added unit tests for context actions. e6df8e7 Added unit tests for SplitDeclarationAndAssignment context action. 1d8918c Fixed unit tests. baa2096 Fixed hardcoded path. 93bea6d Fixed failing unit test. 96a5e7c Merge branch 'master' of github.com:icsharpcode/NRefactory ef53445 [GtkDemo] Close application when closing main window. 9286461 Adjusting SharpDevelop to new type system (unresolved/resolved split). 3b4abcc Fixed ast node script positions. 7958965 Implemented some missing functions in refactoring context. 1737920 Added some unit tests. 72258ae Implemented type parameter type completion. 33e0c0e Fixed FindReferences on attributes. a126210 Improved anonymous type context. 179d90a Added some null checks. Not sure if they're needed. 12b9542 Fixed other LINQ case. ddc245e Fixed "LINQ" context unit tests. f788f91 Ignore AssemblyInfo in RoundtripTest. 9fea0d0 Implemented eligibility check for extension methods. 7431897 Implemented 'partial' completion. 45fb111 Fixed anonymous type null reference exception. e0d4232 Added unit test for "as" expression context. 9129087 Fixed type expected context. 574994c Updated/merged mcs. e492e80 Merge branch 'master' of github.com:icsharpcode/NRefactory 75a4266 Merge NRefactory '90c0758bb07a651cbf7f7c78cb2bbfd282306c34' into SharpDevelop newNR branch. 90c0758 Update roundtrip test. f201168 Fixed resolving LINQ queries that involve transparent identifiers. 418f709 Fixed resolving NamedExpressions in anonymous type creation expressions. 7779508 Fixed lifting for built-in relational operators. 040b841 Fixed resolving equality and relational operators on nullable types. b803d85 Do not report invalid conversion from int to void for this code: dac8c0f Implement CSharpAstResolver.GetExpectedType() and CSharpAstResolver.GetConversion(). 70e62f4 Fixed DefaultMemberReference for methods with parameters. d9fe4a3 Worked on merging mcs. bd58ea7 Merged with mcs. dba7b47 Fixed operators show up in completion list. f92742b Removed double "default" item in switch context. 6a9564d Added member provider to give the completion engine more context from outside. 578bb6c Fixed parsing of switch statements. a33b320 Fixed failing unit test. b5c90d6 Added unit test for "Finalizer" method not shown. b09fd7f Find references tries now to detect delegate usages of methods. TODO: Overload resolution. bf12c00 Add protected virtual Clone() method to CSharpProjectContent. 453aac3 Ensure that IMember.InterfaceImplementations does not contain nulls if there were resolve errors. 1c46d7d Added unit test for category sorting. 01233b4 Fixed comparison of completion categories. 3a62505 Added location bounds check. 7befa59 Fixed for context completion. 25faa21 Removed some debug messages / fixed possible null ref. eb5f257 Fixed constructor this/base unit test. d5ead16 Fixed unit tests with leading dots & integer at eol. 4917151 Updated mcs. 3b95e5a Fixed IsExplicitInterfaceImplementation. Implemented IMember.InterfaceImplementations for explicitly implemented members. 5d81799 Fixed some tests broken by the mcs update. a8cd94e Updated mcs. 2d49624 Ignored failing tests. 54168d5 Add nuspec. Changed project settings to produce xml-doc and debug symbols in release configuration. 0fd4f5b Rename unresolved InterfaceImplementations to ExplicitInterfaceImplementations. 06f96bf Remove IAccessor and use IMethod instead. 3c6cbee Add IMember.UnresolvedMember property. 7dda083 Added name context test suite. 5377104 Added named argument context. 850776f Fixed completion test case. b5da9b1 Fixed some unit tests. f8eed16 Worked on completion engine API. e6877e9 Fixed completion unit test. 942b4f7 Move ConversionResoleResult to ICSharpCode.NRefactory.Semantics. Boxing conversion for attribute arguments is now used consistently in C# type system and Cecil-loaded type system. 812c1dc Added LINQ where test. e9903ad Revert "Updated mcs." 19c344c Updated mcs. bfafe8b Fixed handling of constants in OverloadResolution.GetArgumentsWithConversions(). This fixes IAttribute.PositionalArguments when implicit numeric conversions are involved. 44b1c40 Remove some dead code. 9af3c04 Fixed resolving compound assignment operators. 5218417 Improved completion of enums. 0ff96ea Fixed IndentBlocks bug. f68f990 Fixed indent break statement formatting. 0a71c80 Fixed some more array initializer context bugs. 0017621 Fixed array initializer completion case. ef04ca0 Added flag for new completion. 0ba844e Fixed type parameter completion bug. d66eb1d Added new completion test case + bugfix. d5677e5 Added parameter context tests. b7c1490 Fixed completion case. 3a15d36 Fixed some code completion unit tests. 969223a Added a method to get all extension methods on a specified type. d78d5f1 Fixed "type too fast" issue in code completion. f763631 Merge NRefactory 7063203 into SharpDevelop repository. 24f8ae0 Add GetNewOffset() method to TextChangeEventArgs. dc98bef Add IsDeleted and Equals() implementation to IDocumentLine. 43a8429 Disable resolver logging. git-subtree-dir: NRefactory git-subtree-split: b374e407589060b38af9156ff050dc7109c57bc6pull/314/merge
268 changed files with 18617 additions and 80780 deletions
@ -0,0 +1,91 @@
@@ -0,0 +1,91 @@
|
||||
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
// software and associated documentation files (the "Software"), to deal in the Software
|
||||
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all copies or
|
||||
// substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.Threading; |
||||
using ICSharpCode.NRefactory.CSharp.Resolver; |
||||
using ICSharpCode.NRefactory.CSharp.TypeSystem; |
||||
using ICSharpCode.NRefactory.Semantics; |
||||
|
||||
namespace ICSharpCode.NRefactory.CSharp.Analysis |
||||
{ |
||||
/// <summary>
|
||||
/// Statement reachability analysis.
|
||||
/// </summary>
|
||||
public sealed class ReachabilityAnalysis |
||||
{ |
||||
HashSet<Statement> reachableStatements = new HashSet<Statement>(); |
||||
HashSet<Statement> reachableEndPoints = new HashSet<Statement>(); |
||||
HashSet<ControlFlowNode> visitedNodes = new HashSet<ControlFlowNode>(); |
||||
Stack<ControlFlowNode> stack = new Stack<ControlFlowNode>(); |
||||
|
||||
private ReachabilityAnalysis() {} |
||||
|
||||
public static ReachabilityAnalysis Create(Statement statement, CSharpAstResolver resolver = null, CancellationToken cancellationToken = default(CancellationToken)) |
||||
{ |
||||
var cfgBuilder = new ControlFlowGraphBuilder(); |
||||
var cfg = cfgBuilder.BuildControlFlowGraph(statement, resolver, cancellationToken); |
||||
return Create(cfg, cancellationToken); |
||||
} |
||||
|
||||
internal static ReachabilityAnalysis Create(Statement statement, Func<AstNode, CancellationToken, ResolveResult> resolver, CSharpTypeResolveContext typeResolveContext, CancellationToken cancellationToken) |
||||
{ |
||||
var cfgBuilder = new ControlFlowGraphBuilder(); |
||||
var cfg = cfgBuilder.BuildControlFlowGraph(statement, resolver, typeResolveContext, cancellationToken); |
||||
return Create(cfg, cancellationToken); |
||||
} |
||||
|
||||
public static ReachabilityAnalysis Create(IList<ControlFlowNode> controlFlowGraph, CancellationToken cancellationToken = default(CancellationToken)) |
||||
{ |
||||
if (controlFlowGraph == null) |
||||
throw new ArgumentNullException("controlFlowGraph"); |
||||
ReachabilityAnalysis ra = new ReachabilityAnalysis(); |
||||
ra.stack.Push(controlFlowGraph[0]); |
||||
while (ra.stack.Count > 0) { |
||||
cancellationToken.ThrowIfCancellationRequested(); |
||||
ra.MarkReachable(ra.stack.Pop()); |
||||
} |
||||
ra.stack = null; |
||||
ra.visitedNodes = null; |
||||
return ra; |
||||
} |
||||
|
||||
void MarkReachable(ControlFlowNode node) |
||||
{ |
||||
if (node.PreviousStatement != null) |
||||
reachableEndPoints.Add(node.PreviousStatement); |
||||
if (node.NextStatement != null) |
||||
reachableStatements.Add(node.NextStatement); |
||||
foreach (var edge in node.Outgoing) { |
||||
if (visitedNodes.Add(edge.To)) |
||||
stack.Push(edge.To); |
||||
} |
||||
} |
||||
|
||||
public bool IsReachable(Statement statement) |
||||
{ |
||||
return reachableStatements.Contains(statement); |
||||
} |
||||
|
||||
public bool IsEndpointReachable(Statement statement) |
||||
{ |
||||
return reachableEndPoints.Contains(statement); |
||||
} |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// IMemberProvider.cs
|
||||
//
|
||||
// Author:
|
||||
// Mike Krüger <mkrueger@xamarin.com>
|
||||
//
|
||||
// Copyright (c) 2012 Xamarin Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.NRefactory.TypeSystem; |
||||
using ICSharpCode.NRefactory.Editor; |
||||
using ICSharpCode.NRefactory.CSharp.TypeSystem; |
||||
using System.Linq; |
||||
|
||||
namespace ICSharpCode.NRefactory.CSharp.Completion |
||||
{ |
||||
public interface IMemberProvider |
||||
{ |
||||
void GetCurrentMembers (int offset, out IUnresolvedTypeDefinition currentType, out IUnresolvedMember currentMember); |
||||
} |
||||
} |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
//
|
||||
// AssemblyInfo.cs
|
||||
//
|
||||
// Author:
|
||||
// Marek Safar (marek.safar@gmail.com)
|
||||
//
|
||||
// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to
|
||||
// permit persons to whom the Software is furnished to do so, subject to
|
||||
// the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
using System.Reflection; |
||||
using System.Runtime.CompilerServices; |
||||
|
||||
[assembly: AssemblyTitle ("Mono C# Compiler")] |
||||
[assembly: AssemblyProduct ("Mono C# Compiler")] |
||||
[assembly: AssemblyCopyright ("2001 - 2009 Novell, Inc.")] |
||||
[assembly: AssemblyCompany ("Novell, Inc.")] |
||||
[assembly: AssemblyCulture ("")] |
||||
[assembly: AssemblyConfiguration ("")] |
||||
|
||||
[assembly: AssemblyVersion ("1.0")] |
||||
[assembly: AssemblyFileVersion ("1.0")] |
||||
|
||||
[assembly: AssemblyDescription ("Mono C# Compiler")] |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,126 +0,0 @@
@@ -1,126 +0,0 @@
|
||||
thisdir := mcs |
||||
SUBDIRS := |
||||
include ../build/rules.make |
||||
|
||||
EXTRA_DISTFILES = \
|
||||
*mcs.csproj \
|
||||
compiler.doc \
|
||||
*mcs.sln \
|
||||
*cs-parser.jay \
|
||||
*.sources \
|
||||
NOTES \
|
||||
TODO \
|
||||
*mcs.exe.config |
||||
|
||||
COMPILER_NAME = gmcs |
||||
|
||||
ifeq (net_2_0, $(PROFILE)) |
||||
INTERNAL_GMCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BOOTSTRAP_PROFILE)/gmcs.exe |
||||
endif |
||||
|
||||
ifeq (moonlight_bootstrap, $(PROFILE)) |
||||
INTERNAL_GMCS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(BOOTSTRAP_PROFILE)/gmcs.exe |
||||
endif |
||||
|
||||
ifeq (2.1, $(FRAMEWORK_VERSION)) |
||||
LOCAL_MCS_FLAGS += -d:SMCS_SOURCE |
||||
COMPILER_NAME = smcs |
||||
endif |
||||
|
||||
ifeq (4.0, $(FRAMEWORK_VERSION)) |
||||
COMPILER_NAME = dmcs |
||||
endif |
||||
|
||||
PROGRAM = $(topdir)/class/lib/$(PROFILE)/$(COMPILER_NAME).exe |
||||
|
||||
BUILT_SOURCES = cs-parser.cs |
||||
|
||||
PROGRAM_COMPILE = $(BOOT_COMPILE) |
||||
|
||||
CLEAN_FILES += y.output |
||||
|
||||
%-parser.cs: %-parser.jay $(topdir)/jay/skeleton.cs |
||||
$(topdir)/jay/jay -cvt < $(topdir)/jay/skeleton.cs $< > jay-tmp.out && mv jay-tmp.out $@ |
||||
|
||||
|
||||
KEEP_OUTPUT_FILE_COPY = yes |
||||
|
||||
include ../build/executable.make |
||||
|
||||
csproj-local: |
||||
config_file=`basename $(PROGRAM) .exe`-$(PROFILE).input; \
|
||||
echo $(thisdir):$$config_file >> $(topdir)/../mono/msvc/scripts/order; \
|
||||
(echo $(is_boot); \
|
||||
echo $(BOOTSTRAP_MCS); \
|
||||
echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS); \
|
||||
echo $(PROGRAM); \
|
||||
echo $(BUILT_SOURCES); \
|
||||
echo $(PROGRAM); \
|
||||
echo $(response)) > $(topdir)/../mono/msvc/scripts/inputs/$$config_file |
||||
|
||||
#
|
||||
# Below this line we have local targets used for testing and development
|
||||
#
|
||||
|
||||
# Testing targets
|
||||
|
||||
TIME = time |
||||
|
||||
# This used to be called test, but that conflicts with the global
|
||||
# recursive target.
|
||||
|
||||
btest: mcs2.exe mcs3.exe |
||||
ls -l mcs2.exe mcs3.exe |
||||
|
||||
mcs2.exe: $(PROGRAM) |
||||
$(TIME) $(RUNTIME) $(RUNTIME_FLAGS) $(PROGRAM) $(USE_MCS_FLAGS) -target:exe -out:$@ $(BUILT_SOURCES) @$(response) |
||||
|
||||
mcs3.exe: mcs2.exe |
||||
$(TIME) $(RUNTIME) $(RUNTIME_FLAGS) ./mcs2.exe $(USE_MCS_FLAGS) -target:exe -out:$@ $(BUILT_SOURCES) @$(response) |
||||
|
||||
wc: |
||||
wc -l $(BUILT_SOURCES) `cat $(sourcefile)` |
||||
|
||||
ctest: |
||||
rm -f mcs2.exe mcs3.exe |
||||
$(MAKE) USE_MCS_FLAGS="-d:NET_1_1 -d:ONLY_1_1" btest |
||||
|
||||
# we need this because bash tries to use its own crappy timer
|
||||
FRIENDLY_TIME = $(shell which time) -f'%U seconds' |
||||
|
||||
do-time : $(PROGRAM) |
||||
@ echo -n "Run 1: " |
||||
@ rm -f mcs2.exe |
||||
@ $(MAKE) TIME="$(FRIENDLY_TIME)" mcs2.exe > /dev/null || (echo FAILED; exit 1) |
||||
@ echo -n "Run 2: " |
||||
@ rm -f mcs3.exe |
||||
@ $(MAKE) TIME="$(FRIENDLY_TIME)" mcs3.exe > /dev/null || (echo FAILED; exit 1) |
||||
@ $(MAKE) do-corlib |
||||
|
||||
do-corlib: |
||||
@ echo -n "corlib: " |
||||
@ rm -f ../class/lib/mscorlib.dll |
||||
@ cd ../class/corlib ; $(MAKE) BOOTSTRAP_MCS='$(FRIENDLY_TIME) mono $$(topdir)/class/lib/$(PROFILE)/mcs.exe' > /dev/null || (echo FAILED; exit 1) |
||||
|
||||
PROFILER=default |
||||
|
||||
do-gettext: |
||||
xgettext --keyword='Report.Error:3' --keyword='Report.Error:2' --keyword='Report.Warning:3' --keyword='Report.Warning:2' -o mcs.po --language='C#' `cat gmcs.exe.sources | grep -v /` |
||||
|
||||
profile : $(PROGRAM) |
||||
$(RUNTIME) $(RUNTIME_FLAGS) --profile=$(PROFILER) $(PROGRAM) $(USE_MCS_FLAGS) -target:exe -out:mcs2.exe $(BUILT_SOURCES) @$(response) |
||||
|
||||
#
|
||||
# quick hack target, to quickly develop the gmcs compiler
|
||||
# Update manually.
|
||||
|
||||
q: cs-parser.cs qh |
||||
echo 'System.Console.WriteLine ("Hello");' | mono csharp.exe |
||||
echo -e 'using System;\nConsole.WriteLine ("hello");' | mono csharp.exe |
||||
echo -e '"foo" == "bar";' | mono csharp.exe |
||||
echo -e 'var a = 1;\na + 2;' | mono csharp.exe |
||||
echo -e 'int j;\nj = 1;' | mono csharp.exe |
||||
echo -e 'var a = new int[]{1,2,3};\nfrom x in a select x;' | mono csharp.exe |
||||
echo -e 'var a = from f in System.IO.Directory.GetFiles ("/tmp") where f == "passwd" select f;' | mono csharp.exe |
||||
|
||||
|
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
* Notes on improving error handling in MCS |
||||
(from Axel Schreiner <ats@cs.rit.edu>) |
||||
|
||||
|
||||
I included the 'recover' example with C# as well. Currently the package |
||||
is at <http://www.cs.rit.edu/~ats/projects/jay/>. I did change some |
||||
names and the embedding that the user does somewhat, i.e., it is not |
||||
directly compatible with what you did. |
||||
|
||||
Here is the important part about error recovery. To make the typical |
||||
iterations bullet-proof, code them as follows: |
||||
|
||||
opt : // null |
||||
| opt WORD { yyErrorFlag = 0; } |
||||
| opt error |
||||
|
||||
seq : WORD |
||||
| seq WORD { yyErrorFlag = 0; } |
||||
| error |
||||
| seq error |
||||
|
||||
list : WORD |
||||
| list ',' WORD { yyErrorFlag = 0; } |
||||
| error |
||||
| list error |
||||
| list error WORD { yyErrorFlag = 0; } |
||||
| list ',' error |
||||
|
||||
i.e., throw in 'error' wherever a token can be. 'yyErrorFlag' need not |
||||
be set to zero, but if it is done this way, second errors are caught |
||||
earlier. This may introduce s/r conflicts, but they tend to be harmless. |
||||
|
||||
In your case -- the comment concerning error recovery at the beginning |
||||
of your compiler jay file -- just adding 'error' to the different |
||||
global things won't work. Your example will already have started to |
||||
advance in one of the rules and 'error' is then not in the lookahead of |
||||
wherever the parse then is. You need to put 'error' into the iteration |
||||
above those global things. |
@ -1,26 +0,0 @@
@@ -1,26 +0,0 @@
|
||||
This document describes all code optimalizations performed by Mono C# compiler |
||||
when optimalizations are enabled via /optimize+ option. |
||||
|
||||
Optimalizations: |
||||
|
||||
* Instance field initializer to default value |
||||
--------------------------------------------- |
||||
|
||||
Code to optimize: |
||||
|
||||
class C |
||||
{ |
||||
enum E |
||||
{ |
||||
Test |
||||
} |
||||
|
||||
int i = 0; // Field will not be redundantly assigned |
||||
int i2 = new int (); // This will be also completely optimized out |
||||
|
||||
E e = E.Test; // Even this will go out. |
||||
|
||||
} |
||||
|
||||
|
||||
|
@ -1,239 +0,0 @@
@@ -1,239 +0,0 @@
|
||||
---- This is a list of old tasks, just here for historical value ---- |
||||
|
||||
Open question: |
||||
Create a toplevel block for anonymous methods? |
||||
|
||||
Anonymous Methods |
||||
----------------- |
||||
|
||||
Plan: |
||||
|
||||
* Resolve anonymous methods before. |
||||
* Each time a Local matches, if the mode is `InAnonymous', flag |
||||
the VariableInfo for `proxying'. |
||||
* During Resolve track the depth required for local variables. |
||||
* Before Emit, create proxy classes with proper depth. |
||||
* Emit. |
||||
|
||||
Notes on memory allocation |
||||
-------------------------- |
||||
|
||||
Outdated: |
||||
|
||||
A run of the AllocationProfile shows that the compiler allocates roughly |
||||
30 megabytes of strings. From those, 20 megabytes come from |
||||
LookupType. |
||||
|
||||
See the notes on current_container problems below on memory usage. |
||||
|
||||
LookupTypeReflection: |
||||
--------------------- |
||||
|
||||
With something like `System.Object', LookupTypeReflection will be called |
||||
twice: once to find out that `System' is not a type and once |
||||
for System.Object. |
||||
|
||||
This is required because System.Reflection requires that the type/nested types are |
||||
not separated by a dot but by a plus sign. |
||||
|
||||
A nested class would be My+Class (My being the toplevel, Class the nested one). |
||||
|
||||
It is interesting to look at the most called lookups when bootstrapping MCS: |
||||
|
||||
647 LTR: ArrayList |
||||
713 LTR: System.Globalization |
||||
822 LTR: System.Object+Expression |
||||
904 LTR: Mono.CSharp.ArrayList |
||||
976 LTR: System.Runtime.CompilerServices |
||||
999 LTR: Type |
||||
1118 LTR: System.Runtime |
||||
1208 LTR: Mono.CSharp.Type |
||||
1373 LTR: Mono.Languages |
||||
1599 LTR: System.Diagnostics |
||||
2036 LTR: System.Text |
||||
2302 LTR: System.Reflection.Emit |
||||
2515 LTR: System.Collections |
||||
4527 LTR: System.Reflection |
||||
22273 LTR: Mono.CSharp |
||||
24245 LTR: System |
||||
27005 LTR: Mono |
||||
|
||||
Analysis: |
||||
The top 9 lookups are done for things which are not types. |
||||
|
||||
Mono.CSharp.Type happens to be a common lookup: the class Type |
||||
used heavily in the compiler in the default namespace. |
||||
|
||||
RED FLAG: |
||||
|
||||
Then `Type' is looked up alone a lot of the time, this happens |
||||
in parameter declarations and am not entirely sure that this is |
||||
correct (FindType will pass to LookupInterfaceOrClass a the current_type.FullName, |
||||
which for some reason is null!). This seems to be a problem with a lost |
||||
piece of context during FindType. |
||||
|
||||
System.Object is also used a lot as a toplevel class, and we assume it will |
||||
have children, we should just shortcut this. |
||||
|
||||
A cache: |
||||
|
||||
Adding a cache and adding a catch for `System.Object' to flag that it wont be the |
||||
root of a hierarchy reduced the MCS bootstrap time from 10.22 seconds to 8.90 seconds. |
||||
|
||||
This cache is currently enabled with SIMPLE_SPEEDUP in typemanager.cs. Memory consumption |
||||
went down from 74 megs to 65 megs with this change. |
||||
|
||||
Major tasks: |
||||
------------ |
||||
|
||||
Pinned and volatile require type modifiers that can not be encoded |
||||
with Reflection.Emit. |
||||
|
||||
* Revisit |
||||
|
||||
Primary-expression, as it has now been split into |
||||
non-array-creation-expression and array-creation-expression. |
||||
|
||||
* Emit `pinned' for pinned local variables. |
||||
|
||||
Both `modreq' and pinned will require special hacks in the compiler. |
||||
|
||||
* Make sure that we are pinning the right variable |
||||
|
||||
* local_variable_declaration |
||||
|
||||
Not sure that this grammar is correct, we might have to |
||||
resolve this during semantic analysis. |
||||
|
||||
* Optimizations |
||||
|
||||
In Indexers and Properties, probably support an EmitWithDup |
||||
That emits the code to call Get and then leaves a this pointer |
||||
in the stack, so that later a Store can be emitted using that |
||||
this pointer (consider Property++ or Indexer++) |
||||
|
||||
* Use of local temporary in UnaryMutator |
||||
|
||||
We should get rid of the Localtemporary there for some cases |
||||
|
||||
This turns out to be very complex, at least for the post-version, |
||||
because this case: |
||||
|
||||
a = i++ |
||||
|
||||
To produce optimal code, it is necessary for UnaryMutator to know |
||||
that it is being assigned to a variable (the way the stack is laid |
||||
out using dup requires the store to happen inside UnaryMutator). |
||||
|
||||
* Interface indexers |
||||
|
||||
I have not figured out why the Microsoft version puts an |
||||
`instance' attribute, and I am not generating this `instance' attribute. |
||||
|
||||
Explanation: The reason for the `instance' attribute on |
||||
indexers is that indexers only apply to instances |
||||
|
||||
* Check for Final when overriding, if the parent is Final, then we cant |
||||
allow an override. |
||||
|
||||
Implement base indexer access. |
||||
|
||||
current_container/current_namespace and the DeclSpace |
||||
----------------------------------------------------- |
||||
|
||||
We are storing fully qualified names in the DeclSpace instead of the node, |
||||
this is because `current_namespace' (Namepsace) is not a DeclSpace like |
||||
`current_container'. |
||||
|
||||
The reason for storing the full names today is this: |
||||
|
||||
namespace X { |
||||
class Y { |
||||
} |
||||
} |
||||
|
||||
namespace A { |
||||
class Y { |
||||
} |
||||
} |
||||
|
||||
The problem is that we only use the namespace stack to track the "prefix" |
||||
for typecontainers, but they are not typecontainers themselves, so we have |
||||
to use fully qualified names, because both A.X and A.Y would be entered |
||||
in the toplevel type container. If we use the short names, there would be |
||||
a name clash. |
||||
|
||||
To fix this problem, we have to make namespaces DeclSpaces. |
||||
|
||||
The full size, contrasted with the size that could be stored is: |
||||
corlib: |
||||
Size of strings held: 368901 |
||||
Size of strings short: 147863 |
||||
|
||||
System: |
||||
Size of strings held: 212677 |
||||
Size of strings short: 97521 |
||||
|
||||
System.XML: |
||||
Size of strings held: 128055 |
||||
Size of strings short: 35782 |
||||
|
||||
System.Data: |
||||
Size of strings held: 117896 |
||||
Size of strings short: 36153 |
||||
|
||||
System.Web: |
||||
Size of strings held: 194527 |
||||
Size of strings short: 58064 |
||||
|
||||
System.Windows.Forms: |
||||
Size of strings held: 220495 |
||||
Size of strings short: 64923 |
||||
|
||||
|
||||
The use of DottedName |
||||
--------------------- |
||||
|
||||
We could probably use a different system to represent names, like this: |
||||
|
||||
class Name { |
||||
string simplename; |
||||
Name parent; |
||||
} |
||||
|
||||
So `System.ComponentModel' becomes: |
||||
|
||||
x: (System, null) |
||||
y: (ComponentModel, x) |
||||
|
||||
The problem is that we would still need to construct the name to pass to |
||||
GetType. |
||||
|
||||
This has been now implemented, its called "QualifiedIdentifier" |
||||
|
||||
TODO: |
||||
|
||||
1. Create a "partial" emit context for each TypeContainer.. |
||||
|
||||
2. EmitContext should be partially constructed. No IL Generator. |
||||
|
||||
interface_type review. |
||||
|
||||
parameter_array, line 952: `note: must be a single dimension array type'. Validate this |
||||
|
||||
Instance idea |
||||
------------- |
||||
|
||||
It would be nice to have things that can be "instances" to have an |
||||
EmitInstance method (this would default to nothing). |
||||
|
||||
The idea is to be able to use efficiently the instance data on stack |
||||
manipulations, as opposed to the current scheme, where we basically have |
||||
a few special cases. |
||||
|
||||
* `yield' is no longer a keyword, it only has special |
||||
meaning before a return or break keywords. |
||||
|
||||
* Study side effects with assign |
||||
* Study TemporaryStorage/LocalStorage -> Merge/rename |
||||
|
@ -1,66 +0,0 @@
@@ -1,66 +0,0 @@
|
||||
Clean Up |
||||
-------- |
||||
|
||||
Move MapVariable from CodeGen into Block? |
||||
|
||||
Improve test: |
||||
|
||||
Necesitamos que a-capture8.cs pruebe si la asignacion funciona o no. |
||||
|
||||
Audit: |
||||
|
||||
Al emitir instancias de variables |
||||
(EmitCaptureVariableInstance) parece ser que el loop de iteracion: |
||||
|
||||
while (si.ScopeBlock.ID != li.Block.ID) |
||||
|
||||
está mas actulizado que el codigo similar para parámetros, es posible |
||||
que sea bitrot de parámetros o que en los parámetros usamos otra estrategia |
||||
(lo segundo es más razonable). |
||||
|
||||
Iteradores: |
||||
|
||||
En algún lugar no pongo el `FieldBuilder' a un valor con los |
||||
iteradores, ver expression.cs: 3616, local_info.FieldBuilder es nulo. |
||||
|
||||
Parameters: |
||||
|
||||
a-parameter4.cs falla por que no se liga el método anónimo |
||||
anidado con el padre. |
||||
|
||||
Cleanup: |
||||
|
||||
CaptureContext cc = ContextForParameter (ec.CurrentBlock.Toplevel, name); |
||||
if (cc != this){ |
||||
cc.EmitParameter (ec, name); |
||||
return; |
||||
} |
||||
|
||||
That should be a static method, and call the instance method |
||||
in the right CaptureContext, instead of having the CaptureContext |
||||
compute that itself. |
||||
|
||||
MakePinned is gone: |
||||
|
||||
Need to audit the code now that use DeclareLocal, and that this uses |
||||
a differnent code path than the main mcs. |
||||
|
||||
Need to fix the order in which types are closed: currently we are not |
||||
compatible with the MS requirement that the parent has to be created |
||||
before the children are. |
||||
|
||||
Tests and pending features: |
||||
|
||||
Switch statement is broken (because it uses ILGenerator during |
||||
the Resolve phase, which with the `anonymous' branch is no longer |
||||
the case: so we have to delay the creation of labels until they |
||||
are needed, during the Emit phase). |
||||
|
||||
Validation: |
||||
|
||||
For testing, set ec.IG == null during resolve, restore value |
||||
for emit. |
||||
|
||||
Currently it is commented out: there is a bug in the |
||||
statement.cs changes (see the old-statement.cs, the compiler |
||||
fails during bootstrap) |
@ -1,72 +0,0 @@
@@ -1,72 +0,0 @@
|
||||
Completion support |
||||
================== |
||||
|
||||
Supported: |
||||
|
||||
a.<TAB> to complete members of type `a' |
||||
a<TAB> for types and namespaces |
||||
a.W<TAB> |
||||
a<TAB> for local variables |
||||
|
||||
Unsupported: |
||||
|
||||
delegate { FOO.<TAB> |
||||
using statement autocompletion |
||||
|
||||
These are the sources to the Mono C# compiler |
||||
--------------------------------------------- |
||||
|
||||
Read the mcs/docs/compiler.txt for an overview of the compiler. |
||||
|
||||
Testing the Compiler |
||||
-------------------- |
||||
|
||||
You might want to use the `make btest' in this directory to |
||||
have the compiler bootstrap itself, this is the basic regression |
||||
test. |
||||
|
||||
Before commiting changes to MCS, make sure that all the tests |
||||
in `mcs/tests' pass, and all the tests in 'mcs/errors' have the |
||||
expected result, type: |
||||
|
||||
cd mcs # The top-level 'mcs' directory |
||||
make compiler-tests |
||||
|
||||
If you want to test the installed compiler, you can run: |
||||
|
||||
cd mcs # The top-level 'mcs' directory |
||||
make test-installed-compiler |
||||
|
||||
Full Bootstrap |
||||
============== |
||||
|
||||
To finally ensure the state of the compiler, it is ideal to do |
||||
a full bootstrap, to do this, do: |
||||
|
||||
cd mcs |
||||
make clean; |
||||
make |
||||
make install |
||||
|
||||
That installs the compiler and assemblies compiled by the new compiler. |
||||
|
||||
Then, repeat that step again: |
||||
|
||||
make clean |
||||
make |
||||
|
||||
If things work, the compiler has not added a new regression |
||||
while building the mscorlib and the compiler itself. |
||||
|
||||
Tests |
||||
===== |
||||
|
||||
When bugs are fixed, new tests must be added to the |
||||
`mcs/tests' directory to excercise the problem and to guarantee |
||||
that we keep the compiler in a good state. |
||||
|
||||
When an error is reported, it should be added to mcs/errors. |
||||
|
||||
We try to make the errors numbers be the same as the ones in |
||||
Microsoft C#, if this is not possible, allocate a negative error |
||||
number, and list it in mcs/errors/errors.txt |
@ -1,223 +0,0 @@
@@ -1,223 +0,0 @@
|
||||
=========================================== |
||||
|
||||
* Value Parameter |
||||
|
||||
I believe that `Value Parameter' might have been introduced |
||||
after C# 1.0, also notice than in the treatment of Value Parameter |
||||
the parameters are defined in four categories: |
||||
|
||||
Section 9.3 in the latest spec. |
||||
|
||||
|
||||
Large project: |
||||
-------------- |
||||
|
||||
New |
||||
--- |
||||
|
||||
It would be nice to optimize the case of: |
||||
|
||||
Method (new ValueType ()) |
||||
|
||||
So that no temporary is created, and we only use a newobj call |
||||
that remains on the stack, as opposed to ldloca, initobj, ldloc |
||||
call. |
||||
|
||||
NEW NOTES: |
||||
---------- |
||||
|
||||
ImplicitStandardConversionExists and ImplicitStandardConversion |
||||
should always be the same, but there are a few diverging lines that |
||||
must be studied: |
||||
|
||||
if (expr_type == target_type && !(expr is NullLiteral)) |
||||
return expr; |
||||
|
||||
vs: |
||||
|
||||
if (expr_type == target_type) |
||||
return true; |
||||
|
||||
**************************************************************************************** |
||||
* |
||||
* The information on the rest of this file is mostly outdated, and its kept here for |
||||
* historical reasons |
||||
* |
||||
**************************************************************************************** |
||||
|
||||
Error Reporting: |
||||
---------------- |
||||
|
||||
* Make yyerror show a nice syntax error, instead of the current mess. |
||||
|
||||
Optimization ideas |
||||
------------------ |
||||
|
||||
Currently when we build a type cache, it contains private members, |
||||
internal members, and internal protected members; We should trim |
||||
these out, as it shows up on the profile. |
||||
|
||||
We create too many Arraylists; When we know the size, we should create |
||||
an array; |
||||
|
||||
During parsing we use arraylists to accumulate data, like this: |
||||
|
||||
thing: |
||||
|
||||
thing_list |
||||
: thing { $$ =new ArrayList (); $$.Add ($1); } |
||||
| thing_list thing { ArrayList a = $1; a.Add ($2); $$ = a; } |
||||
|
||||
We probably could start using "Pairs" there: |
||||
|
||||
thing_list |
||||
: thing { $$ = new Pair ($1, null); } |
||||
| thing_list thing { Pair p = $1; $$ = new Pair ($2, $1); } |
||||
|
||||
|
||||
EmitContext.ResolveTypeTree |
||||
--------------------------- |
||||
|
||||
We should investigate its usage. The problem is that by default |
||||
this will be set when calling FindType, that triggers a more expensive |
||||
lookup. |
||||
|
||||
I believe we should pass the current EmitContext (which has this turned off |
||||
by default) to ResolveType/REsolveTypeExpr and then have the routines that |
||||
need ResolveType to pass null as the emit context. |
||||
|
||||
DeclareLocal audit |
||||
------------------ |
||||
|
||||
DeclareLocal is used in various statements. The audit should be done |
||||
in two steps: |
||||
|
||||
* Identify all the declare locals. |
||||
|
||||
* Identify its uses. |
||||
|
||||
* Find if we can make wrapper functions for all of them. |
||||
|
||||
Then we can move DeclareLocal into a helper class. |
||||
|
||||
This is required to fix foreach in iterators. |
||||
|
||||
Ideas: |
||||
------ |
||||
|
||||
Instead of the hack that *knows* about System.Object not having any children classes, |
||||
we should just make it simple for a probe to know that there is no need for it. |
||||
|
||||
Dead Code Elimination bugs: |
||||
--------------------------- |
||||
|
||||
I should also resolve all the children expressions in Switch, Fixed, Using. |
||||
|
||||
Major tasks: |
||||
------------ |
||||
Properties and 17.6.3: Finish it. |
||||
|
||||
readonly variables and ref/out |
||||
|
||||
BUGS |
||||
---- |
||||
|
||||
* Break/Continue statements |
||||
|
||||
A finally block should reset the InLoop/LoopBegin/LoopEnd, as |
||||
they are logically outside the scope of the loop. |
||||
|
||||
* Break/continue part 2. |
||||
|
||||
They should transfer control to the finally block if inside a try/catch |
||||
block. |
||||
|
||||
* |
||||
> // CSC sets beforefieldinit |
||||
> class X { |
||||
> // .cctor will be generated by compiler |
||||
> public static readonly object O = new System.Object (); |
||||
> public static void Main () {} |
||||
> } |
||||
> |
||||
|
||||
PENDING TASKS |
||||
------------- |
||||
|
||||
* Merge test 89 and test-34 |
||||
|
||||
* Code cleanup |
||||
|
||||
The information when registering a method in InternalParameters |
||||
is duplicated, you can always get the types from the InternalParameters |
||||
|
||||
* Emit modreq for volatiles |
||||
|
||||
Handle modreq from public apis. |
||||
|
||||
* Merge tree.cs, rootcontext.cs |
||||
|
||||
OPTIMIZATIONS |
||||
------------- |
||||
|
||||
* User Defined Conversions is doing way too many calls to do union sets that are not needed |
||||
|
||||
* Add test case for destructors |
||||
|
||||
* Places that use `Ldelema' are basically places where I will be |
||||
initializing a value type. I could apply an optimization to |
||||
disable the implicit local temporary from being created (by using |
||||
the method in New). |
||||
|
||||
* Dropping TypeContainer as an argument to EmitContext |
||||
|
||||
My theory is that I can get rid of the TypeBuilder completely from |
||||
the EmitContext, and have typecasts where it is used (from |
||||
DeclSpace to where it matters). |
||||
|
||||
The only pending problem is that the code that implements Aliases |
||||
is on TypeContainer, and probably should go in DeclSpace. |
||||
|
||||
* Tests |
||||
|
||||
Write tests for the various reference conversions. We have |
||||
test for all the numeric conversions. |
||||
|
||||
* Optimizations: variable allocation. |
||||
|
||||
When local variables of a type are required, we should request |
||||
the variable and later release it when we are done, so that |
||||
the same local variable slot can be reused later on. |
||||
|
||||
* Add a cache for the various GetArrayMethod operations. |
||||
|
||||
* MakeUnionSet Callers |
||||
|
||||
If the types are the same, there is no need to compute the unionset, |
||||
we can just use the list from one of the types. |
||||
|
||||
* Factor the lookup code for class declarations an interfaces |
||||
(interface.cs:GetInterfaceByName) |
||||
|
||||
RECOMMENDATIONS |
||||
--------------- |
||||
|
||||
* Use of lexer.Location in the parser |
||||
|
||||
Currently we do: |
||||
|
||||
TOKEN nt TERMINAL nt TERMINAL nt3 { |
||||
$$ = new Blah ($2, $4, $6, lexer.Location); |
||||
} |
||||
|
||||
This is bad, because the lexer.Location is for the last item in `nt3' |
||||
|
||||
We need to change that to use this pattern: |
||||
|
||||
TOKEN { oob_stack.Push (lexer.Location) } nt TERMINAL nt TERMINAL nt3 { |
||||
$$ = new Blah ($3, $5, $7, (Location) oob_stack.Pop ()); |
||||
} |
||||
|
||||
Notice how numbering of the arguments changes as the |
||||
{ oob_stack.Push (lexer.Location) } takes a "slot" in the productions. |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,116 +0,0 @@
@@ -1,116 +0,0 @@
|
||||
Compiler operation |
||||
|
||||
The compiler has a number of phases: |
||||
|
||||
* Parsing. |
||||
|
||||
Initially the compiler parses all the source files and keeps a |
||||
parsed representation in memory. Very syntax error checking |
||||
is performed at this point. |
||||
|
||||
The compiler stores the information in classes whose names |
||||
represent the language construct, for example, the "if" |
||||
construct is stored in an `If' class. A class is stored in a |
||||
`Class'. |
||||
|
||||
* The TypeManager |
||||
|
||||
The TypeManager loads all the assemblies that were referenced |
||||
by the programmer. The CLR type system is used as our |
||||
repository for types defined as well. |
||||
|
||||
So the same interface that is used to query the types, |
||||
properties and flags about system types is the same interface |
||||
that we use for our types. |
||||
|
||||
As we work our way through the code generation and semantic |
||||
analysis, new types are entered into the Type system through |
||||
the use of System.Reflection.Emit. The TypeManager will |
||||
lookup types on both the user defined types and on the system |
||||
defined ones. |
||||
|
||||
So special care has to be used. The order in which we |
||||
proceeed from here is important. |
||||
|
||||
* Base class resolution and type definition. |
||||
|
||||
Once the parsing has happened, the compiler resolves the |
||||
inheritance tree for interfaces. This is done recursively |
||||
and we catch recursive interface definitions here. |
||||
|
||||
After this is done, we continue on with classes. Classes have |
||||
can have an optional "parent" inherit from or the implicit |
||||
System.Object class (for normal builds, builds with /nostdlib |
||||
will allow you to compile class System.Object with no parent). |
||||
|
||||
At this point we do some error checking and verify that the |
||||
inherits/implements section of a class is correct (since we |
||||
have previously built the interface inheritance). |
||||
|
||||
By the time we are done, all classes, structs and interfaces |
||||
have been created using System.Reflection.Emit and registered |
||||
with the Type Manager. |
||||
|
||||
This allows us to define fields and resolve argument names for |
||||
methods, properties, indexers and events. |
||||
|
||||
* Field generation |
||||
|
||||
Fields are generated next, we go through all the type |
||||
containers (classes and structs) and enter the fields into |
||||
their types. |
||||
|
||||
* Method, Properties, Indexers and events definitions |
||||
|
||||
Now all the methods, constructors, properties, indexers and |
||||
events are entered. They are only `defined' using |
||||
System.Reflection.Emit. No code generation will happen until |
||||
everything has been entered into System.Reflection.Emit. |
||||
|
||||
This is important because to actually generate code we need to |
||||
know everything about the environment in which the code is |
||||
being generated. |
||||
|
||||
* Code Generation |
||||
|
||||
At this point all the definitions have been entered into the |
||||
type manager through System.Reflection.Emit. We can now use |
||||
System.Reflection to query all the information about the |
||||
types. |
||||
|
||||
Your normal semantic analysis and code generation phase lives |
||||
here. |
||||
|
||||
* Statements |
||||
|
||||
Most of the statements are handled in the codegen.cs file. |
||||
|
||||
* Expressions |
||||
|
||||
* Error reporting |
||||
|
||||
Always use `Report::Error' or `Report::Warning' methods of Report |
||||
class. The actual Report instance is available via local context. |
||||
An expression error reporting has to be done during Resolve phase, |
||||
except when it's Emit specific (very rare). |
||||
|
||||
Error reporting should try to use the same codes that the |
||||
Microsoft compiler uses (if only so we can track which errors |
||||
we handle and which ones we dont). |
||||
|
||||
If there is an error which is specific to MSC, use negative |
||||
numbers, and register the number in mcs/errors/errors.txt |
||||
|
||||
Try to write a test case for any error that you run into the |
||||
code of the compiler if there is none already. |
||||
|
||||
Put your test case in a file called csNNNN.cs in the |
||||
mcs/errors directory, and have the first two lines be: |
||||
|
||||
// csNNNN.cs: This is the error message |
||||
// Line: XXX |
||||
// Compiler options: an optional compiler options |
||||
|
||||
Where `XXX' is the line where the error ocurrs. We will later |
||||
use this as a regression test suite for catching errors in the |
||||
compiler. |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,154 +0,0 @@
@@ -1,154 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
<PropertyGroup> |
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
<ProductVersion>10.0.20506</ProductVersion> |
||||
<SchemaVersion>2.0</SchemaVersion> |
||||
<ProjectGuid>{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}</ProjectGuid> |
||||
<OutputType>Exe</OutputType> |
||||
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
<RootNamespace>dmcs</RootNamespace> |
||||
<AssemblyName>dmcs</AssemblyName> |
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
||||
<FileAlignment>512</FileAlignment> |
||||
<PlatformTarget>x86</PlatformTarget> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
<DebugSymbols>true</DebugSymbols> |
||||
<DebugType>full</DebugType> |
||||
<Optimize>false</Optimize> |
||||
<OutputPath>.\</OutputPath> |
||||
<DefineConstants>TRACE;DEBUG;NET_4_0;MS_COMPATIBLE</DefineConstants> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<WarningLevel>4</WarningLevel> |
||||
<UseVSHostingProcess>true</UseVSHostingProcess> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
<DebugType>pdbonly</DebugType> |
||||
<Optimize>true</Optimize> |
||||
<DefineConstants>TRACE;NET_2_0;MS_COMPATIBLE;GMCS_SOURCE</DefineConstants> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<WarningLevel>4</WarningLevel> |
||||
<OutputPath>.\</OutputPath> |
||||
</PropertyGroup> |
||||
<ItemGroup> |
||||
<Reference Include="System" /> |
||||
<Reference Include="System.Xml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Compile Include="..\build\common\Consts.cs"> |
||||
</Compile> |
||||
<Compile Include="..\class\corlib\Mono.Security.Cryptography\CryptoConvert.cs"> |
||||
<Link>CryptoConvert.cs</Link> |
||||
</Compile> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs"> |
||||
<Link>MonoSymbolFile.cs</Link> |
||||
</Compile> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs"> |
||||
<Link>MonoSymbolTable.cs</Link> |
||||
</Compile> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolWriter.cs"> |
||||
<Link>MonoSymbolWriter.cs</Link> |
||||
</Compile> |
||||
<Compile Include="argument.cs" /> |
||||
<Compile Include="AssemblyInfo.cs"> |
||||
</Compile> |
||||
<Compile Include="anonymous.cs"> |
||||
</Compile> |
||||
<Compile Include="assign.cs"> |
||||
</Compile> |
||||
<Compile Include="attribute.cs"> |
||||
</Compile> |
||||
<Compile Include="cfold.cs"> |
||||
</Compile> |
||||
<Compile Include="class.cs"> |
||||
</Compile> |
||||
<Compile Include="codegen.cs"> |
||||
</Compile> |
||||
<Compile Include="complete.cs" /> |
||||
<Compile Include="const.cs"> |
||||
</Compile> |
||||
<Compile Include="constant.cs"> |
||||
</Compile> |
||||
<Compile Include="convert.cs"> |
||||
</Compile> |
||||
<Compile Include="context.cs" /> |
||||
<Compile Include="dynamic.cs" /> |
||||
<Compile Include="eval.cs" /> |
||||
<Compile Include="import.cs" /> |
||||
<Compile Include="lambda.cs"> |
||||
</Compile> |
||||
<Compile Include="cs-parser.cs" /> |
||||
<Compile Include="cs-tokenizer.cs"> |
||||
</Compile> |
||||
<Compile Include="decl.cs"> |
||||
</Compile> |
||||
<Compile Include="delegate.cs"> |
||||
</Compile> |
||||
<Compile Include="doc.cs"> |
||||
</Compile> |
||||
<Compile Include="driver.cs"> |
||||
</Compile> |
||||
<Compile Include="ecore.cs"> |
||||
</Compile> |
||||
<Compile Include="enum.cs"> |
||||
</Compile> |
||||
<Compile Include="expression.cs"> |
||||
</Compile> |
||||
<Compile Include="flowanalysis.cs"> |
||||
</Compile> |
||||
<Compile Include="generic.cs" /> |
||||
<Compile Include="iterators.cs"> |
||||
</Compile> |
||||
<Compile Include="literal.cs"> |
||||
</Compile> |
||||
<Compile Include="location.cs"> |
||||
</Compile> |
||||
<Compile Include="membercache.cs" /> |
||||
<Compile Include="method.cs" /> |
||||
<Compile Include="modifiers.cs"> |
||||
</Compile> |
||||
<Compile Include="namespace.cs"> |
||||
</Compile> |
||||
<Compile Include="nullable.cs"> |
||||
</Compile> |
||||
<Compile Include="..\tools\monop\outline.cs"> |
||||
<Link>outline.cs</Link> |
||||
</Compile> |
||||
<Compile Include="parameter.cs"> |
||||
</Compile> |
||||
<Compile Include="pending.cs"> |
||||
</Compile> |
||||
<Compile Include="property.cs" /> |
||||
<Compile Include="report.cs"> |
||||
</Compile> |
||||
<Compile Include="rootcontext.cs"> |
||||
</Compile> |
||||
<Compile Include="roottypes.cs"> |
||||
</Compile> |
||||
<Compile Include="statement.cs"> |
||||
</Compile> |
||||
<Compile Include="support.cs"> |
||||
</Compile> |
||||
<Compile Include="symbolwriter.cs"> |
||||
</Compile> |
||||
<Compile Include="typemanager.cs"> |
||||
</Compile> |
||||
<Compile Include="linq.cs" /> |
||||
<Compile Include="field.cs" /> |
||||
<Compile Include="typespec.cs" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Folder Include="Properties\" /> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
Other similar extension points exist, see Microsoft.Common.targets. |
||||
<Target Name="BeforeBuild"> |
||||
</Target> |
||||
<Target Name="AfterBuild"> |
||||
</Target> |
||||
--> |
||||
</Project> |
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0"?> |
||||
<configuration> |
||||
<startup> |
||||
<supportedRuntime version="v4.0.30319"/> |
||||
</startup> |
||||
</configuration> |
@ -1,55 +0,0 @@
@@ -1,55 +0,0 @@
|
||||
AssemblyInfo.cs |
||||
anonymous.cs |
||||
argument.cs |
||||
assign.cs |
||||
attribute.cs |
||||
cs-tokenizer.cs |
||||
cfold.cs |
||||
class.cs |
||||
codegen.cs |
||||
complete.cs |
||||
const.cs |
||||
constant.cs |
||||
convert.cs |
||||
context.cs |
||||
decl.cs |
||||
delegate.cs |
||||
doc.cs |
||||
driver.cs |
||||
dynamic.cs |
||||
ecore.cs |
||||
enum.cs |
||||
eval.cs |
||||
expression.cs |
||||
field.cs |
||||
flowanalysis.cs |
||||
generic.cs |
||||
import.cs |
||||
iterators.cs |
||||
lambda.cs |
||||
linq.cs |
||||
literal.cs |
||||
location.cs |
||||
membercache.cs |
||||
method.cs |
||||
modifiers.cs |
||||
namespace.cs |
||||
nullable.cs |
||||
parameter.cs |
||||
pending.cs |
||||
property.cs |
||||
report.cs |
||||
rootcontext.cs |
||||
roottypes.cs |
||||
statement.cs |
||||
support.cs |
||||
typemanager.cs |
||||
typespec.cs |
||||
visit.cs |
||||
symbolwriter.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolTable.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolWriter.cs |
||||
../class/corlib/Mono.Security.Cryptography/CryptoConvert.cs |
||||
../build/common/Consts.cs |
||||
../tools/monop/outline.cs |
@ -1,20 +0,0 @@
@@ -1,20 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00 |
||||
# Visual Studio 2010 |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dmcs", "dmcs.csproj", "{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}" |
||||
EndProject |
||||
Global |
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
Debug|Any CPU = Debug|Any CPU |
||||
Release|Any CPU = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(SolutionProperties) = preSolution |
||||
HideSolutionNode = FALSE |
||||
EndGlobalSection |
||||
EndGlobal |
@ -1,59 +0,0 @@
@@ -1,59 +0,0 @@
|
||||
//
|
||||
// doc-bootstrap.cs: Stub support for XML documentation.
|
||||
//
|
||||
// Author:
|
||||
// Raja R Harinath <rharinath@novell.com>
|
||||
//
|
||||
// Dual licensed under the terms of the MIT X11 or GNU GPL
|
||||
//
|
||||
// Copyright 2004 Novell, Inc.
|
||||
//
|
||||
//
|
||||
|
||||
#if BOOTSTRAP_WITH_OLDLIB || NET_2_1
|
||||
|
||||
using XmlElement = System.Object; |
||||
|
||||
namespace Mono.CSharp { |
||||
public class DocUtil |
||||
{ |
||||
internal static void GenerateTypeDocComment (TypeContainer t, DeclSpace ds, Report r) |
||||
{ |
||||
} |
||||
|
||||
internal static void GenerateDocComment (MemberCore mc, DeclSpace ds, Report r) |
||||
{ |
||||
} |
||||
|
||||
public static string GetMethodDocCommentName (MemberCore mc, ParametersCompiled p, DeclSpace ds) |
||||
{ |
||||
return ""; |
||||
} |
||||
|
||||
internal static void OnMethodGenerateDocComment (MethodCore mc, XmlElement el, Report r) |
||||
{ |
||||
} |
||||
|
||||
public static void GenerateEnumDocComment (Enum e, DeclSpace ds) |
||||
{ |
||||
} |
||||
} |
||||
|
||||
public class Documentation |
||||
{ |
||||
public Documentation (string xml_output_filename) |
||||
{ |
||||
} |
||||
|
||||
public bool OutputDocComment (string asmfilename, Report r) |
||||
{ |
||||
return true; |
||||
} |
||||
|
||||
public void GenerateDocComment () |
||||
{ |
||||
} |
||||
} |
||||
} |
||||
|
||||
#endif
|
@ -1,111 +0,0 @@
@@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> |
||||
<PropertyGroup> |
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||
<ProductVersion>9.0.30729</ProductVersion> |
||||
<SchemaVersion>2.0</SchemaVersion> |
||||
<ProjectGuid>{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}</ProjectGuid> |
||||
<OutputType>Library</OutputType> |
||||
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||
<RootNamespace>gmcs</RootNamespace> |
||||
<AssemblyName>gmcs</AssemblyName> |
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> |
||||
<FileAlignment>512</FileAlignment> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||
<DebugSymbols>true</DebugSymbols> |
||||
<DebugType>full</DebugType> |
||||
<Optimize>false</Optimize> |
||||
<OutputPath>..\..\..\monodevelop\main\build\bin</OutputPath> |
||||
<DefineConstants>TRACE;DEBUG;NET_2_0;MS_COMPATIBLE;FULL_AST;BOOTSTRAP_BASIC</DefineConstants> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<WarningLevel>4</WarningLevel> |
||||
<UseVSHostingProcess>false</UseVSHostingProcess> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||
<DebugType>pdbonly</DebugType> |
||||
<Optimize>true</Optimize> |
||||
<DefineConstants>TRACE;NET_2_0;MS_COMPATIBLE</DefineConstants> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<DefineConstants>TRACE;NET_2_0;MS_COMPATIBLE</DefineConstants> |
||||
<ErrorReport>prompt</ErrorReport> |
||||
<WarningLevel>4</WarningLevel> |
||||
<OutputPath>..\..\..\monodevelop\main\build\bin</OutputPath> |
||||
</PropertyGroup> |
||||
<ItemGroup> |
||||
<Reference Include="System" /> |
||||
<Reference Include="System.Core"> |
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
||||
</Reference> |
||||
<Reference Include="System.Xml" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Compile Include="..\class\corlib\Mono.Security.Cryptography\CryptoConvert.cs" /> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" /> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" /> |
||||
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolWriter.cs" /> |
||||
<Compile Include="argument.cs" /> |
||||
<Compile Include="AssemblyInfo.cs" /> |
||||
<Compile Include="anonymous.cs" /> |
||||
<Compile Include="assign.cs" /> |
||||
<Compile Include="attribute.cs" /> |
||||
<Compile Include="cfold.cs" /> |
||||
<Compile Include="class.cs" /> |
||||
<Compile Include="codegen.cs" /> |
||||
<Compile Include="complete.cs" /> |
||||
<Compile Include="const.cs" /> |
||||
<Compile Include="constant.cs" /> |
||||
<Compile Include="context.cs" /> |
||||
<Compile Include="convert.cs" /> |
||||
<Compile Include="dynamic.cs" /> |
||||
<Compile Include="eval.cs" /> |
||||
<Compile Include="import.cs" /> |
||||
<Compile Include="lambda.cs" /> |
||||
<Compile Include="cs-parser.cs" /> |
||||
<Compile Include="cs-tokenizer.cs" /> |
||||
<Compile Include="decl.cs" /> |
||||
<Compile Include="delegate.cs" /> |
||||
<Compile Include="doc.cs" /> |
||||
<Compile Include="driver.cs" /> |
||||
<Compile Include="ecore.cs" /> |
||||
<Compile Include="enum.cs" /> |
||||
<Compile Include="expression.cs" /> |
||||
<Compile Include="flowanalysis.cs" /> |
||||
<Compile Include="generic.cs" /> |
||||
<Compile Include="iterators.cs" /> |
||||
<Compile Include="literal.cs" /> |
||||
<Compile Include="location.cs" /> |
||||
<Compile Include="membercache.cs" /> |
||||
<Compile Include="method.cs" /> |
||||
<Compile Include="modifiers.cs" /> |
||||
<Compile Include="namespace.cs" /> |
||||
<Compile Include="nullable.cs" /> |
||||
<Compile Include="..\tools\monop\outline.cs" /> |
||||
<Compile Include="parameter.cs" /> |
||||
<Compile Include="pending.cs" /> |
||||
<Compile Include="property.cs" /> |
||||
<Compile Include="report.cs" /> |
||||
<Compile Include="rootcontext.cs" /> |
||||
<Compile Include="roottypes.cs" /> |
||||
<Compile Include="statement.cs" /> |
||||
<Compile Include="support.cs" /> |
||||
<Compile Include="symbolwriter.cs" /> |
||||
<Compile Include="typemanager.cs" /> |
||||
<Compile Include="linq.cs" /> |
||||
<Compile Include="field.cs" /> |
||||
<Compile Include="typespec.cs" /> |
||||
<Compile Include="visit.cs" /> |
||||
</ItemGroup> |
||||
<ItemGroup> |
||||
<Folder Include="Properties\" /> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
||||
Other similar extension points exist, see Microsoft.Common.targets. |
||||
<Target Name="BeforeBuild"> |
||||
</Target> |
||||
<Target Name="AfterBuild"> |
||||
</Target> |
||||
--> |
||||
</Project> |
@ -1,14 +0,0 @@
@@ -1,14 +0,0 @@
|
||||
<configuration> |
||||
<startup> |
||||
<supportedRuntime version="v2.0.50727"/> |
||||
</startup> |
||||
<system.diagnostics> |
||||
<trace autoflush="true" indentsize="4"> |
||||
<listeners> |
||||
<add name="compilerLogListener" type="System.Diagnostics.TextWriterTraceListener,System" |
||||
initializeData="mcs.log" /> |
||||
<remove type="System.Diagnostics.DefaultTraceListener,System"/> |
||||
</listeners> |
||||
</trace> |
||||
</system.diagnostics> |
||||
</configuration> |
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
AssemblyInfo.cs |
||||
anonymous.cs |
||||
argument.cs |
||||
assign.cs |
||||
attribute.cs |
||||
cs-tokenizer.cs |
||||
cfold.cs |
||||
class.cs |
||||
codegen.cs |
||||
complete.cs |
||||
const.cs |
||||
constant.cs |
||||
convert.cs |
||||
context.cs |
||||
decl.cs |
||||
delegate.cs |
||||
doc.cs |
||||
doc-bootstrap.cs |
||||
driver.cs |
||||
dynamic.cs |
||||
ecore.cs |
||||
enum.cs |
||||
eval.cs |
||||
expression.cs |
||||
field.cs |
||||
flowanalysis.cs |
||||
generic.cs |
||||
import.cs |
||||
iterators.cs |
||||
lambda.cs |
||||
linq.cs |
||||
literal.cs |
||||
location.cs |
||||
membercache.cs |
||||
method.cs |
||||
modifiers.cs |
||||
namespace.cs |
||||
nullable.cs |
||||
parameter.cs |
||||
pending.cs |
||||
property.cs |
||||
report.cs |
||||
rootcontext.cs |
||||
roottypes.cs |
||||
statement.cs |
||||
support.cs |
||||
typemanager.cs |
||||
typespec.cs |
||||
visit.cs |
||||
symbolwriter.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolTable.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolWriter.cs |
||||
../class/corlib/Mono.Security.Cryptography/CryptoConvert.cs |
||||
../build/common/Consts.cs |
||||
../tools/monop/outline.cs |
@ -1,20 +0,0 @@
@@ -1,20 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00 |
||||
# Visual C# Express 2008 |
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gmcs", "gmcs.csproj", "{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}" |
||||
EndProject |
||||
Global |
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
Debug|Any CPU = Debug|Any CPU |
||||
Release|Any CPU = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
EndGlobalSection |
||||
GlobalSection(SolutionProperties) = preSolution |
||||
HideSolutionNode = FALSE |
||||
EndGlobalSection |
||||
EndGlobal |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
<Properties> |
||||
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> |
||||
<MonoDevelop.Ide.Workbench ActiveDocument="cs-parser.jay"> |
||||
<Files> |
||||
<File FileName="cs-parser.jay" Line="5349" Column="43" /> |
||||
</Files> |
||||
<Pads> |
||||
<Pad Id="ProjectPad"> |
||||
<State expanded="True"> |
||||
<Node name="gmcs" expanded="True"> |
||||
<Option id="ShowVersionControlOverlays" value="True" /> |
||||
<Option id="ShowAllFiles" value="True" /> |
||||
<Node name="cs-parser.jay" selected="True" /> |
||||
</Node> |
||||
</State> |
||||
</Pad> |
||||
</Pads> |
||||
</MonoDevelop.Ide.Workbench> |
||||
<MonoDevelop.Ide.DebuggingService.Breakpoints> |
||||
<BreakpointStore /> |
||||
</MonoDevelop.Ide.DebuggingService.Breakpoints> |
||||
<MonoDevelop.Ide.DebuggingService.PinnedWatches /> |
||||
</Properties> |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
<PropertyGroup> |
||||
<OutputType>Exe</OutputType> |
||||
<AssemblyName>gmcs</AssemblyName> |
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> |
||||
<ResponseFile>gmcs.exe.sources</ResponseFile> |
||||
<CodePage>65001</CodePage> |
||||
<OutputPath>..\class\lib\basic\</OutputPath> |
||||
<UseVSHostingProcess>false</UseVSHostingProcess> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'basic|AnyCPU' "> |
||||
<DefineConstants>BOOTSTRAP_BASIC,NET_1_1,NET_2_0</DefineConstants> |
||||
</PropertyGroup> |
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'net_2_0|AnyCPU' "> |
||||
<DefineConstants>NET_1_1,NET_2_0</DefineConstants> |
||||
</PropertyGroup> |
||||
<ItemGroup> |
||||
<Compile Include="cs-parser.cs"/> |
||||
<Reference Include="System.dll"/> |
||||
<Reference Include="System.Core.dll"/> |
||||
<Reference Include="System.XML.dll"/> |
||||
</ItemGroup> |
||||
<Import Project="$(MSBuildProjectDirectory)\..\build\msbuild\Mono.Common.targets"/> |
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
||||
<Target Name="BeforeBuild" DependsOnTargets="SetupProject"> |
||||
<Exec Command="..\jay\jay.exe -cvt < ..\jay\skeleton.cs cs-parser.jay > cs-parser.cs"/> |
||||
</Target> |
||||
</Project> |
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
Tasks for completing Lambda support: |
||||
|
||||
* Port the grammar to mcs |
||||
|
||||
* Everywhere where we use Arguments, we need to clone them. |
||||
|
||||
* We need a "CloneContext" that would keep track of mappings between |
||||
the old blocks and the new blocks, so that expression that keep |
||||
pointers to blocks can get the proper block on cloning, something like: |
||||
|
||||
CloneTo (CloneContext cc, Expression t) |
||||
{ |
||||
MyClass target = (MyClass) t; |
||||
target.Block = cc.RemapBlock (Block); |
||||
} |
||||
|
||||
* Generics section support. |
||||
|
||||
* Fix the bug in the modified l1.cs that introduces two rets instead |
||||
of a single one. |
||||
|
||||
* Complete CloneTo for Statements. |
||||
|
||||
* Write an extensive test suite to exercise CloneTo |
File diff suppressed because it is too large
Load Diff
@ -1,168 +0,0 @@
@@ -1,168 +0,0 @@
|
||||
Things to do for the REPL support in MCS: |
||||
|
||||
Documentation for the REPL mode for MCS can be found here: |
||||
|
||||
http://mono-project.com/CsharpRepl |
||||
|
||||
* Embedding API |
||||
|
||||
* Booting the compiler without Main () |
||||
* Expose LoadAssembly/LoadPackage |
||||
* Register fields? |
||||
* Register a lookup function for fields? |
||||
* Register classes to expose to REPL |
||||
|
||||
* Embedded Library |
||||
|
||||
* Run a REPL on a socket (from Joe Shaw) |
||||
* Host a REPL on XSP (from Nat). |
||||
|
||||
* TODO |
||||
|
||||
Clear struct fields inside the clearing code. |
||||
|
||||
* Other ideas: |
||||
|
||||
MD addin for "csharp" |
||||
|
||||
* Supporting class-level declarations |
||||
|
||||
Currently the evaluator has this feature disabled, to enable |
||||
it edit the eval.cs file and make this be the default: |
||||
|
||||
- parser.Lexer.putback_char = Tokenizer.EvalUsingDeclarationsParserCharacter; |
||||
- //parser.Lexer.putback_char = Tokenizer.EvalCompilationUnitParserCharacter; |
||||
+ //parser.Lexer.putback_char = Tokenizer.EvalUsingDeclarationsParserCharacter; |
||||
+ parser.Lexer.putback_char = Tokenizer.EvalCompilationUnitParserCharacter; |
||||
|
||||
|
||||
It currently has a few problems: |
||||
|
||||
* Support for overwritting existing defined |
||||
classes is not supported. |
||||
|
||||
* The usability is not as useful, since the defaults |
||||
for C# are still to make members private, we should |
||||
change this default to be public in those cases. |
||||
|
||||
* The error lookup system lacks information from types, for |
||||
example this causes an unsupported call into a TypeBuilder: |
||||
|
||||
csharp>class D { void DD () {} } |
||||
csharp>var d = new D (); |
||||
csharp>d.DD (); |
||||
|
||||
Internal compiler error at Internal(1,1):: exception caught while emitting MethodBuilder [Class0::Host] |
||||
System.NotSupportedException: The invoked member is not supported in a dynamic module. |
||||
at System.Reflection.Emit.AssemblyBuilder.get_Location () [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.Report.SymbolRelatedToPreviousError (System.Reflection.MemberInfo mi) [0x00000] in |
||||
at Mono.CSharp.MethodGroupExpr.NoExactMatch (Mono.CSharp.ResolveContext ec, |
||||
Mono.CSharp.Arguments& Arguments, IDictionary`2 c |
||||
|
||||
|
||||
The above is caused by TypeManager.LookupDeclSpace (dt) |
||||
failing to return a value (it returns null) so our code |
||||
assumes we have an Assembly instead of an assemblybuilder. |
||||
|
||||
|
||||
|
||||
* Declaring a class twice produces an internal parse error: |
||||
|
||||
class X {} |
||||
class X {} |
||||
|
||||
The second declaration will no longer be parsed, so it could even |
||||
contain junk, and wont be flagged. We probably need to allow for |
||||
type redefinition in REPL modes, the exception from the second is: |
||||
|
||||
csharp -v -v |
||||
> class X {} |
||||
> class X {} |
||||
|
||||
System.ArgumentException: An element with the same key already exists in the dictionary. |
||||
at System.Collections.Generic.Dictionary`2[System.String,Mono.CSharp.DeclSpace].Add (System.String key, Mono.CSharp.DeclSpace value) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.Namespace.AddDeclSpace (System.String name, Mono.CSharp.DeclSpace ds) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.ModuleCompiled.AddMemberType (Mono.CSharp.DeclSpace ds) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.TypeContainer.AddTypeContainer (Mono.CSharp.TypeContainer tc) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.CSharpParser.push_current_class (Mono.CSharp.TypeContainer tc, System.Object partial_token) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.CSharpParser.yyparse (yyInput yyLex) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.CSharpParser.yyparse (yyInput yyLex, System.Object yyd) [0x00000] in <filename unknown>:0 |
||||
at Mono.CSharp.CSharpParser.parse () [0x00000] in <filename unknown>:0 |
||||
|
||||
* Mix statements with other top-level declarations. |
||||
|
||||
csharp> class Y {static void Main () {Console.WriteLine ("Foo"); }} |
||||
csharp> typeof (Y); |
||||
Y |
||||
csharp> Y.Main (); |
||||
Exception caught by the compiler while compiling: |
||||
Block that caused the problem begin at: Internal(1,1): |
||||
Block being compiled: [<interactive>(1,2):,<interactive>(1,11):] |
||||
System.NotSupportedException: The invoked member is not supported in a dynamic module. |
||||
Internal compiler error at Internal(1,1):: exception caught while emitting MethodBuilder [Class2::Host] |
||||
System.NotSupportedException: The invoked member is not supported in a dynamic module. |
||||
at System.Reflection.Emit.AssemblyBuilder.get_Location () [0x00000] in /second/home/cvs/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs:214 |
||||
at Mono.CSharp.Report.SymbolRelatedToPreviousError (System.Reflection.MemberInfo mi) [0x00036] in /second/home/cvs/mcs/mcs/report.cs:664 |
||||
at Mono.CSharp.Expression.Error_MemberLookupFailed (System.Type container_type, System.Type qualifier_type, System.Type queried_type, System.String name, System.String class_name, MemberTypes mt, BindingFlags bf) [0x00121] in /second/home/cvs/mcs/mcs/ecore.cs:857 |
||||
at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression right_side) [0x00230] in /second/home/cvs/mcs/mcs/expression.cs:7426 |
||||
at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/expression.cs:7494 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00075] in /second/home/cvs/mcs/mcs/ecore.cs:479 |
||||
at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x0000d] in /second/home/cvs/mcs/mcs/expression.cs:4725 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00075] in /second/home/cvs/mcs/mcs/ecore.cs:479 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:506 |
||||
at Mono.CSharp.OptionalAssign.DoResolve (Mono.CSharp.EmitContext ec) [0x00013] in /second/home/cvs/mcs/mcs/repl.cs:681 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00075] in /second/home/cvs/mcs/mcs/ecore.cs:479 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:506 |
||||
at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:1307 |
||||
at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec) [0x0000b] in /second/home/cvs/mcs/mcs/statement.cs:743 |
||||
at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x000f0] in /second/home/cvs/mcs/mcs/statement.cs:2254 |
||||
at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/statement.cs:2550 |
||||
at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean& unreachable) [0x00087] in /second/home/cvs/mcs/mcs/codegen.cs:796 |
||||
csharp> |
||||
|
||||
* Another one: |
||||
|
||||
csharp> class X { X (){ Console.WriteLine ("Called"); } } |
||||
csharp> new X (); |
||||
Exception caught by the compiler while compiling: |
||||
Block that caused the problem begin at: Internal(1,1): |
||||
Block being compiled: [<interactive>(1,2):,<interactive>(1,10):] |
||||
System.NotSupportedException: The invoked member is not supported in a dynamic module. |
||||
Internal compiler error at Internal(1,1):: exception caught while emitting MethodBuilder [Class0::Host] |
||||
System.NotSupportedException: The invoked member is not supported in a dynamic module. |
||||
at System.Reflection.Emit.AssemblyBuilder.get_Location () [0x00000] in /second/home/cvs/mcs/class/corlib/System.Reflection.Emit/AssemblyBuilder.cs:214 |
||||
at Mono.CSharp.Report.SymbolRelatedToPreviousError (System.Reflection.MemberInfo mi) [0x00036] in /second/home/cvs/mcs/mcs/report.cs:664 |
||||
at Mono.CSharp.Expression.Error_MemberLookupFailed (System.Type container_type, System.Type qualifier_type, System.Type queried_type, System.String name, System.String class_name, MemberTypes mt, BindingFlags bf) [0x00121] in /second/home/cvs/mcs/mcs/ecore.cs:857 |
||||
at Mono.CSharp.Expression.MemberLookupFinal (Mono.CSharp.EmitContext ec, System.Type qualifier_type, System.Type queried_type, System.String name, MemberTypes mt, BindingFlags bf, Location loc) [0x0002f] in /second/home/cvs/mcs/mcs/ecore.cs:804 |
||||
at Mono.CSharp.New.DoResolve (Mono.CSharp.EmitContext ec) [0x002ad] in /second/home/cvs/mcs/mcs/expression.cs:5486 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00075] in /second/home/cvs/mcs/mcs/ecore.cs:479 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:506 |
||||
at Mono.CSharp.OptionalAssign.DoResolve (Mono.CSharp.EmitContext ec) [0x00013] in /second/home/cvs/mcs/mcs/repl.cs:687 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags flags) [0x00075] in /second/home/cvs/mcs/mcs/ecore.cs:479 |
||||
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:506 |
||||
at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/ecore.cs:1307 |
||||
at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec) [0x0000b] in /second/home/cvs/mcs/mcs/statement.cs:743 |
||||
at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x000f0] in /second/home/cvs/mcs/mcs/statement.cs:2254 |
||||
at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) [0x00000] in /second/home/cvs/mcs/mcs/statement.cs:2550 |
||||
at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean& unreachable) [0x00087] in /second/home/cvs/mcs/mcs/codegen.cs:796 |
||||
csharp> |
||||
|
||||
* Important: we need to replace TypeBuidlers with Types after things |
||||
have been emitted, or stuff like this happens: |
||||
|
||||
csharp> public class y {} |
||||
csharp> typeof (y); |
||||
Class1 |
||||
|
||||
|
||||
* Clearing data |
||||
|
||||
TODO: when clearing data for variables that have been overwritten |
||||
we need to check for structs and clear all the fields that contain |
||||
reference types. |
||||
|
||||
* DEBATABLE: Implement auto-insert-semicolon |
||||
|
||||
This is easy to implement, just retry the parse with a |
||||
semicolon, the question is whether this is a good idea to do |
||||
in the first place or not. |
@ -1,53 +0,0 @@
@@ -1,53 +0,0 @@
|
||||
AssemblyInfo.cs |
||||
anonymous.cs |
||||
argument.cs |
||||
assign.cs |
||||
attribute.cs |
||||
driver.cs |
||||
cs-tokenizer.cs |
||||
cfold.cs |
||||
class.cs |
||||
codegen.cs |
||||
complete.cs |
||||
const.cs |
||||
constant.cs |
||||
convert.cs |
||||
context.cs |
||||
decl.cs |
||||
delegate.cs |
||||
doc-bootstrap.cs |
||||
dynamic.cs |
||||
enum.cs |
||||
ecore.cs |
||||
eval.cs |
||||
expression.cs |
||||
field.cs |
||||
flowanalysis.cs |
||||
generic.cs |
||||
import.cs |
||||
iterators.cs |
||||
lambda.cs |
||||
linq.cs |
||||
literal.cs |
||||
location.cs |
||||
membercache.cs |
||||
method.cs |
||||
modifiers.cs |
||||
namespace.cs |
||||
nullable.cs |
||||
parameter.cs |
||||
pending.cs |
||||
property.cs |
||||
report.cs |
||||
rootcontext.cs |
||||
roottypes.cs |
||||
statement.cs |
||||
support.cs |
||||
typemanager.cs |
||||
typespec.cs |
||||
symbolwriter.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolTable.cs |
||||
../class/Mono.CompilerServices.SymbolWriter/MonoSymbolWriter.cs |
||||
../class/corlib/Mono.Security.Cryptography/CryptoConvert.cs |
||||
../build/common/Consts.cs |
@ -1,384 +0,0 @@
@@ -1,384 +0,0 @@
|
||||
../build/common/MonoTODOAttribute.cs |
||||
../build/common/Locale.cs |
||||
../class/System.XML/Mono.Xml.Schema/XmlSchemaValidatingReader.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdIdentityPath.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdIdentityState.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdKeyTable.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdParticleValidationState.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdValidatingReader.cs |
||||
../class/System.XML/Mono.Xml.Schema/XsdWildcard.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocument.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocumentWriter.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathNavigator.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathNode.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocument2.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder2.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathDocumentWriter2.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathNavigator2.cs |
||||
../class/System.XML/Mono.Xml.XPath/DTMXPathNode2.cs |
||||
../class/System.XML/Mono.Xml.XPath/IdPattern.cs |
||||
../class/System.XML/Mono.Xml.XPath/KeyPattern.cs |
||||
../class/System.XML/Mono.Xml.XPath/LocationPathPattern.cs |
||||
../class/System.XML/Mono.Xml.XPath/Pattern.cs |
||||
../class/System.XML/Mono.Xml.XPath/UnionPattern.cs |
||||
../class/System.XML/Mono.Xml.XPath/XPathEditableDocument.cs |
||||
../class/System.XML/Mono.Xml.XPath/XPathNavigatorReader.cs |
||||
../class/System.XML/Mono.Xml/IHasXmlParserContext.cs |
||||
../class/System.XML/Mono.Xml/IHasXmlSchemaInfo.cs |
||||
../class/System.XML/Mono.Xml/SubtreeXmlReader.cs |
||||
../class/System.XML/Mono.Xml/XmlFilterReader.cs |
||||
../class/System.XML/Mono.Xml/XmlNodeWriter.cs |
||||
../class/System.XML/System.Xml/ConformanceLevel.cs |
||||
../class/System.XML/System.Xml/DTDAutomata.cs |
||||
../class/System.XML/System.Xml/DTDObjectModel.cs |
||||
../class/System.XML/System.Xml/DTDReader.cs |
||||
../class/System.XML/System.Xml/DTDValidatingReader2.cs |
||||
../class/System.XML/System.Xml/EntityResolvingXmlReader.cs |
||||
../class/System.XML/System.Xml/EntityHandling.cs |
||||
../class/System.XML/System.Xml/Formatting.cs |
||||
../class/System.XML/System.Xml/IHasXmlNode.cs |
||||
../class/System.XML/System.Xml/IXmlLineInfo.cs |
||||
../class/System.XML/System.Xml/IHasXmlChildNode.cs |
||||
../class/System.XML/System.Xml/IXmlNamespaceResolver.cs |
||||
../class/System.XML/System.Xml/MonoFIXAttribute.cs |
||||
../class/System.XML/System.Xml/NameTable.cs |
||||
../class/System.XML/System.Xml/NewLineHandling.cs |
||||
../class/System.XML/System.Xml/ReadState.cs |
||||
../class/System.XML/System.Xml/ValidationType.cs |
||||
../class/System.XML/System.Xml/WhitespaceHandling.cs |
||||
../class/System.XML/System.Xml/WriteState.cs |
||||
../class/System.XML/System.Xml/XmlEntity.cs |
||||
../class/System.XML/System.Xml/XmlAttribute.cs |
||||
../class/System.XML/System.Xml/XmlAttributeCollection.cs |
||||
../class/System.XML/System.Xml/XmlCDataSection.cs |
||||
../class/System.XML/System.Xml/XmlConstructs.cs |
||||
../class/System.XML/System.Xml/XmlChar.cs |
||||
../class/System.XML/System.Xml/XmlCharacterData.cs |
||||
../class/System.XML/System.Xml/XmlComment.cs |
||||
../class/System.XML/System.Xml/XmlNotation.cs |
||||
../class/System.XML/System.Xml/XmlDeclaration.cs |
||||
../class/System.XML/System.Xml/XmlDocument.cs |
||||
../class/System.XML/System.Xml/XmlDocumentFragment.cs |
||||
../class/System.XML/System.Xml/XmlDocumentNavigator.cs |
||||
../class/System.XML/System.Xml/XmlDocumentType.cs |
||||
../class/System.XML/System.Xml/XmlElement.cs |
||||
../class/System.XML/System.Xml/XmlEntityReference.cs |
||||
../class/System.XML/System.Xml/XmlException.cs |
||||
../class/System.XML/System.Xml/XmlImplementation.cs |
||||
../class/System.XML/System.Xml/XmlConvert.cs |
||||
../class/System.XML/System.Xml/XmlDateTimeSerializationMode.cs |
||||
../class/System.XML/System.Xml/XmlLinkedNode.cs |
||||
../class/System.XML/System.Xml/XmlNameEntry.cs |
||||
../class/System.XML/System.Xml/XmlNameEntryCache.cs |
||||
../class/System.XML/System.Xml/XmlNameTable.cs |
||||
../class/System.XML/System.Xml/XmlNamedNodeMap.cs |
||||
../class/System.XML/System.Xml/XmlNamespaceScope.cs |
||||
../class/System.XML/System.Xml/XmlNamespaceManager.cs |
||||
../class/System.XML/System.Xml/XmlNode.cs |
||||
../class/System.XML/System.Xml/XmlNodeChangedAction.cs |
||||
../class/System.XML/System.Xml/XmlNodeChangedEventArgs.cs |
||||
../class/System.XML/System.Xml/XmlNodeChangedEventHandler.cs |
||||
../class/System.XML/System.Xml/XmlNodeList.cs |
||||
../class/System.XML/System.Xml/XmlNodeListChildren.cs |
||||
../class/System.XML/System.Xml/XmlNodeArrayList.cs |
||||
../class/System.XML/System.Xml/XmlIteratorNodeList.cs |
||||
../class/System.XML/System.Xml/XmlNodeOrder.cs |
||||
../class/System.XML/System.Xml/XmlNodeReader2.cs |
||||
../class/System.XML/System.Xml/XmlNodeReaderImpl.cs |
||||
../class/System.XML/System.Xml/XmlNodeType.cs |
||||
../class/System.XML/System.Xml/XmlOutputMethod.cs |
||||
../class/System.XML/System.Xml/XmlParserContext.cs |
||||
../class/System.XML/System.Xml/XmlProcessingInstruction.cs |
||||
../class/System.XML/System.Xml/XmlQualifiedName.cs |
||||
../class/System.XML/System.Xml/XmlReader.cs |
||||
../class/System.XML/System.Xml/XmlReaderBinarySupport.cs |
||||
../class/System.XML/System.Xml/XmlReaderSettings.cs |
||||
../class/System.XML/System.Xml/XmlResolver.cs |
||||
../class/System.XML/System.Xml/XmlSecureResolver.cs |
||||
../class/System.XML/System.Xml/XmlSignificantWhitespace.cs |
||||
../class/System.XML/System.Xml/XmlSpace.cs |
||||
../class/System.XML/System.Xml/XmlText.cs |
||||
../class/System.XML/System.Xml/XmlTextReader.cs |
||||
../class/System.XML/System.Xml/XmlTextReader2.cs |
||||
../class/System.XML/System.Xml/XmlTokenizedType.cs |
||||
../class/System.XML/System.Xml/XmlUrlResolver.cs |
||||
../class/System.XML/System.Xml/XmlValidatingReader.cs |
||||
../class/System.XML/System.Xml/XmlWhitespace.cs |
||||
../class/System.XML/System.Xml/XmlWriter.cs |
||||
../class/System.XML/System.Xml/XmlWriterSettings.cs |
||||
../class/System.XML/System.Xml/XmlTextWriter2.cs |
||||
../class/System.XML/System.Xml/XmlInputStream.cs |
||||
../class/System.XML/System.Xml/XmlParserInput.cs |
||||
../class/System.XML/System.Xml.XPath/IXPathNavigable.cs |
||||
../class/System.XML/System.Xml.XPath/XPathNavigator.cs |
||||
../class/System.XML/System.Xml.XPath/XPathExpression.cs |
||||
../class/System.XML/System.Xml.XPath/XPathItem.cs |
||||
../class/System.XML/System.Xml.XPath/XPathNamespaceScope.cs |
||||
../class/System.XML/System.Xml.XPath/XPathNodeIterator.cs |
||||
../class/System.XML/System.Xml.XPath/XPathResultType.cs |
||||
../class/System.XML/System.Xml.XPath/XPathNodeType.cs |
||||
../class/System.XML/System.Xml.XPath/XmlDataType.cs |
||||
../class/System.XML/System.Xml.XPath/XmlSortOrder.cs |
||||
../class/System.XML/System.Xml.XPath/XmlCaseOrder.cs |
||||
../class/System.XML/System.Xml.XPath/XPathDocument.cs |
||||
../class/System.XML/System.Xml.XPath/XPathException.cs |
||||
../class/System.XML/System.Xml.XPath/XPathComparer.cs |
||||
../class/System.XML/System.Xml.XPath/DefaultContext.cs |
||||
../class/System.XML/System.Xml.XPath/Expression.cs |
||||
../class/System.XML/System.Xml.XPath/Iterator.cs |
||||
../class/System.XML/System.Xml.XPath/Tokenizer.cs |
||||
../class/System.XML/System.Xml.XPath/Parser.cs |
||||
../class/System.XML/System.Xml.Schema/BuiltInDatatype.cs |
||||
../class/System.XML/System.Xml.Schema/IXmlSchemaInfo.cs |
||||
../class/System.XML/System.Xml.Schema/SchemaDataValueType.cs |
||||
../class/System.XML/System.Xml.Schema/ValidationEventArgs.cs |
||||
../class/System.XML/System.Xml.Schema/XmlAtomicValue.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchema.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAll.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAnnotated.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAnnotation.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAny.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAnyAttribute.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAppInfo.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAttribute.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAttributeGroup.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaAttributeGroupRef.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaChoice.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaCollection.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaCollectionEnumerator.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaCompilationSettings.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaComplexContent.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaComplexContentExtension.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaComplexContentRestriction.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaComplexType.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaContent.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaContentModel.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaContentProcessing.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaContentType.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaDatatype.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaDatatypeVariety.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaDerivationMethod.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaDocumentation.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaElement.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaEnumerationFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaException.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaExternal.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaForm.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaFractionDigitsFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaGroup.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaGroupBase.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaGroupRef.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaIdentityConstraint.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaImport.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaInclude.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaInference.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaInferenceException.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaInfo.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaKey.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaKeyref.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaLengthFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMaxExclusiveFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMaxInclusiveFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMaxLengthFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMinExclusiveFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMinInclusiveFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaMinLengthFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaNotation.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaNumericFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaObject.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaObjectCollection.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaObjectEnumerator.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaObjectTable.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaParticle.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaPatternFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaRedefine.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSequence.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSerializer.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleContent.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleContentExtension.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleContentRestriction.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleType.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleTypeContent.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleTypeList.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleTypeRestriction.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaSimpleTypeUnion.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaTotalDigitsFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaType.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaUnique.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaUse.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaValidator.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaValidity.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaValidationException.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaWhiteSpaceFacet.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaXPath.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSeverityType.cs |
||||
../class/System.XML/System.Xml.Schema/ValidationHandler.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaUtil.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaReader.cs |
||||
../class/System.XML/System.Xml.Schema/XmlSchemaValidationFlags.cs |
||||
../class/System.XML/System.Xml.Schema/XmlTypeCode.cs |
||||
../class/System.XML/System.Xml.Schema/XmlValueGetter.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslApplyImports.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslApplyTemplates.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslAttribute.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslAvt.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslCallTemplate.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslChoose.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslComment.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslCompiledElement.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslCopy.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslCopyOf.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslElement.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslFallback.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslForEach.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslIf.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslLiteralElement.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslMessage.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslNotSupportedOperation.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslNumber.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslOperation.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslProcessingInstruction.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslTemplateContent.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslText.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslValueOf.cs |
||||
../class/System.XML/Mono.Xml.Xsl.Operations/XslVariable.cs |
||||
../class/System.XML/Mono.Xml.Xsl/Attribute.cs |
||||
../class/System.XML/Mono.Xml.Xsl/Compiler.cs |
||||
../class/System.XML/Mono.Xml.Xsl/Debug.cs |
||||
../class/System.XML/Mono.Xml.Xsl/Emitter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/GenericOutputter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/HtmlEmitter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/MSXslScriptManager.cs |
||||
../class/System.XML/Mono.Xml.Xsl/Outputter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/ScriptCompilerInfo.cs |
||||
../class/System.XML/Mono.Xml.Xsl/TextEmitter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/TextOutputter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/PatternParser.cs |
||||
../class/System.XML/Mono.Xml.Xsl/PatternTokenizer.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XmlWriterEmitter.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslAttributeSet.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslDecimalFormat.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslKey.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslOutput.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslSortEvaluator.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslStylesheet.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslTemplate.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslTransformProcessor.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XsltCompiledContext.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XsltDebuggerWrapper.cs |
||||
../class/System.XML/Mono.Xml.Xsl/XslFunctions.cs |
||||
../class/System.XML/System.Xml.Xsl/IXsltContextFunction.cs |
||||
../class/System.XML/System.Xml.Xsl/IXsltContextVariable.cs |
||||
../class/System.XML/System.Xml.Xsl/XslCompiledTransform.cs |
||||
../class/System.XML/System.Xml.Xsl/XslTransform.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltArgumentList.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltCompileException.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltContext.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltException.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltMessageEncounteredEventArgs.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltMessageEncounteredEventHandler.cs |
||||
../class/System.XML/System.Xml.Xsl/XsltSettings.cs |
||||
../class/System.XML/System.Xml/XQueryConvert.cs |
||||
../class/System.XML/System.Xml.Serialization/IXmlTextParser.cs |
||||
../class/System.XML/System.Xml.Serialization/CodeExporter.cs |
||||
../class/System.XML/System.Xml.Serialization/CodeGenerationOptions.cs |
||||
../class/System.XML/System.Xml.Serialization/CodeIdentifier.cs |
||||
../class/System.XML/System.Xml.Serialization/CodeIdentifiers.cs |
||||
../class/System.XML/System.Xml.Serialization/IXmlSerializable.cs |
||||
../class/System.XML/System.Xml.Serialization/ImportContext.cs |
||||
../class/System.XML/System.Xml.Serialization/MapCodeGenerator.cs |
||||
../class/System.XML/System.Xml.Serialization/ReflectionHelper.cs |
||||
../class/System.XML/System.Xml.Serialization/SchemaImporter.cs |
||||
../class/System.XML/System.Xml.Serialization/SchemaTypes.cs |
||||
../class/System.XML/System.Xml.Serialization/SerializationCodeGenerator.cs |
||||
../class/System.XML/System.Xml.Serialization/SerializationCodeGeneratorConfiguration.cs |
||||
../class/System.XML/System.Xml.Serialization/SerializationSource.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapAttributeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapAttributeOverrides.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapAttributes.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapCodeExporter.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapElementAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapEnumAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapIgnoreAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapIncludeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapSchemaImporter.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapSchemaExporter.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapSchemaMember.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapReflectionImporter.cs |
||||
../class/System.XML/System.Xml.Serialization/SoapTypeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/TypeData.cs |
||||
../class/System.XML/System.Xml.Serialization/TypeMember.cs |
||||
../class/System.XML/System.Xml.Serialization/TypeTranslator.cs |
||||
../class/System.XML/System.Xml.Serialization/UnreferencedObjectEventArgs.cs |
||||
../class/System.XML/System.Xml.Serialization/UnreferencedObjectEventHandler.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAnyAttributeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAnyElementAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAnyElementAttributes.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlArrayAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlArrayItemAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlArrayItemAttributes.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAttributeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAttributeEventArgs.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAttributeEventHandler.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAttributeOverrides.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlAttributes.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlCodeExporter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlChoiceIdentifierAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlCustomFormatter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlDeserializationEvents.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlElementAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlElementAttributes.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlElementEventArgs.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlEnumAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlIgnoreAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlIncludeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlMemberMapping.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlMembersMapping.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlMapping.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlMappingAccess.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlNamespaceDeclarationsAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlNodeEventArgs.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlReflectionImporter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlReflectionMember.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlRootAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSchemaEnumerator.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSchemaExporter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSchemaImporter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSchemaProviderAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSchemas.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationCollectionFixupCallback.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationFixupCallback.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationGeneratedCode.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationReadCallback.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationReaderInterpreter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationWriteCallback.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializationWriterInterpreter.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializer.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializerAssemblyAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializerFactory.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializerImplementation.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializerNamespaces.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlSerializerVersionAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTextAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapElementInfo.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapMember.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapMemberAttribute.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapMemberElement.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapMemberNamespaces.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlElementEventHandler.cs |
||||
../class/System.XML/System.Xml.Serialization/XmlNodeEventHandler.cs |
||||
../class/System.XML/System.Xml.Serialization.Advanced/SchemaImporterExtension.cs |
||||
../class/System.XML/System.Xml.Serialization.Advanced/SchemaImporterExtensionCollection.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/DateTimeSerializationSection.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/SchemaImporterExtensionElement.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/SchemaImporterExtensionElementCollection.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/SchemaImporterExtensionsSection.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/SerializationSectionGroup.cs |
||||
../class/System.XML/System.Xml.Serialization.Configuration/XmlSerializerSection.cs |
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue