Browse Source

Fixed handling of query continuations.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3662 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
356b72f930
  1. 6
      src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorLINQ.cs
  2. 5
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs
  3. 5
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/NotImplementedAstVisitor.cs
  4. 15
      src/Libraries/NRefactory/NRefactoryASTGenerator/AST/Expressions.cs
  5. 2
      src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs
  6. 165
      src/Libraries/NRefactory/Project/Src/Ast/Generated.cs
  7. 2
      src/Libraries/NRefactory/Project/Src/IAstVisitor.cs
  8. 203
      src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs
  9. 34
      src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG
  10. 20
      src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs
  11. 18
      src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs
  12. 10
      src/Libraries/NRefactory/Project/Src/Visitors/AbstractASTVisitor.cs
  13. 13
      src/Libraries/NRefactory/Project/Src/Visitors/AbstractAstTransformer.cs
  14. 24
      src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs
  15. 11
      src/Libraries/NRefactory/Project/Src/Visitors/NodeTrackingAstVisitor.cs
  16. 208
      src/SharpDevelop.Tests.sln

6
src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorLINQ.cs

@ -34,12 +34,6 @@ namespace NRefactoryToBooConverter
return null; return null;
} }
public object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data)
{
AddError(queryExpressionIntoClause, "QueryExpressionIntoClause is not supported.");
return null;
}
public object VisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data) public object VisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data)
{ {
AddError(queryExpressionOrderClause, "QueryExpressionOrderClause is not supported."); AddError(queryExpressionOrderClause, "QueryExpressionOrderClause is not supported.");

5
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs

@ -1171,11 +1171,6 @@ namespace ICSharpCode.PythonBinding
return null; return null;
} }
public object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data)
{
return null;
}
public object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) public object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
{ {
return null; return null;

5
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/NotImplementedAstVisitor.cs

@ -393,11 +393,6 @@ namespace Debugger.AddIn
throw new NotImplementedException("QueryExpressionGroupClause"); throw new NotImplementedException("QueryExpressionGroupClause");
} }
public virtual object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data)
{
throw new NotImplementedException("QueryExpressionIntoClause");
}
public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data)
{ {
throw new NotImplementedException("QueryExpressionJoinClause"); throw new NotImplementedException("QueryExpressionJoinClause");

15
src/Libraries/NRefactory/NRefactoryASTGenerator/AST/Expressions.cs

@ -261,17 +261,14 @@ namespace NRefactoryASTGenerator.Ast
/// </remarks> /// </remarks>
QueryExpressionFromClause fromClause; QueryExpressionFromClause fromClause;
bool isQueryContinuation;
List<QueryExpressionClause> middleClauses; List<QueryExpressionClause> middleClauses;
/// <remarks> /// <remarks>
/// C# only. /// C# only.
/// </remarks> /// </remarks>
QueryExpressionClause selectOrGroupClause; QueryExpressionClause selectOrGroupClause;
/// <remarks>
/// C# only.
/// </remarks>
QueryExpressionIntoClause intoClause;
} }
[ImplementNullable] [ImplementNullable]
@ -378,12 +375,4 @@ namespace NRefactoryASTGenerator.Ast
QueryExpressionJoinVBClause joinClause; QueryExpressionJoinVBClause joinClause;
List<ExpressionRangeVariable> intoVariables; List<ExpressionRangeVariable> intoVariables;
} }
[ImplementNullable(NullableImplementation.Shadow)]
class QueryExpressionIntoClause : QueryExpressionClause {
[QuestionMarkDefault]
string intoIdentifier;
QueryExpression continuedQuery;
}
} }

2
src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs

@ -381,7 +381,7 @@ namespace NRefactoryASTGenerator
p.SetStatements.Add(new CodeSnippetStatement("\t\t\t\tif (!" +field.Name+".IsNull) "+field.Name+".Parent = this;")); p.SetStatements.Add(new CodeSnippetStatement("\t\t\t\tif (!" +field.Name+".IsNull) "+field.Name+".Parent = this;"));
} }
} }
foreach (ConstructorInfo ctor in type.GetConstructors()) { foreach (ConstructorInfo ctor in type.GetConstructors(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)) {
CodeConstructor c = new CodeConstructor(); CodeConstructor c = new CodeConstructor();
if (type.IsAbstract) if (type.IsAbstract)
c.Attributes = MemberAttributes.Family; c.Attributes = MemberAttributes.Family;

165
src/Libraries/NRefactory/Project/Src/Ast/Generated.cs

@ -1573,12 +1573,6 @@ namespace ICSharpCode.NRefactory.Ast {
initializer = Expression.Null; initializer = Expression.Null;
} }
public bool HasAddRegion {
get {
return !addRegion.IsNull;
}
}
public bool HasRemoveRegion { public bool HasRemoveRegion {
get { get {
return !removeRegion.IsNull; return !removeRegion.IsNull;
@ -1591,6 +1585,12 @@ namespace ICSharpCode.NRefactory.Ast {
} }
} }
public bool HasAddRegion {
get {
return !addRegion.IsNull;
}
}
public override object AcceptVisitor(IAstVisitor visitor, object data) { public override object AcceptVisitor(IAstVisitor visitor, object data) {
return visitor.VisitEventDeclaration(this, data); return visitor.VisitEventDeclaration(this, data);
} }
@ -2299,18 +2299,6 @@ namespace ICSharpCode.NRefactory.Ast {
elseIfSections = new List<ElseIfSection>(); elseIfSections = new List<ElseIfSection>();
} }
public bool HasElseIfSections {
get {
return elseIfSections.Count > 0;
}
}
public bool HasElseStatements {
get {
return falseStatement.Count > 0;
}
}
public IfElseStatement(Expression condition, Statement trueStatement) public IfElseStatement(Expression condition, Statement trueStatement)
: this(condition) { : this(condition) {
@ -2327,6 +2315,18 @@ namespace ICSharpCode.NRefactory.Ast {
if (falseStatement != null) falseStatement.Parent = this; if (falseStatement != null) falseStatement.Parent = this;
} }
public bool HasElseStatements {
get {
return falseStatement.Count > 0;
}
}
public bool HasElseIfSections {
get {
return elseIfSections.Count > 0;
}
}
public override object AcceptVisitor(IAstVisitor visitor, object data) { public override object AcceptVisitor(IAstVisitor visitor, object data) {
return visitor.VisitIfElseStatement(this, data); return visitor.VisitIfElseStatement(this, data);
} }
@ -2440,9 +2440,9 @@ namespace ICSharpCode.NRefactory.Ast {
setRegion = PropertySetRegion.Null; setRegion = PropertySetRegion.Null;
} }
public bool IsWriteOnly { public bool IsReadOnly {
get { get {
return !HasGetRegion && HasSetRegion; return HasGetRegion && !HasSetRegion;
} }
} }
@ -2458,9 +2458,9 @@ namespace ICSharpCode.NRefactory.Ast {
} }
} }
public bool IsReadOnly { public bool IsWriteOnly {
get { get {
return HasGetRegion && !HasSetRegion; return !HasGetRegion && HasSetRegion;
} }
} }
@ -3368,12 +3368,6 @@ public Location ExtendedEndLocation { get; set; }
} }
} }
public bool IsWriteOnly {
get {
return !HasGetRegion && HasSetRegion;
}
}
public bool HasSetRegion { public bool HasSetRegion {
get { get {
return !setRegion.IsNull; return !setRegion.IsNull;
@ -3398,6 +3392,12 @@ public Location ExtendedEndLocation { get; set; }
} }
} }
public bool IsWriteOnly {
get {
return !HasGetRegion && HasSetRegion;
}
}
public override object AcceptVisitor(IAstVisitor visitor, object data) { public override object AcceptVisitor(IAstVisitor visitor, object data) {
return visitor.VisitPropertyDeclaration(this, data); return visitor.VisitPropertyDeclaration(this, data);
} }
@ -3539,12 +3539,12 @@ public Location ExtendedEndLocation { get; set; }
QueryExpressionFromClause fromClause; QueryExpressionFromClause fromClause;
bool isQueryContinuation;
List<QueryExpressionClause> middleClauses; List<QueryExpressionClause> middleClauses;
QueryExpressionClause selectOrGroupClause; QueryExpressionClause selectOrGroupClause;
QueryExpressionIntoClause intoClause;
public QueryExpressionFromClause FromClause { public QueryExpressionFromClause FromClause {
get { get {
return fromClause; return fromClause;
@ -3555,6 +3555,15 @@ public Location ExtendedEndLocation { get; set; }
} }
} }
public bool IsQueryContinuation {
get {
return isQueryContinuation;
}
set {
isQueryContinuation = value;
}
}
public List<QueryExpressionClause> MiddleClauses { public List<QueryExpressionClause> MiddleClauses {
get { get {
return middleClauses; return middleClauses;
@ -3574,21 +3583,10 @@ public Location ExtendedEndLocation { get; set; }
} }
} }
public QueryExpressionIntoClause IntoClause {
get {
return intoClause;
}
set {
intoClause = value ?? QueryExpressionIntoClause.Null;
if (!intoClause.IsNull) intoClause.Parent = this;
}
}
public QueryExpression() { public QueryExpression() {
fromClause = QueryExpressionFromClause.Null; fromClause = QueryExpressionFromClause.Null;
middleClauses = new List<QueryExpressionClause>(); middleClauses = new List<QueryExpressionClause>();
selectOrGroupClause = QueryExpressionClause.Null; selectOrGroupClause = QueryExpressionClause.Null;
intoClause = QueryExpressionIntoClause.Null;
} }
public new static QueryExpression Null { public new static QueryExpression Null {
@ -3602,8 +3600,8 @@ public Location ExtendedEndLocation { get; set; }
} }
public override string ToString() { public override string ToString() {
return string.Format("[QueryExpression FromClause={0} MiddleClauses={1} SelectOrGroupClause={2} IntoCla" + return string.Format("[QueryExpression FromClause={0} IsQueryContinuation={1} MiddleClauses={2} SelectO" +
"use={3}]", FromClause, GetCollectionString(MiddleClauses), SelectOrGroupClause, IntoClause); "rGroupClause={3}]", FromClause, IsQueryContinuation, GetCollectionString(MiddleClauses), SelectOrGroupClause);
} }
} }
@ -3680,6 +3678,9 @@ public Location ExtendedEndLocation { get; set; }
public abstract class QueryExpressionClause : AbstractNode, INullable { public abstract class QueryExpressionClause : AbstractNode, INullable {
protected QueryExpressionClause() {
}
public virtual bool IsNull { public virtual bool IsNull {
get { get {
return false; return false;
@ -3800,6 +3801,12 @@ public Location ExtendedEndLocation { get; set; }
if (!inExpression.IsNull) inExpression.Parent = this; if (!inExpression.IsNull) inExpression.Parent = this;
} }
} }
protected QueryExpressionFromOrJoinClause() {
type = TypeReference.Null;
identifier = "?";
inExpression = Expression.Null;
}
} }
public class QueryExpressionGroupClause : QueryExpressionClause { public class QueryExpressionGroupClause : QueryExpressionClause {
@ -3932,70 +3939,6 @@ public Location ExtendedEndLocation { get; set; }
} }
} }
public class QueryExpressionIntoClause : QueryExpressionClause {
string intoIdentifier;
QueryExpression continuedQuery;
public string IntoIdentifier {
get {
return intoIdentifier;
}
set {
intoIdentifier = string.IsNullOrEmpty(value) ? "?" : value;
}
}
public QueryExpression ContinuedQuery {
get {
return continuedQuery;
}
set {
continuedQuery = value ?? QueryExpression.Null;
if (!continuedQuery.IsNull) continuedQuery.Parent = this;
}
}
public QueryExpressionIntoClause() {
intoIdentifier = "?";
continuedQuery = QueryExpression.Null;
}
public new static QueryExpressionIntoClause Null {
get {
return NullQueryExpressionIntoClause.Instance;
}
}
public override object AcceptVisitor(IAstVisitor visitor, object data) {
return visitor.VisitQueryExpressionIntoClause(this, data);
}
public override string ToString() {
return string.Format("[QueryExpressionIntoClause IntoIdentifier={0} ContinuedQuery={1}]", IntoIdentifier, ContinuedQuery);
}
}
internal sealed class NullQueryExpressionIntoClause : QueryExpressionIntoClause {
internal static NullQueryExpressionIntoClause Instance = new NullQueryExpressionIntoClause();
public override bool IsNull {
get {
return true;
}
}
public override object AcceptVisitor(IAstVisitor visitor, object data) {
return null;
}
public override string ToString() {
return "[NullQueryExpressionIntoClause]";
}
}
public class QueryExpressionJoinClause : QueryExpressionFromOrJoinClause { public class QueryExpressionJoinClause : QueryExpressionFromOrJoinClause {
Expression onExpression; Expression onExpression;
@ -5416,15 +5359,15 @@ public UsingDeclaration(string @namespace, TypeReference alias) { usings = new L
Statement = statement; Statement = statement;
} }
public bool IsYieldReturn { public bool IsYieldBreak {
get { get {
return statement is ReturnStatement; return statement is BreakStatement;
} }
} }
public bool IsYieldBreak { public bool IsYieldReturn {
get { get {
return statement is BreakStatement; return statement is ReturnStatement;
} }
} }

2
src/Libraries/NRefactory/Project/Src/IAstVisitor.cs

@ -177,8 +177,6 @@ namespace ICSharpCode.NRefactory {
object VisitQueryExpressionGroupVBClause(QueryExpressionGroupVBClause queryExpressionGroupVBClause, object data); object VisitQueryExpressionGroupVBClause(QueryExpressionGroupVBClause queryExpressionGroupVBClause, object data);
object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data);
object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data); object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data);
object VisitQueryExpressionJoinConditionVB(QueryExpressionJoinConditionVB queryExpressionJoinConditionVB, object data); object VisitQueryExpressionJoinConditionVB(QueryExpressionJoinConditionVB queryExpressionJoinConditionVB, object data);

203
src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs

@ -4720,10 +4720,12 @@ out fromClause);
q.FromClause = fromClause; q.FromClause = fromClause;
QueryExpressionBody( QueryExpressionBody(
#line 2360 "cs.ATG" #line 2360 "cs.ATG"
q); ref q);
#line 2361 "cs.ATG" #line 2361 "cs.ATG"
q.EndLocation = t.EndLocation; q.EndLocation = t.EndLocation;
outExpr = q; /* set outExpr to q again if QueryExpressionBody changed it (can happen with 'into' clauses) */
} }
void ShortedLambdaExpression( void ShortedLambdaExpression(
@ -5511,331 +5513,328 @@ out t);
} }
void QueryExpressionFromClause( void QueryExpressionFromClause(
#line 2364 "cs.ATG" #line 2366 "cs.ATG"
out QueryExpressionFromClause fc) { out QueryExpressionFromClause fc) {
#line 2365 "cs.ATG" #line 2367 "cs.ATG"
fc = new QueryExpressionFromClause(); fc.StartLocation = la.Location; fc = new QueryExpressionFromClause(); fc.StartLocation = la.Location;
Expect(137); Expect(137);
QueryExpressionFromOrJoinClause( QueryExpressionFromOrJoinClause(
#line 2369 "cs.ATG" #line 2371 "cs.ATG"
fc); fc);
#line 2370 "cs.ATG" #line 2372 "cs.ATG"
fc.EndLocation = t.EndLocation; fc.EndLocation = t.EndLocation;
} }
void QueryExpressionBody( void QueryExpressionBody(
#line 2400 "cs.ATG" #line 2402 "cs.ATG"
QueryExpression q) { ref QueryExpression q) {
#line 2401 "cs.ATG" #line 2403 "cs.ATG"
QueryExpressionFromClause fromClause; QueryExpressionWhereClause whereClause; QueryExpressionFromClause fromClause; QueryExpressionWhereClause whereClause;
QueryExpressionLetClause letClause; QueryExpressionJoinClause joinClause; QueryExpressionLetClause letClause; QueryExpressionJoinClause joinClause;
QueryExpressionOrderClause orderClause; QueryExpressionOrderClause orderClause;
QueryExpressionSelectClause selectClause; QueryExpressionGroupClause groupClause; QueryExpressionSelectClause selectClause; QueryExpressionGroupClause groupClause;
QueryExpressionIntoClause intoClause;
while (StartOf(39)) { while (StartOf(39)) {
if (la.kind == 137) { if (la.kind == 137) {
QueryExpressionFromClause( QueryExpressionFromClause(
#line 2408 "cs.ATG" #line 2409 "cs.ATG"
out fromClause); out fromClause);
#line 2408 "cs.ATG" #line 2409 "cs.ATG"
SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, fromClause); SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, fromClause);
} else if (la.kind == 127) { } else if (la.kind == 127) {
QueryExpressionWhereClause( QueryExpressionWhereClause(
#line 2409 "cs.ATG" #line 2410 "cs.ATG"
out whereClause); out whereClause);
#line 2409 "cs.ATG" #line 2410 "cs.ATG"
SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, whereClause); SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, whereClause);
} else if (la.kind == 141) { } else if (la.kind == 141) {
QueryExpressionLetClause( QueryExpressionLetClause(
#line 2410 "cs.ATG" #line 2411 "cs.ATG"
out letClause); out letClause);
#line 2410 "cs.ATG" #line 2411 "cs.ATG"
SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, letClause); SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, letClause);
} else if (la.kind == 142) { } else if (la.kind == 142) {
QueryExpressionJoinClause( QueryExpressionJoinClause(
#line 2411 "cs.ATG" #line 2412 "cs.ATG"
out joinClause); out joinClause);
#line 2411 "cs.ATG" #line 2412 "cs.ATG"
SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, joinClause); SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, joinClause);
} else { } else {
QueryExpressionOrderByClause( QueryExpressionOrderByClause(
#line 2412 "cs.ATG" #line 2413 "cs.ATG"
out orderClause); out orderClause);
#line 2412 "cs.ATG" #line 2413 "cs.ATG"
SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, orderClause); SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, orderClause);
} }
} }
if (la.kind == 133) { if (la.kind == 133) {
QueryExpressionSelectClause( QueryExpressionSelectClause(
#line 2414 "cs.ATG" #line 2415 "cs.ATG"
out selectClause); out selectClause);
#line 2414 "cs.ATG" #line 2415 "cs.ATG"
q.SelectOrGroupClause = selectClause; q.SelectOrGroupClause = selectClause;
} else if (la.kind == 134) { } else if (la.kind == 134) {
QueryExpressionGroupClause( QueryExpressionGroupClause(
#line 2415 "cs.ATG" #line 2416 "cs.ATG"
out groupClause); out groupClause);
#line 2415 "cs.ATG" #line 2416 "cs.ATG"
q.SelectOrGroupClause = groupClause; q.SelectOrGroupClause = groupClause;
} else SynErr(219); } else SynErr(219);
if (la.kind == 136) { if (la.kind == 136) {
QueryExpressionIntoClause( QueryExpressionIntoClause(
#line 2417 "cs.ATG" #line 2418 "cs.ATG"
out intoClause); ref q);
#line 2417 "cs.ATG"
q.IntoClause = intoClause;
} }
} }
void QueryExpressionFromOrJoinClause( void QueryExpressionFromOrJoinClause(
#line 2390 "cs.ATG" #line 2392 "cs.ATG"
QueryExpressionFromOrJoinClause fjc) { QueryExpressionFromOrJoinClause fjc) {
#line 2391 "cs.ATG" #line 2393 "cs.ATG"
TypeReference type; Expression expr; TypeReference type; Expression expr;
#line 2393 "cs.ATG" #line 2395 "cs.ATG"
fjc.Type = null; fjc.Type = null;
if ( if (
#line 2394 "cs.ATG" #line 2396 "cs.ATG"
IsLocalVarDecl()) { IsLocalVarDecl()) {
Type( Type(
#line 2394 "cs.ATG" #line 2396 "cs.ATG"
out type); out type);
#line 2394 "cs.ATG" #line 2396 "cs.ATG"
fjc.Type = type; fjc.Type = type;
} }
Identifier(); Identifier();
#line 2395 "cs.ATG" #line 2397 "cs.ATG"
fjc.Identifier = t.val; fjc.Identifier = t.val;
Expect(81); Expect(81);
Expr( Expr(
#line 2397 "cs.ATG" #line 2399 "cs.ATG"
out expr); out expr);
#line 2397 "cs.ATG" #line 2399 "cs.ATG"
fjc.InExpression = expr; fjc.InExpression = expr;
} }
void QueryExpressionJoinClause( void QueryExpressionJoinClause(
#line 2373 "cs.ATG" #line 2375 "cs.ATG"
out QueryExpressionJoinClause jc) { out QueryExpressionJoinClause jc) {
#line 2374 "cs.ATG" #line 2376 "cs.ATG"
jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location; jc = new QueryExpressionJoinClause(); jc.StartLocation = la.Location;
Expression expr; Expression expr;
Expect(142); Expect(142);
QueryExpressionFromOrJoinClause( QueryExpressionFromOrJoinClause(
#line 2379 "cs.ATG" #line 2381 "cs.ATG"
jc); jc);
Expect(143); Expect(143);
Expr( Expr(
#line 2381 "cs.ATG" #line 2383 "cs.ATG"
out expr); out expr);
#line 2381 "cs.ATG" #line 2383 "cs.ATG"
jc.OnExpression = expr; jc.OnExpression = expr;
Expect(144); Expect(144);
Expr( Expr(
#line 2383 "cs.ATG" #line 2385 "cs.ATG"
out expr); out expr);
#line 2383 "cs.ATG" #line 2385 "cs.ATG"
jc.EqualsExpression = expr; jc.EqualsExpression = expr;
if (la.kind == 136) { if (la.kind == 136) {
lexer.NextToken(); lexer.NextToken();
Identifier(); Identifier();
#line 2385 "cs.ATG" #line 2387 "cs.ATG"
jc.IntoIdentifier = t.val; jc.IntoIdentifier = t.val;
} }
#line 2387 "cs.ATG" #line 2389 "cs.ATG"
jc.EndLocation = t.EndLocation; jc.EndLocation = t.EndLocation;
} }
void QueryExpressionWhereClause( void QueryExpressionWhereClause(
#line 2420 "cs.ATG" #line 2421 "cs.ATG"
out QueryExpressionWhereClause wc) { out QueryExpressionWhereClause wc) {
#line 2421 "cs.ATG" #line 2422 "cs.ATG"
Expression expr; wc = new QueryExpressionWhereClause(); wc.StartLocation = la.Location; Expression expr; wc = new QueryExpressionWhereClause(); wc.StartLocation = la.Location;
Expect(127); Expect(127);
Expr( Expr(
#line 2424 "cs.ATG" #line 2425 "cs.ATG"
out expr); out expr);
#line 2424 "cs.ATG" #line 2425 "cs.ATG"
wc.Condition = expr; wc.Condition = expr;
#line 2425 "cs.ATG" #line 2426 "cs.ATG"
wc.EndLocation = t.EndLocation; wc.EndLocation = t.EndLocation;
} }
void QueryExpressionLetClause( void QueryExpressionLetClause(
#line 2428 "cs.ATG" #line 2429 "cs.ATG"
out QueryExpressionLetClause wc) { out QueryExpressionLetClause wc) {
#line 2429 "cs.ATG" #line 2430 "cs.ATG"
Expression expr; wc = new QueryExpressionLetClause(); wc.StartLocation = la.Location; Expression expr; wc = new QueryExpressionLetClause(); wc.StartLocation = la.Location;
Expect(141); Expect(141);
Identifier(); Identifier();
#line 2432 "cs.ATG" #line 2433 "cs.ATG"
wc.Identifier = t.val; wc.Identifier = t.val;
Expect(3); Expect(3);
Expr( Expr(
#line 2434 "cs.ATG" #line 2435 "cs.ATG"
out expr); out expr);
#line 2434 "cs.ATG" #line 2435 "cs.ATG"
wc.Expression = expr; wc.Expression = expr;
#line 2435 "cs.ATG" #line 2436 "cs.ATG"
wc.EndLocation = t.EndLocation; wc.EndLocation = t.EndLocation;
} }
void QueryExpressionOrderByClause( void QueryExpressionOrderByClause(
#line 2438 "cs.ATG" #line 2439 "cs.ATG"
out QueryExpressionOrderClause oc) { out QueryExpressionOrderClause oc) {
#line 2439 "cs.ATG" #line 2440 "cs.ATG"
QueryExpressionOrdering ordering; oc = new QueryExpressionOrderClause(); oc.StartLocation = la.Location; QueryExpressionOrdering ordering; oc = new QueryExpressionOrderClause(); oc.StartLocation = la.Location;
Expect(140); Expect(140);
QueryExpressionOrdering( QueryExpressionOrdering(
#line 2442 "cs.ATG" #line 2443 "cs.ATG"
out ordering); out ordering);
#line 2442 "cs.ATG" #line 2443 "cs.ATG"
SafeAdd(oc, oc.Orderings, ordering); SafeAdd(oc, oc.Orderings, ordering);
while (la.kind == 14) { while (la.kind == 14) {
lexer.NextToken(); lexer.NextToken();
QueryExpressionOrdering( QueryExpressionOrdering(
#line 2444 "cs.ATG" #line 2445 "cs.ATG"
out ordering); out ordering);
#line 2444 "cs.ATG" #line 2445 "cs.ATG"
SafeAdd(oc, oc.Orderings, ordering); SafeAdd(oc, oc.Orderings, ordering);
} }
#line 2446 "cs.ATG" #line 2447 "cs.ATG"
oc.EndLocation = t.EndLocation; oc.EndLocation = t.EndLocation;
} }
void QueryExpressionSelectClause( void QueryExpressionSelectClause(
#line 2459 "cs.ATG" #line 2460 "cs.ATG"
out QueryExpressionSelectClause sc) { out QueryExpressionSelectClause sc) {
#line 2460 "cs.ATG" #line 2461 "cs.ATG"
Expression expr; sc = new QueryExpressionSelectClause(); sc.StartLocation = la.Location; Expression expr; sc = new QueryExpressionSelectClause(); sc.StartLocation = la.Location;
Expect(133); Expect(133);
Expr( Expr(
#line 2463 "cs.ATG" #line 2464 "cs.ATG"
out expr); out expr);
#line 2463 "cs.ATG" #line 2464 "cs.ATG"
sc.Projection = expr; sc.Projection = expr;
#line 2464 "cs.ATG" #line 2465 "cs.ATG"
sc.EndLocation = t.EndLocation; sc.EndLocation = t.EndLocation;
} }
void QueryExpressionGroupClause( void QueryExpressionGroupClause(
#line 2467 "cs.ATG" #line 2468 "cs.ATG"
out QueryExpressionGroupClause gc) { out QueryExpressionGroupClause gc) {
#line 2468 "cs.ATG" #line 2469 "cs.ATG"
Expression expr; gc = new QueryExpressionGroupClause(); gc.StartLocation = la.Location; Expression expr; gc = new QueryExpressionGroupClause(); gc.StartLocation = la.Location;
Expect(134); Expect(134);
Expr( Expr(
#line 2471 "cs.ATG" #line 2472 "cs.ATG"
out expr); out expr);
#line 2471 "cs.ATG" #line 2472 "cs.ATG"
gc.Projection = expr; gc.Projection = expr;
Expect(135); Expect(135);
Expr( Expr(
#line 2473 "cs.ATG" #line 2474 "cs.ATG"
out expr); out expr);
#line 2473 "cs.ATG" #line 2474 "cs.ATG"
gc.GroupBy = expr; gc.GroupBy = expr;
#line 2474 "cs.ATG" #line 2475 "cs.ATG"
gc.EndLocation = t.EndLocation; gc.EndLocation = t.EndLocation;
} }
void QueryExpressionIntoClause( void QueryExpressionIntoClause(
#line 2477 "cs.ATG"
out QueryExpressionIntoClause ic) {
#line 2478 "cs.ATG" #line 2478 "cs.ATG"
ic = new QueryExpressionIntoClause(); ic.StartLocation = la.Location; ref QueryExpression q) {
#line 2479 "cs.ATG"
QueryExpression firstQuery = q;
QueryExpression continuedQuery = new QueryExpression();
continuedQuery.StartLocation = q.StartLocation;
firstQuery.EndLocation = la.Location;
continuedQuery.FromClause = new QueryExpressionFromClause();
continuedQuery.FromClause.StartLocation = la.Location;
// nest firstQuery inside continuedQuery.
continuedQuery.FromClause.InExpression = firstQuery;
continuedQuery.IsQueryContinuation = true;
q = continuedQuery;
Expect(136); Expect(136);
Identifier(); Identifier();
#line 2481 "cs.ATG" #line 2492 "cs.ATG"
ic.IntoIdentifier = t.val; continuedQuery.FromClause.Identifier = t.val;
#line 2482 "cs.ATG"
ic.ContinuedQuery = new QueryExpression();
#line 2483 "cs.ATG" #line 2493 "cs.ATG"
ic.ContinuedQuery.StartLocation = la.Location; continuedQuery.FromClause.EndLocation = t.EndLocation;
QueryExpressionBody( QueryExpressionBody(
#line 2484 "cs.ATG" #line 2494 "cs.ATG"
ic.ContinuedQuery); ref q);
#line 2485 "cs.ATG"
ic.ContinuedQuery.EndLocation = t.EndLocation;
#line 2486 "cs.ATG"
ic.EndLocation = t.EndLocation;
} }
void QueryExpressionOrdering( void QueryExpressionOrdering(
#line 2449 "cs.ATG" #line 2450 "cs.ATG"
out QueryExpressionOrdering ordering) { out QueryExpressionOrdering ordering) {
#line 2450 "cs.ATG" #line 2451 "cs.ATG"
Expression expr; ordering = new QueryExpressionOrdering(); ordering.StartLocation = la.Location; Expression expr; ordering = new QueryExpressionOrdering(); ordering.StartLocation = la.Location;
Expr( Expr(
#line 2452 "cs.ATG" #line 2453 "cs.ATG"
out expr); out expr);
#line 2452 "cs.ATG" #line 2453 "cs.ATG"
ordering.Criteria = expr; ordering.Criteria = expr;
if (la.kind == 138 || la.kind == 139) { if (la.kind == 138 || la.kind == 139) {
if (la.kind == 138) { if (la.kind == 138) {
lexer.NextToken(); lexer.NextToken();
#line 2453 "cs.ATG" #line 2454 "cs.ATG"
ordering.Direction = QueryExpressionOrderingDirection.Ascending; ordering.Direction = QueryExpressionOrderingDirection.Ascending;
} else { } else {
lexer.NextToken(); lexer.NextToken();
#line 2454 "cs.ATG" #line 2455 "cs.ATG"
ordering.Direction = QueryExpressionOrderingDirection.Descending; ordering.Direction = QueryExpressionOrderingDirection.Descending;
} }
} }
#line 2456 "cs.ATG" #line 2457 "cs.ATG"
ordering.EndLocation = t.EndLocation; ordering.EndLocation = t.EndLocation;
} }

34
src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG

@ -2357,8 +2357,10 @@ QueryExpression<out Expression outExpr>
.) .)
= =
QueryExpressionFromClause<out fromClause> (. q.FromClause = fromClause; .) QueryExpressionFromClause<out fromClause> (. q.FromClause = fromClause; .)
QueryExpressionBody<q> QueryExpressionBody<ref q>
(. q.EndLocation = t.EndLocation; .) (. q.EndLocation = t.EndLocation;
outExpr = q; /* set outExpr to q again if QueryExpressionBody changed it (can happen with 'into' clauses) */
.)
. .
QueryExpressionFromClause<out QueryExpressionFromClause fc> QueryExpressionFromClause<out QueryExpressionFromClause fc>
@ -2397,12 +2399,11 @@ QueryExpressionFromOrJoinClause<QueryExpressionFromOrJoinClause fjc>
Expr<out expr> (. fjc.InExpression = expr; .) Expr<out expr> (. fjc.InExpression = expr; .)
. .
QueryExpressionBody<QueryExpression q> QueryExpressionBody<ref QueryExpression q>
(. QueryExpressionFromClause fromClause; QueryExpressionWhereClause whereClause; (. QueryExpressionFromClause fromClause; QueryExpressionWhereClause whereClause;
QueryExpressionLetClause letClause; QueryExpressionJoinClause joinClause; QueryExpressionLetClause letClause; QueryExpressionJoinClause joinClause;
QueryExpressionOrderClause orderClause; QueryExpressionOrderClause orderClause;
QueryExpressionSelectClause selectClause; QueryExpressionGroupClause groupClause; QueryExpressionSelectClause selectClause; QueryExpressionGroupClause groupClause;
QueryExpressionIntoClause intoClause;
.) .)
= =
{ ( QueryExpressionFromClause<out fromClause> (. SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, fromClause); .) { ( QueryExpressionFromClause<out fromClause> (. SafeAdd<QueryExpressionClause>(q, q.MiddleClauses, fromClause); .)
@ -2414,7 +2415,7 @@ QueryExpressionBody<QueryExpression q>
( QueryExpressionSelectClause<out selectClause> (. q.SelectOrGroupClause = selectClause; .) ( QueryExpressionSelectClause<out selectClause> (. q.SelectOrGroupClause = selectClause; .)
| QueryExpressionGroupClause<out groupClause> (. q.SelectOrGroupClause = groupClause; .) | QueryExpressionGroupClause<out groupClause> (. q.SelectOrGroupClause = groupClause; .)
) )
[ QueryExpressionIntoClause<out intoClause> (. q.IntoClause = intoClause; .) ] [ QueryExpressionIntoClause<ref q> ]
. .
QueryExpressionWhereClause<out QueryExpressionWhereClause wc> QueryExpressionWhereClause<out QueryExpressionWhereClause wc>
@ -2474,16 +2475,23 @@ QueryExpressionGroupClause<out QueryExpressionGroupClause gc>
(. gc.EndLocation = t.EndLocation; .) (. gc.EndLocation = t.EndLocation; .)
. .
QueryExpressionIntoClause<out QueryExpressionIntoClause ic> QueryExpressionIntoClause<ref QueryExpression q>
(. ic = new QueryExpressionIntoClause(); ic.StartLocation = la.Location; .) (. QueryExpression firstQuery = q;
QueryExpression continuedQuery = new QueryExpression();
continuedQuery.StartLocation = q.StartLocation;
firstQuery.EndLocation = la.Location;
continuedQuery.FromClause = new QueryExpressionFromClause();
continuedQuery.FromClause.StartLocation = la.Location;
// nest firstQuery inside continuedQuery.
continuedQuery.FromClause.InExpression = firstQuery;
continuedQuery.IsQueryContinuation = true;
q = continuedQuery;
.)
= =
"into" "into"
Identifier (. ic.IntoIdentifier = t.val; .) Identifier (. continuedQuery.FromClause.Identifier = t.val; .)
(. ic.ContinuedQuery = new QueryExpression(); .) (. continuedQuery.FromClause.EndLocation = t.EndLocation; .)
(. ic.ContinuedQuery.StartLocation = la.Location; .) QueryExpressionBody<ref q>
QueryExpressionBody<ic.ContinuedQuery>
(. ic.ContinuedQuery.EndLocation = t.EndLocation; .)
(. ic.EndLocation = t.EndLocation; .)
. .
/* allow usage of context sensitive keywords as identifiers */ /* allow usage of context sensitive keywords as identifiers */

20
src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs

@ -2618,11 +2618,20 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
public override object TrackedVisitQueryExpression(QueryExpression queryExpression, object data) public override object TrackedVisitQueryExpression(QueryExpression queryExpression, object data)
{ {
if (queryExpression.IsQueryContinuation) {
queryExpression.FromClause.InExpression.AcceptVisitor(this, data);
}
outputFormatter.IndentationLevel++; outputFormatter.IndentationLevel++;
if (queryExpression.IsQueryContinuation) {
outputFormatter.Space();
outputFormatter.PrintToken(Tokens.Into);
outputFormatter.Space();
outputFormatter.PrintIdentifier(queryExpression.FromClause.Identifier);
} else {
queryExpression.FromClause.AcceptVisitor(this, data); queryExpression.FromClause.AcceptVisitor(this, data);
}
queryExpression.MiddleClauses.ForEach(PrintClause); queryExpression.MiddleClauses.ForEach(PrintClause);
PrintClause(queryExpression.SelectOrGroupClause); PrintClause(queryExpression.SelectOrGroupClause);
PrintClause(queryExpression.IntoClause);
outputFormatter.IndentationLevel--; outputFormatter.IndentationLevel--;
return null; return null;
} }
@ -2697,15 +2706,6 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
return groupClause.GroupBy.AcceptVisitor(this, data); return groupClause.GroupBy.AcceptVisitor(this, data);
} }
public override object TrackedVisitQueryExpressionIntoClause(QueryExpressionIntoClause intoClause, object data)
{
outputFormatter.PrintToken(Tokens.Into);
outputFormatter.Space();
outputFormatter.PrintIdentifier(intoClause.IntoIdentifier);
outputFormatter.Space();
return intoClause.ContinuedQuery.AcceptVisitor(this, data);
}
public override object TrackedVisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data) public override object TrackedVisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data)
{ {
outputFormatter.PrintToken(Tokens.Orderby); outputFormatter.PrintToken(Tokens.Orderby);

18
src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs

@ -2848,11 +2848,18 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
public override object TrackedVisitQueryExpression(QueryExpression queryExpression, object data) public override object TrackedVisitQueryExpression(QueryExpression queryExpression, object data)
{ {
if (queryExpression.IsQueryContinuation) {
queryExpression.FromClause.InExpression.AcceptVisitor(this, data);
}
outputFormatter.IndentationLevel++; outputFormatter.IndentationLevel++;
if (queryExpression.IsQueryContinuation) {
outputFormatter.PrintToken(Tokens.Into);
outputFormatter.PrintIdentifier(queryExpression.FromClause.Identifier);
} else {
queryExpression.FromClause.AcceptVisitor(this, data); queryExpression.FromClause.AcceptVisitor(this, data);
}
queryExpression.MiddleClauses.ForEach(PrintClause); queryExpression.MiddleClauses.ForEach(PrintClause);
PrintClause(queryExpression.SelectOrGroupClause); PrintClause(queryExpression.SelectOrGroupClause);
PrintClause(queryExpression.IntoClause);
outputFormatter.IndentationLevel--; outputFormatter.IndentationLevel--;
return null; return null;
} }
@ -2927,15 +2934,6 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
return groupClause.GroupBy.AcceptVisitor(this, data); return groupClause.GroupBy.AcceptVisitor(this, data);
} }
public override object TrackedVisitQueryExpressionIntoClause(QueryExpressionIntoClause intoClause, object data)
{
outputFormatter.PrintText("Into");
outputFormatter.Space();
outputFormatter.PrintIdentifier(intoClause.IntoIdentifier);
outputFormatter.Space();
return intoClause.ContinuedQuery.AcceptVisitor(this, data);
}
public override object TrackedVisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data) public override object TrackedVisitQueryExpressionOrderClause(QueryExpressionOrderClause queryExpressionOrderClause, object data)
{ {
outputFormatter.PrintText("Order By"); outputFormatter.PrintText("Order By");

10
src/Libraries/NRefactory/Project/Src/Visitors/AbstractASTVisitor.cs

@ -841,14 +841,12 @@ namespace ICSharpCode.NRefactory.Visitors {
Debug.Assert((queryExpression.FromClause != null)); Debug.Assert((queryExpression.FromClause != null));
Debug.Assert((queryExpression.MiddleClauses != null)); Debug.Assert((queryExpression.MiddleClauses != null));
Debug.Assert((queryExpression.SelectOrGroupClause != null)); Debug.Assert((queryExpression.SelectOrGroupClause != null));
Debug.Assert((queryExpression.IntoClause != null));
queryExpression.FromClause.AcceptVisitor(this, data); queryExpression.FromClause.AcceptVisitor(this, data);
foreach (QueryExpressionClause o in queryExpression.MiddleClauses) { foreach (QueryExpressionClause o in queryExpression.MiddleClauses) {
Debug.Assert(o != null); Debug.Assert(o != null);
o.AcceptVisitor(this, data); o.AcceptVisitor(this, data);
} }
queryExpression.SelectOrGroupClause.AcceptVisitor(this, data); return queryExpression.SelectOrGroupClause.AcceptVisitor(this, data);
return queryExpression.IntoClause.AcceptVisitor(this, data);
} }
public virtual object VisitQueryExpressionAggregateClause(QueryExpressionAggregateClause queryExpressionAggregateClause, object data) { public virtual object VisitQueryExpressionAggregateClause(QueryExpressionAggregateClause queryExpressionAggregateClause, object data) {
@ -921,12 +919,6 @@ namespace ICSharpCode.NRefactory.Visitors {
return null; return null;
} }
public virtual object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data) {
Debug.Assert((queryExpressionIntoClause != null));
Debug.Assert((queryExpressionIntoClause.ContinuedQuery != null));
return queryExpressionIntoClause.ContinuedQuery.AcceptVisitor(this, data);
}
public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) { public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
Debug.Assert((queryExpressionJoinClause != null)); Debug.Assert((queryExpressionJoinClause != null));
Debug.Assert((queryExpressionJoinClause.Type != null)); Debug.Assert((queryExpressionJoinClause.Type != null));

13
src/Libraries/NRefactory/Project/Src/Visitors/AbstractAstTransformer.cs

@ -1546,7 +1546,6 @@ namespace ICSharpCode.NRefactory.Visitors {
Debug.Assert((queryExpression.FromClause != null)); Debug.Assert((queryExpression.FromClause != null));
Debug.Assert((queryExpression.MiddleClauses != null)); Debug.Assert((queryExpression.MiddleClauses != null));
Debug.Assert((queryExpression.SelectOrGroupClause != null)); Debug.Assert((queryExpression.SelectOrGroupClause != null));
Debug.Assert((queryExpression.IntoClause != null));
nodeStack.Push(queryExpression.FromClause); nodeStack.Push(queryExpression.FromClause);
queryExpression.FromClause.AcceptVisitor(this, data); queryExpression.FromClause.AcceptVisitor(this, data);
queryExpression.FromClause = ((QueryExpressionFromClause)(nodeStack.Pop())); queryExpression.FromClause = ((QueryExpressionFromClause)(nodeStack.Pop()));
@ -1564,9 +1563,6 @@ namespace ICSharpCode.NRefactory.Visitors {
nodeStack.Push(queryExpression.SelectOrGroupClause); nodeStack.Push(queryExpression.SelectOrGroupClause);
queryExpression.SelectOrGroupClause.AcceptVisitor(this, data); queryExpression.SelectOrGroupClause.AcceptVisitor(this, data);
queryExpression.SelectOrGroupClause = ((QueryExpressionClause)(nodeStack.Pop())); queryExpression.SelectOrGroupClause = ((QueryExpressionClause)(nodeStack.Pop()));
nodeStack.Push(queryExpression.IntoClause);
queryExpression.IntoClause.AcceptVisitor(this, data);
queryExpression.IntoClause = ((QueryExpressionIntoClause)(nodeStack.Pop()));
return null; return null;
} }
@ -1696,15 +1692,6 @@ namespace ICSharpCode.NRefactory.Visitors {
return null; return null;
} }
public virtual object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data) {
Debug.Assert((queryExpressionIntoClause != null));
Debug.Assert((queryExpressionIntoClause.ContinuedQuery != null));
nodeStack.Push(queryExpressionIntoClause.ContinuedQuery);
queryExpressionIntoClause.ContinuedQuery.AcceptVisitor(this, data);
queryExpressionIntoClause.ContinuedQuery = ((QueryExpression)(nodeStack.Pop()));
return null;
}
public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) { public virtual object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
Debug.Assert((queryExpressionJoinClause != null)); Debug.Assert((queryExpressionJoinClause != null));
Debug.Assert((queryExpressionJoinClause.Type != null)); Debug.Assert((queryExpressionJoinClause.Type != null));

24
src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs

@ -150,9 +150,7 @@ namespace ICSharpCode.NRefactory.Visitors
Location GetQueryVariableEndScope(QueryExpression queryExpression) Location GetQueryVariableEndScope(QueryExpression queryExpression)
{ {
return queryExpression.IntoClause.IsNull return queryExpression.EndLocation;
? queryExpression.EndLocation
: queryExpression.IntoClause.StartLocation;
} }
public override object VisitQueryExpressionFromClause(QueryExpressionFromClause fromClause, object data) public override object VisitQueryExpressionFromClause(QueryExpressionFromClause fromClause, object data)
@ -163,26 +161,6 @@ namespace ICSharpCode.NRefactory.Visitors
return base.VisitQueryExpressionFromClause(fromClause, data); return base.VisitQueryExpressionFromClause(fromClause, data);
} }
public override object VisitQueryExpressionIntoClause(QueryExpressionIntoClause intoClause, object data)
{
QueryExpression parentExpression = intoClause.Parent as QueryExpression;
if (parentExpression != null) {
Expression initializer = null;
var selectClause = parentExpression.SelectOrGroupClause as QueryExpressionSelectClause;
if (selectClause != null) {
initializer = selectClause.Projection;
} else {
var groupByClause = parentExpression.SelectOrGroupClause as QueryExpressionGroupClause;
if (groupByClause != null)
initializer = groupByClause.Projection;
}
AddVariable(null, intoClause.IntoIdentifier,
intoClause.StartLocation, GetQueryVariableEndScope(intoClause.ContinuedQuery),
false, false, initializer, null);
}
return base.VisitQueryExpressionIntoClause(intoClause, data);
}
public override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause joinClause, object data) public override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause joinClause, object data)
{ {
if (string.IsNullOrEmpty(joinClause.IntoIdentifier)) { if (string.IsNullOrEmpty(joinClause.IntoIdentifier)) {

11
src/Libraries/NRefactory/Project/Src/Visitors/NodeTrackingAstVisitor.cs

@ -598,13 +598,6 @@ namespace ICSharpCode.NRefactory.Visitors {
return result; return result;
} }
public sealed override object VisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data) {
this.BeginVisit(queryExpressionIntoClause);
object result = this.TrackedVisitQueryExpressionIntoClause(queryExpressionIntoClause, data);
this.EndVisit(queryExpressionIntoClause);
return result;
}
public sealed override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) { public sealed override object VisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
this.BeginVisit(queryExpressionJoinClause); this.BeginVisit(queryExpressionJoinClause);
object result = this.TrackedVisitQueryExpressionJoinClause(queryExpressionJoinClause, data); object result = this.TrackedVisitQueryExpressionJoinClause(queryExpressionJoinClause, data);
@ -1209,10 +1202,6 @@ namespace ICSharpCode.NRefactory.Visitors {
return base.VisitQueryExpressionGroupVBClause(queryExpressionGroupVBClause, data); return base.VisitQueryExpressionGroupVBClause(queryExpressionGroupVBClause, data);
} }
public virtual object TrackedVisitQueryExpressionIntoClause(QueryExpressionIntoClause queryExpressionIntoClause, object data) {
return base.VisitQueryExpressionIntoClause(queryExpressionIntoClause, data);
}
public virtual object TrackedVisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) { public virtual object TrackedVisitQueryExpressionJoinClause(QueryExpressionJoinClause queryExpressionJoinClause, object data) {
return base.VisitQueryExpressionJoinClause(queryExpressionJoinClause, data); return base.VisitQueryExpressionJoinClause(queryExpressionJoinClause, data);
} }

208
src/SharpDevelop.Tests.sln

@ -1,128 +1,134 @@
 
Microsoft Visual Studio Solution File, Format Version 10.00 Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008 # Visual Studio 2008
# SharpDevelop 3.0.0.3638 # SharpDevelop 3.0.0.3652
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{5DA95927-5F2D-46D8-9265-D092734B6F0E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "AddIns\BackendBindings\Xaml\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\Xaml\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\Xaml\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "AddIns\BackendBindings\Xaml\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{5DA95927-5F2D-46D8-9265-D092734B6F0E}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor.Tests", "Libraries\ICSharpCode.TextEditor\Test\ICSharpCode.TextEditor.Tests.csproj", "{6259D767-BA7C-484D-9472-68F350A20086}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor.Tests", "Libraries\ICSharpCode.TextEditor\Test\ICSharpCode.TextEditor.Tests.csproj", "{6259D767-BA7C-484D-9472-68F350A20086}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NRefactory", "NRefactory", "{162FEAF3-F030-4894-816A-E62AE52C19ED}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryASTGenerator", "Libraries\NRefactory\NRefactoryASTGenerator\NRefactoryASTGenerator.csproj", "{B22522AA-B5BF-4A58-AC6D-D4B45805521F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}"
EndProject EndProject
Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "{970116b0-f96b-4257-8579-986b9cf086f5}" Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "{970116b0-f96b-4257-8579-986b9cf086f5}"
EndProject EndProject
@ -324,61 +330,67 @@ Global
{F390DA70-1FE1-4715-81A0-389AB010C130}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F390DA70-1FE1-4715-81A0-389AB010C130}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.Build.0 = Release|Any CPU {F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.Build.0 = Release|Any CPU
{F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.ActiveCfg = Release|Any CPU {F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B22522AA-B5BF-4A58-AC6D-D4B45805521F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B22522AA-B5BF-4A58-AC6D-D4B45805521F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B22522AA-B5BF-4A58-AC6D-D4B45805521F}.Release|Any CPU.Build.0 = Release|Any CPU
{B22522AA-B5BF-4A58-AC6D-D4B45805521F}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{50A89267-A28B-4DF3-8E62-912E005143B8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A569DCC1-C608-45FD-B770-4F79335EF154} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{5DA95927-5F2D-46D8-9265-D092734B6F0E} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{461606BD-E824-4D0A-8CBA-01810B1F5E02} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} {5DA95927-5F2D-46D8-9265-D092734B6F0E} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} {A569DCC1-C608-45FD-B770-4F79335EF154} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{C9DE556D-325C-4544-B29F-16A9EB7C9830} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{F390DA70-1FE1-4715-81A0-389AB010C130} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97} {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} {1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} {08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{50A89267-A28B-4DF3-8E62-912E005143B8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5}
{D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{870115DD-960A-4406-A6B9-600BCDC36A03} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB}
{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D}
{F390DA70-1FE1-4715-81A0-389AB010C130} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {C12B6EA7-2EFC-4368-B585-EC69EFCC3F97}
{C9DE556D-325C-4544-B29F-16A9EB7C9830} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {5DA95927-5F2D-46D8-9265-D092734B6F0E}
{162FEAF3-F030-4894-816A-E62AE52C19ED} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C}
{4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {B22522AA-B5BF-4A58-AC6D-D4B45805521F} = {162FEAF3-F030-4894-816A-E62AE52C19ED}
{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {870115DD-960A-4406-A6B9-600BCDC36A03} = {162FEAF3-F030-4894-816A-E62AE52C19ED}
{80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {162FEAF3-F030-4894-816A-E62AE52C19ED}
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{7DB80259-24D4-46C3-A024-53FF1987733D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{7DB80259-24D4-46C3-A024-53FF1987733D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
{1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

Loading…
Cancel
Save