fix misspelling

fix misspelling

--- Signum.Utilities/ExpressionTrees/CSharpTreeVisitor.cs
+++ Signum.Utilities/ExpressionTrees/CSharpTreeVisitor.cs
@@ -299,7 +299,7 @@
         #endregion

         #region Colecciones
-        const int IdentationSpaces = 4;
+        const int IndentationSpaces = 4;

         string Line<T>(ReadOnlyCollection<T> collection, Func<T, string> func)
         {
@@ -313,7 +313,7 @@
             if(collapse)
                 return "{{ {0} }}".FormatWith(collection.ToString(func, ", "));

-            return "\r\n{{\r\n{0}\r\n}}".FormatWith(collection.ToString(func, ",\r\n").Indent(IdentationSpaces));
+            return "\r\n{{\r\n{0}\r\n}}".FormatWith(collection.ToString(func, ",\r\n").Indent(IndentationSpaces));
         }
         #endregion


improve default getobstacles

improve default getobstacles

--- PowerArgs/CLI/Physics/Space/SpacialElement.cs
+++ PowerArgs/CLI/Physics/Space/SpacialElement.cs
@@ -20,14 +20,53 @@

     public class DefaultObstacleResolver : IObstacleResolver
     {
-        public List<IRectangularF> GetObstacles(SpacialElement e, float? z = null)
-        {
-            var ez = z.HasValue ? z.Value : e.ZIndex;
-            var ret =  SpaceTime.CurrentSpaceTime.Elements.Where(el => el != e && el.ZIndex == ez).As<IRectangularF>().ToList();
+        public List<IRectangularF> GetObstacles(SpacialElement element, float? z = null)
+        {
+            float effectiveZ = z.HasValue ? z.Value : element.ZIndex;
+            var v = Velocity.For(element);
+            IEnumerable<SpacialElement> exclusions = v?.HitDetectionExclusions;
+            IEnumerable<Type> excludedTypes = v?.HitDetectionExclusionTypes;
+            Func<IEnumerable<SpacialElement>> dynamicExclusions = v?.HitDetectionDynamicExclusions;
+
+            var ret = new List<IRectangularF>();
+            var dynamicEx = dynamicExclusions != null ? dynamicExclusions.Invoke() : null;
+            foreach (var e in SpaceTime.CurrentSpaceTime.Elements)
+            {
+                if (e == element)
+                {
+                    continue;
+                }
+                else if (e.ZIndex != effectiveZ)
+                {
+                    continue;
+                }
+                else if (exclusions != null && exclusions.Contains(e))
+                {
+                    continue;
+                }
+                else if (e.HasSimpleTag(SpacialAwareness.PassThruTag))
+                {
+                    continue;
+                }
+                else if (excludedTypes != null && excludedTypes.Where(t => e.GetType() == t || e.GetType().IsSubclassOf(t) || e.GetType().GetInterfaces().Contains(t)).Any())
+                {
+                    continue;
+                }
+                else if (dynamicEx != null && dynamicEx.Contains(e))
+                {
+                    continue;
+                }
+                else
+                {
+                    ret.Add(e);
+                }
+            }
+
             ret.Add(RectangularF.Create(0, -1, SpaceTime.CurrentSpaceTime.Width, 1)); // top boundary
             ret.Add(RectangularF.Create(0, SpaceTime.CurrentSpaceTime.Height, SpaceTime.CurrentSpaceTime.Width, 1)); // bottom boundary
             ret.Add(RectangularF.Create(-1, 0, 1, SpaceTime.CurrentSpaceTime.Height)); // left boundary
             ret.Add(RectangularF.Create(SpaceTime.CurrentSpaceTime.Width, 0, 1, SpaceTime.CurrentSpaceTime.Height)); // right boundary
+
             return ret;
         }
     }


Beiðni correct

Beiðni correct

--- Skermstafir/Views/Shared/_SearchResultRequests.cshtml
+++ Skermstafir/Views/Shared/_SearchResultRequests.cshtml
@@ -1,5 +1,4 @@
-<<<<<<< HEAD
-@Html.ActionLink("Opna beiðni síðuna", "ShowRequest", "Request")
+@Html.ActionLink("Opna beiðni síðuna", "ShowRequest", "Request")

@@ -25,33 +24,4 @@
 		}

-

-=======
-

-

-

-			Upp
-			Titill
-			Útgáfuár
-			Tungumál
-			Stofnandi
-			Stofna þýðingu
-

-

-

-		@for (int i = 0; i < Model.modelList.Count; i++)
-		{
-

-
▲
 @Model.modelList[i].votes
-
-				@Model.modelList[i].name
-				@Model.modelList[i].yearCreated
-				@Model.modelList[i].Language
-				@Model.modelList[i].user
-				<input type="button" name="stofna" value="Stofna þýðingu" />
-

-		}
-

-
-

->>>>>>> 4be52bc1ef7c2d7fdb466599853d340e2f213a40
+


Refactor FanControls

Refactor FanControls

--- PrinterControls/ControlWidgets/FanControls.cs
+++ PrinterControls/ControlWidgets/FanControls.cs
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2014, Kevin Pope
+Copyright (c) 2017, Kevin Pope, John Lewin
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
@@ -27,15 +27,16 @@
 either expressed or implied, of the FreeBSD Project.
 */

+using System;
 using MatterHackers.Agg;
 using MatterHackers.Agg.UI;
 using MatterHackers.Localizations;
+using MatterHackers.MatterControl.CustomWidgets;
 using MatterHackers.MatterControl.PrinterCommunication;
-using System;

 namespace MatterHackers.MatterControl.PrinterControls
 {
-	public class FanControls : ControlWidgetBase
+	public class FanControls : DisableableWidget
 	{
 		private EventHandler unregisterEvents;

@@ -43,29 +44,31 @@

 		private CheckBox toggleSwitch;

+		private bool doingDisplayUpdateFromPrinter = false;
+
 		public FanControls(int headingPointSize)
 		{
-			AltGroupBox fanControlsGroupBox = new AltGroupBox(new TextWidget("Fan".Localize(), pointSize: headingPointSize, textColor: ActiveTheme.Instance.SecondaryAccentColor));
+			this.HAnchor = HAnchor.ParentLeftRight;
+			this.HAnchor = HAnchor.ParentLeftRight;

-			fanControlsGroupBox.Margin = new BorderDouble(0);
-			fanControlsGroupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
-			fanControlsGroupBox.HAnchor |= Agg.UI.HAnchor.ParentLeftRight;
-			fanControlsGroupBox.VAnchor = Agg.UI.VAnchor.FitToChildren;
-
-			this.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
+			var fanControlsGroupBox = new AltGroupBox(new TextWidget("Fan".Localize(), pointSize: headingPointSize, textColor: ActiveTheme.Instance.SecondaryAccentColor))
+			{
+				Margin = new BorderDouble(0),
+				BorderColor = ActiveTheme.Instance.PrimaryTextColor,
+				HAnchor = HAnchor.ParentLeftRight,
+				VAnchor = VAnchor.FitToChildren
+			};
 			this.AddChild(fanControlsGroupBox);

 			FlowLayoutWidget leftToRight = new FlowLayoutWidget();
+			fanControlsGroupBox.AddChild(leftToRight);

 			FlowLayoutWidget fanControlsLayout = new FlowLayoutWidget(FlowDirection.TopToBottom);
 			fanControlsLayout.Padding = new BorderDouble(3, 5, 3, 0);
 			{
 				fanControlsLayout.AddChild(CreateFanControls());
 			}
-
 			leftToRight.AddChild(fanControlsLayout);
-
-			this.HAnchor = HAnchor.ParentLeftRight;

 			fanSpeedDisplay = new EditableNumberDisplay("{0}%".FormatWith(PrinterConnection.Instance.FanSpeed0To255.ToString()), "100%");
 			fanSpeedDisplay.EditComplete += (sender, e) =>
@@ -73,8 +76,6 @@
 				PrinterConnection.Instance.FanSpeed0To255 = (int)(fanSpeedDisplay.GetValue() * 255.5 / 100);
 			};
 			leftToRight.AddChild(fanSpeedDisplay);
-
-			fanControlsGroupBox.AddChild(leftToRight);
 		}

 		public override void OnClosed(ClosedEventArgs e)
@@ -102,8 +103,6 @@

 			return leftToRight;
 		}
-
-		private bool doingDisplayUpdateFromPrinter = false;

 		private void FanSpeedChanged_Event(object sender, EventArgs e)
 		{


Adds a couple more tests.

Adds a couple more tests.

--- ProjectHekate.Scripting.Tests/GrammarTests.cs
+++ ProjectHekate.Scripting.Tests/GrammarTests.cs
@@ -21,8 +21,7 @@
             parser.NumberOfSyntaxErrors.Should().Be(0);
             tree.ChildCount.Should().Be(0);
         }
-
-
+
         [TestMethod]
         public void ShouldParseSingleEmptyFunction()
         {
@@ -35,5 +34,58 @@
             parser.NumberOfSyntaxErrors.Should().Be(0);
             tree.ChildCount.Should().Be(1);
         }
+
+        [TestMethod]
+        public void ShouldParseTwoEmptyFunctions()
+        {
+            var input = new AntlrInputStream("function SomeOtherShit(){}\r\nfunction Main() {}");
+            var lexer = new HekateGrammarLexer(input);
+            var tokens = new CommonTokenStream(lexer);
+            var parser = new HekateGrammarParser(tokens);
+            var tree = parser.script();
+
+            parser.NumberOfSyntaxErrors.Should().Be(0);
+            tree.ChildCount.Should().Be(2);
+        }
+
+        [TestMethod]
+        public void ShouldParseComplexScript()
+        {
+            var input = new AntlrInputStream(@"function MoveDown()
+{
+    $Y += 0.5;
+    $Angle += TWO_PI/180.0;
+}
+
+function Main()
+{
+    if ($FramesAlive == 60) {
+        var baseEmitterBuilder = create emitter($X, $Y, PI_OVER_2, true) with updater MoveDown();
+        const var numShots = 3;
+        const var diffAngle = TWO_PI/numShots;
+
+        for (var i = 0; i < numShots; i++) {
+            baseEmitterBuilder attach OrbitingEmitter(200, diffAngle*i, true) with updater SomeCrap1();
+        }
+
+        var finalEmitter = build baseEmitterBuilder;
+
+        for (var i = 0; i < numShots; i++)
+        {
+            fire OrbitingCurvedLaser(200, diffAngle * i, 8, 50, 0, 0, 3) from finalEmitter;
+            fire OrbitingCurvedLaser(100, diffAngle * i, 8, 50, 0, 0, 2) from finalEmitter;
+        }
+    };
+
+    wait 5 frames;
+}");
+            var lexer = new HekateGrammarLexer(input);
+            var tokens = new CommonTokenStream(lexer);
+            var parser = new HekateGrammarParser(tokens);
+            var tree = parser.script();
+
+            parser.NumberOfSyntaxErrors.Should().Be(0);
+            tree.ChildCount.Should().Be(2);
+        }
     }
 }


Don't know why, but comments are no longer ordered correctly on azure. As per ticket #2762

--- Purchasing.Mvc/Controllers/OrderController.cs
+++ Purchasing.Mvc/Controllers/OrderController.cs
@@ -627,7 +627,7 @@
                 _repositoryFactory.ApprovalRepository.Queryable.Fetch(x => x.StatusCode).Where(x => x.Order.Id == id).ToList();

             model.Comments =
-                _repositoryFactory.OrderCommentRepository.Queryable.Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
+                _repositoryFactory.OrderCommentRepository.Queryable.OrderBy(o => o.DateCreated).Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
             model.Attachments =
                 _repositoryFactory.AttachmentRepository.Queryable.Fetch(x => x.User).Where(x => x.Order.Id == id).OrderBy(o => o.DateCreated).ToList();

@@ -1311,7 +1311,7 @@
             }

             var viewModel = OrderReceiveModel.Create(order, _repositoryFactory.HistoryReceivedLineItemRepository, false);
-            viewModel.ReviewOrderViewModel.Comments = _repositoryFactory.OrderCommentRepository.Queryable.Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
+            viewModel.ReviewOrderViewModel.Comments = _repositoryFactory.OrderCommentRepository.Queryable.OrderBy(o => o.DateCreated).Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
             viewModel.ReviewOrderViewModel.Attachments = _repositoryFactory.AttachmentRepository.Queryable.Where(x => x.Order.Id == id).ToList();
             viewModel.ReviewOrderViewModel.CurrentUser = CurrentUser.Identity.Name;
             viewModel.ReviewOrderViewModel.Complete = order.StatusCode.IsComplete;
@@ -1348,7 +1348,7 @@
             }

             var viewModel = OrderReceiveModel.Create(order, _repositoryFactory.HistoryReceivedLineItemRepository, true);
-            viewModel.ReviewOrderViewModel.Comments = _repositoryFactory.OrderCommentRepository.Queryable.Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
+            viewModel.ReviewOrderViewModel.Comments = _repositoryFactory.OrderCommentRepository.Queryable.OrderBy(o => o.DateCreated).Fetch(x => x.User).Where(x => x.Order.Id == id).ToList();
             viewModel.ReviewOrderViewModel.Attachments = _repositoryFactory.AttachmentRepository.Queryable.Where(x => x.Order.Id == id).ToList();
             viewModel.ReviewOrderViewModel.CurrentUser = CurrentUser.Identity.Name;
             viewModel.ReviewOrderViewModel.Complete = order.StatusCode.IsComplete;


Launchpad security update: - Add module actions only for tables configured in settings - Hide "Add" button/action if not allowed by security context or table isn't editable (#22)

--- R7.University.Launchpad/ViewLaunchpad.ascx.cs
+++ R7.University.Launchpad/ViewLaunchpad.ascx.cs
@@ -4,7 +4,7 @@
 //  Author:
 //       Roman M. Yagodin <roman.yagodin@gmail.com>
 //
-//  Copyright (c) 2014-2016 Roman M. Yagodin
+//  Copyright (c) 2014-2017 Roman M. Yagodin
 //
 //  This program is free software: you can redistribute it and/or modify
 //  it under the terms of the GNU Affero General Public License as published by
@@ -31,6 +31,7 @@
 using R7.DotNetNuke.Extensions.Modules;
 using R7.University.Launchpad.Components;
 using R7.University.Models;
+using R7.University.Security;

 namespace R7.University.Launchpad
 {
@@ -65,6 +66,12 @@
         }

         #endregion
+
+        private ISecurityContext securityContext;
+        public ISecurityContext SecurityContext
+        {
+            get { return securityContext ?? (securityContext = new ModuleSecurityContext (UserInfo)); }
+        }

         #region Handlers

@@ -215,9 +222,9 @@
                 table.DataBind (this, ModelContext);
             }

-            // set URL to add new item
+            // setup link to add new item
             linkAddItem.NavigateUrl = table.GetAddUrl (this);
-            linkAddItem.Enabled = table.IsEditable;
+            linkAddItem.Visible = table.IsEditable && SecurityContext.CanAdd (table.EntityType);
         }

         /// <summary>
@@ -255,8 +262,12 @@
         {
             get {
                 var actions = new ModuleActionCollection ();
-                foreach (var table in Tables.Tables) {
-                    actions.Add (table.GetAction (this));
+                // add module actions for tables configured in settings
+                foreach (var tableName in Settings.Tables) {
+                    var table = Tables.GetByName (tableName);
+                    if (table.IsEditable && SecurityContext.CanAdd (table.EntityType)) {
+                        actions.Add (table.GetAction (this));
+                    }
                 }

                 return actions;
@@ -333,7 +344,7 @@

                 // assuming what e.Row.Cells[1] contains item ID
                 linkEdit.NavigateUrl = table.GetEditUrl (this, e.Row.Cells [1].Text);
-                linkEdit.Enabled = table.IsEditable;
+                linkEdit.Visible = table.IsEditable;
             }
         }


Update DeviceClasses.cs

Update DeviceClasses.cs

--- RegistryPlugin.DeviceClasses/DeviceClasses.cs
+++ RegistryPlugin.DeviceClasses/DeviceClasses.cs
@@ -30,10 +30,10 @@
         public string Author => "Hyun Yi @hyuunnn";
         public string Email => "";
         public string Phone => "000-0000-0000";
-        public string PluginName => "DevicesClasses";
+        public string PluginName => "DeviceClasses";

         public string ShortDescription
-            => "DevicesClasses Information";
+            => "DeviceClasses Information";

         public string LongDescription => "http://forensic-proof.com/archives/3632";


completed regex for shortcut offsets

completed regex for shortcut offsets

--- RequestReduce/Reducer/BackgroungImageClass.cs
+++ RequestReduce/Reducer/BackgroungImageClass.cs
@@ -31,6 +31,7 @@
     public class BackgroungImageClass
     {
         private static readonly Regex imageUrlPattern = new Regex(@"background(-image)?:[\s\w]*url[\s]*\([\s]*(?<url>[^\)]*)[\s]*\)[^;]*;", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
+        private static readonly Regex shortcutOffsetPattern = new Regex(@"background:[\s\w]*url[\s]*\([^\)]*\)[\s\-a-z]+(?<offset1>right|left|bottom|top|center|(?:\-?\d+(%|px)?))(\s+(?<offset2>right|left|bottom|top|center|(?:\-?\d+(%|px)?)))?[^;]*;", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline);
         private static readonly Regex repeatPattern = new Regex(@"\b((x-)|(y-)|(no-))?repeat\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
         private static readonly Regex widthPattern = new Regex(@"\b(max-)?width:[\s]*(?<width>[0-9]+)(px)?[\s]*;", RegexOptions.Compiled | RegexOptions.IgnoreCase);
         private static readonly Regex heightPattern = new Regex(@"\b(max-)?height:[\s]*(?<height>[0-9]+)(px)?[\s]*;", RegexOptions.Compiled | RegexOptions.IgnoreCase);


Build and publish SQS package

Build and publish SQS package

--- Rock.Messaging.SQS/Properties/AssemblyInfo.cs
+++ Rock.Messaging.SQS/Properties/AssemblyInfo.cs
@@ -35,3 +35,4 @@
 [assembly: AssemblyVersion("0.9.0.0")]
 [assembly: AssemblyFileVersion("0.9.0")]
 [assembly: AssemblyInformationalVersion("0.9.0")]
+


Prevent extension map key collision

Prevent extension map key collision

--- webscripthook-plugin/Extensions/ExtensionLoader.cs
+++ webscripthook-plugin/Extensions/ExtensionLoader.cs
@@ -43,8 +43,15 @@
                 {
                     // The string used to identify this extension
                     string id = Path.GetFileNameWithoutExtension(fileName) + "." + pair.Item1;
-                    extMap.Add(id, pair.Item2);
-                    Logger.Log("Loaded extension: " + id);
+                    if (extMap.ContainsKey(id))
+                    {
+                        Logger.Log("Failed to load extension (extension signature collision): " + id);
+                    }
+                    else
+                    {
+                        extMap.Add(id, pair.Item2);
+                        Logger.Log("Extention loaded: " + id);
+                    }
                 }
             }
             return extMap;


优化 .net core 小程序后端程序

优化 .net core 小程序后端程序

--- Samples/Senparc.Weixin.MP.Sample.vs2017/Senparc.Weixin.MP.CoreSample/Controllers/WxOpen/WxOpenController.cs
+++ Samples/Senparc.Weixin.MP.Sample.vs2017/Senparc.Weixin.MP.CoreSample/Controllers/WxOpen/WxOpenController.cs
@@ -131,7 +131,7 @@
         }

         [HttpPost]
-        public ActionResult RequestData(string nickName)
+        public ActionResult RequestData([FromBody]string nickName)
         {
             var data = new
             {
@@ -146,7 +146,7 @@
         /// <param name="code"></param>
         /// <returns></returns>
         [HttpPost]
-        public ActionResult OnLogin(string code)
+        public ActionResult OnLogin([FromBody]string code)
         {
             try
             {
@@ -174,7 +174,7 @@
         }

         [HttpPost]
-        public ActionResult CheckWxOpenSignature(string sessionId, string rawData, string signature)
+        public ActionResult CheckWxOpenSignature([FromBody]string sessionId, [FromBody]string rawData, [FromBody]string signature)
         {
             try
             {
@@ -188,7 +188,7 @@
         }

         [HttpPost]
-        public ActionResult DecodeEncryptedData(string type, string sessionId, string encryptedData, string iv)
+        public ActionResult DecodeEncryptedData([FromBody]string type, [FromBody]string sessionId, [FromBody]string encryptedData, [FromBody]string iv)
         {
             DecodeEntityBase decodedEntity = null;
             switch (type.ToUpper())
@@ -220,7 +220,7 @@
         }

         [HttpPost]
-        public ActionResult TemplateTest(string sessionId, string formId)
+        public ActionResult TemplateTest([FromBody]string sessionId, [FromBody]string formId)
         {
             var templateMessageService = new TemplateMessageService();
             try
@@ -238,7 +238,7 @@
             }
         }

-        public ActionResult DecryptPhoneNumber(string sessionId, string encryptedData, string iv)
+        public ActionResult DecryptPhoneNumber([FromBody]string sessionId, [FromBody]string encryptedData, [FromBody]string iv)
         {
             var sessionBag = SessionContainer.GetSession(sessionId);
             try
@@ -256,7 +256,7 @@
             }
         }

-        public ActionResult GetPrepayid(string sessionId)
+        public ActionResult GetPrepayid([FromBody]string sessionId)
         {
             try
             {


[Modify] Edit it

[Modify] Edit it

--- websocket-sharp/Net/WebSockets/WebSocketContext.cs
+++ websocket-sharp/Net/WebSockets/WebSocketContext.cs
@@ -72,10 +72,11 @@
     public abstract NameValueCollection Headers { get; }

     /// <summary>
-    /// Gets the value of the Host header included in the request.
-    /// </summary>
-    /// <value>
-    /// A <see cref="string"/> that represents the value of the Host header.
+    /// Gets the value of the Host header included in the handshake request.
+    /// </summary>
+    /// <value>
+    /// A <see cref="string"/> that represents the server host name requested by
+    /// the client.
     /// </value>
     public abstract string Host { get; }


CachedTable fix miGetIBALite

CachedTable fix miGetIBALite

--- Signum.Engine.Extensions/Cache/CachedTable.cs
+++ Signum.Engine.Extensions/Cache/CachedTable.cs
@@ -269,10 +269,10 @@

                         if (isLite)
                         {
-                            var liteCreate = Expression.Call(miLiteCreate,
-                                SchemaGetType(NewPrimaryKey(typeId.UnNullify())),
-                                NewPrimaryKey(id.UnNullify()),
-                                Expression.Constant(null, typeof(string)));
+                            var liteCreate = Expression.Call(miGetIBALite.MakeGenericMethod(field.FieldType.CleanType()),
+                                Expression.Constant(Schema.Current),
+                                NewPrimaryKey(typeId.UnNullify()),
+                                id.UnNullify());

                             var liteRequest = Expression.Call(retriever, miRequestLite.MakeGenericMethod(Lite.Extract(field.FieldType)), liteCreate);

@@ -412,8 +412,14 @@
             static PropertyInfo piModified = ReflectionTools.GetPropertyInfo((Modifiable me) => me.Modified);
             static MemberExpression retrieverModifiedState = Expression.Property(retriever, ReflectionTools.GetPropertyInfo((IRetriever re) => re.ModifiedState));

-
-            static MethodInfo miLiteCreate = ReflectionTools.GetMethodInfo(() => Lite.Create(null, 0, null));
+
+            static MethodInfo miGetIBALite = ReflectionTools.GetMethodInfo((Schema s) => GetIBALite<Entity>(null, 1, "")).GetGenericMethodDefinition();
+            public static Lite<T> GetIBALite<T>(Schema schema, PrimaryKey typeId, string id) where T : Entity
+            {
+                Type type = schema.GetType(typeId);
+
+                return (Lite<T>)Lite.Create(type, PrimaryKey.Parse(id, type));
+            }

             public static MemberExpression peModified = Expression.Property(retriever, ReflectionTools.GetPropertyInfo((IRetriever me) => me.ModifiedState));

@@ -433,12 +439,7 @@
             }

-            static MethodInfo miGetType = ReflectionTools.GetMethodInfo((Schema s) => s.GetType(new PrimaryKey(1)));
-            MethodCallExpression SchemaGetType(Expression idtype)
-            {
-                return Expression.Call(Expression.Constant(Schema.Current), miGetType, idtype);
-            }
-
+

             static readonly MethodInfo miMixin = ReflectionTools.GetMethodInfo((Entity i) => i.Mixin<CorruptMixin>()).GetGenericMethodDefinition();
             Expression GetMixin(ParameterExpression me, Type mixinType)


AditionalData on SMSTemplate

AditionalData on SMSTemplate

--- Signum.Entities.Extensions/SMS/SMSTemplate.cs
+++ Signum.Entities.Extensions/SMS/SMSTemplate.cs
@@ -126,6 +126,13 @@
             return IsActiveNowExpression.Evaluate(this);
         }

+        IIdentifiable aditionalData;
+        public IIdentifiable AditionalData
+        {
+            get { return aditionalData; }
+            set { Set(ref aditionalData, value, () => AditionalData); }
+        }
+
         protected override string PropertyValidation(System.Reflection.PropertyInfo pi)
         {
             if (pi.Is(() => StartDate) || pi.Is(() => EndDate))


changes done working with angular

changes done working with angular

--- Autopilot/Autopilot/Controllers/TwitterController.cs
+++ Autopilot/Autopilot/Controllers/TwitterController.cs
@@ -66,19 +66,9 @@
         public IHttpActionResult TwitterAuthCallback(string oauth_token, string oauth_verifier)
        {
             var tokens = _twitterService.GetTokensOAuth(oauth_token, oauth_verifier);
-            var response = _twitterService.SaveAccountDeatils(tokens, User.Identity.GetUserId(), User.Identity.Name);
-            //var url = ConfigurationSettings.AppSettings["BaseURL"];
-            //return Redirect(url+ "/api/Users/GetData"+response);
-            // return Redirect("http://localhost:4200/dashboard");
-
-             return Ok(response);
-
-
-            //var url = "http://localhost:12952/api/Users/GetData";
-            //System.Uri uri = new System.Uri(url);
-            //return Redirect(uri);
-
-            //return Ok(tokens);
+            var response = _twitterService.SaveAccountDeatils(tokens, User.Identity.GetUserId(), User.Identity.Name);
+            return Redirect("http://localhost:4200/dashboard");
+             //return Ok(response);

         }


Added Animal array and calling the common Eat method


BugFix: fixed validating multiple listings with errors.

--- Code/OpenRealEstate.WebSite/Modules/ConvertModule.cs
+++ Code/OpenRealEstate.WebSite/Modules/ConvertModule.cs
@@ -57,7 +57,7 @@
                 var viewModel = errors.Any()
                     ? new ConvertViewModel
                     {
-                        ValidationErrors = errors.ToDictionary(k => k.PropertyName, v => v.ErrorMessage)
+                        ValidationErrors = ConvertErrorsToDictionary(errors)
                     }
                     : new ConvertViewModel
                 {
@@ -80,5 +80,17 @@
                     .WithStatusCode(HttpStatusCode.InternalServerError);
             }
         }
+
+        private static IDictionary<string, string> ConvertErrorsToDictionary(IList<ValidationFailure> errors)
+        {
+            var result = new Dictionary<string, string>();
+            for(int i = 0; i < errors.Count; i++)
+            {
+                result.Add(string.Format("{0} - {1}", i + 1, errors[i].PropertyName),
+                    errors[i].ErrorMessage);
+            }
+
+            return result;
+        }
     }
 }


Refs #95 - ongebruikte code verwijderd.

Refs #95 - ongebruikte code verwijderd.

--- Solution/Chiro.Gap.Workers/AdressenManager.cs
+++ Solution/Chiro.Gap.Workers/AdressenManager.cs
@@ -34,17 +34,6 @@
     /// </summary>
     public class AdressenManager : IAdressenManager
     {
-        private readonly IAutorisatieManager _autorisatieMgr;
-        private readonly IAdressenSync _sync;
-
-        public AdressenManager(
-            IAutorisatieManager autorisatieMgr,
-            IAdressenSync sync)
-        {
-            _autorisatieMgr = autorisatieMgr;
-            _sync = sync;
-        }
-
         /// <summary>
         /// Maakt een nieuw adres op basis van de info in <paramref name="adresInfo"/>, en persisteert
         /// </summary>


Fix `InvPayload.CreateGroup()` (#1314)

Fix `InvPayload.CreateGroup()` (#1314)

--- src/neo/Network/P2P/Payloads/InvPayload.cs
+++ src/neo/Network/P2P/Payloads/InvPayload.cs
@@ -26,11 +26,15 @@
         public static IEnumerable<InvPayload> CreateGroup(InventoryType type, UInt256[] hashes)
         {
             for (int i = 0; i < hashes.Length; i += MaxHashesCount)
+            {
+                int endIndex = i + MaxHashesCount;
+                if (endIndex > hashes.Length) endIndex = hashes.Length;
                 yield return new InvPayload
                 {
                     Type = type,
-                    Hashes = hashes[i..(i + MaxHashesCount)]
+                    Hashes = hashes[i..endIndex]
                 };
+            }
         }

         void ISerializable.Deserialize(BinaryReader reader)


only one instance of InputEditor

only one instance of InputEditor

--- Source/Code/EditorPlugin/InputEditorPlugin.cs
+++ Source/Code/EditorPlugin/InputEditorPlugin.cs
@@ -11,6 +11,8 @@
 	public class InputEditorPlugin : EditorPlugin
 	{
 		public override string Id => "InputEditorPlugin";
+
+		private static InputEditor inputEditor;

 		protected override void InitPlugin (MainForm main)
 		{
@@ -26,14 +28,18 @@

 		private void RequestInputEditor ()
 		{
-			var inputEditor = new InputEditor ();
+			inputEditor = new InputEditor ();
 			inputEditor.FormClosed += (sender, e) => { inputEditor = null; };
 			inputEditor.Show (DualityEditorApp.MainForm.MainDockPanel);
 		}

 		private void menuItem_Click (object sender, EventArgs e)
 		{
-			RequestInputEditor ();
+			if (inputEditor == null) {
+				RequestInputEditor ();
+			} else {
+				inputEditor.Focus ();
+			}
 		}
 	}
-}+}


corrected serialization on Neural Network neuron

--- numl/Supervised/NeuralNetwork/Neuron.cs
+++ numl/Supervised/NeuralNetwork/Neuron.cs
@@ -31,18 +31,21 @@
             In = new List<Edge>();
             Id = (++_id).ToString();
         }
-
+
         ///
         /// Gets or sets whether weights into this Node are constrained / preserved.
         ///
+        [JsonProperty]
         public bool Constrained { get; set; }

         /// Gets or sets the output value.
         /// <value>The output.</value>
+        [JsonProperty]
         public double Output { get; set; }

         /// Gets or sets the combined input value.
         /// <value>The input.</value>
+        [JsonProperty]
         public double Input { get; set; }

         /// Gets or sets the delta.


* Fixed typo in Login.cs.

* Fixed typo in Login.cs.

git-svn-id: c32cf1ecefca26b8770d7b0740bc0c5c174087e4@1681 c754d5e9-d413-0410-bcdf-9574c9dba6b7

--- libsecondlife/Login.cs
+++ libsecondlife/Login.cs
@@ -415,7 +415,7 @@
 			// workaround for bots being caught up in a global ban
 			// This *should* be the hash of the first hard drive,
 			// but any unique identifier works.
-            loginParams.id0 = GetMac();
+            loginParams.id0 = GetMAC();

             return loginParams;
         }


Fix tests for RegisterActionAnalyzer

Fix tests for RegisterActionAnalyzer

--- src/Microsoft.CodeAnalysis.Analyzers/UnitTests/MetaAnalyzers/StartActionWithNoRegisteredActionsRuleTests.cs
+++ src/Microsoft.CodeAnalysis.Analyzers/UnitTests/MetaAnalyzers/StartActionWithNoRegisteredActionsRuleTests.cs
@@ -260,70 +260,7 @@
     {
     }
 }";
-            await new VerifyCS.Test
-            {
-                ReferenceAssemblies = ReferenceAssemblies.Default,
-                TestState =
-                {
-                    Sources = { source },
-                    ExpectedDiagnostics =
-                    {
-#if !NETCOREAPP
-                        // Test0.cs(3,26): error CS0234: The type or namespace name 'Immutable' does not exist in the namespace 'System.Collections' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(3, 26, 3, 35).WithArguments("Immutable", "System.Collections"),
-                        // Test0.cs(4,17): error CS0234: The type or namespace name 'CodeAnalysis' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(4, 17, 4, 29).WithArguments("CodeAnalysis", "Microsoft"),
-                        // Test0.cs(5,17): error CS0234: The type or namespace name 'CodeAnalysis' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(5, 17, 5, 29).WithArguments("CodeAnalysis", "Microsoft"),
-#else
-                        // Test0.cs(5,30): error CS0234: The type or namespace name 'Diagnostics' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(5, 30, 5, 41).WithArguments("Diagnostics", "Microsoft.CodeAnalysis"),
-#endif
-                        // Test0.cs(7,2): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.cs(7,2): error CS0246: The type or namespace name 'DiagnosticAnalyzerAttribute' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzerAttribute"),
-                        // Test0.cs(7,21): error CS0103: The name 'LanguageNames' does not exist in the current context
-                        DiagnosticResult.CompilerError("CS0103").WithSpan(7, 21, 7, 34).WithArguments("LanguageNames"),
-                        // Test0.cs(8,20): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(8, 20, 8, 38).WithArguments("DiagnosticAnalyzer"),
-#if !NETCOREAPP
-                        // Test0.cs(10,21): error CS0246: The type or namespace name 'ImmutableArray<>' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(10, 21, 10, 57).WithArguments("ImmutableArray<>"),
-#endif
-                        // Test0.cs(10,36): error CS0246: The type or namespace name 'DiagnosticDescriptor' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(10, 36, 10, 56).WithArguments("DiagnosticDescriptor"),
-                        // Test0.cs(10,58): error CS0115: 'MyAnalyzer.SupportedDiagnostics': no suitable method found to override
-                        DiagnosticResult.CompilerError("CS0115").WithSpan(10, 58, 10, 78).WithArguments("MyAnalyzer.SupportedDiagnostics"),
-                        // Test0.cs(18,37): error CS0246: The type or namespace name 'AnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(18, 37, 18, 52).WithArguments("AnalysisContext"),
-                        // Test0.cs(20,59): error CS0103: The name 'OperationKind' does not exist in the current context
-                        DiagnosticResult.CompilerError("CS0103").WithSpan(20, 59, 20, 72).WithArguments("OperationKind"),
-                        // Test0.cs(23,42): error CS0246: The type or namespace name 'OperationAnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(23, 42, 23, 66).WithArguments("OperationAnalysisContext"),
-                        // Test0.cs(28,2): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(28, 2, 28, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.cs(28,2): error CS0246: The type or namespace name 'DiagnosticAnalyzerAttribute' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(28, 2, 28, 20).WithArguments("DiagnosticAnalyzerAttribute"),
-                        // Test0.cs(28,21): error CS0103: The name 'LanguageNames' does not exist in the current context
-                        DiagnosticResult.CompilerError("CS0103").WithSpan(28, 21, 28, 34).WithArguments("LanguageNames"),
-                        // Test0.cs(29,21): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(29, 21, 29, 39).WithArguments("DiagnosticAnalyzer"),
-#if !NETCOREAPP
-                        // Test0.cs(31,21): error CS0246: The type or namespace name 'ImmutableArray<>' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(31, 21, 31, 57).WithArguments("ImmutableArray<>"),
-#endif
-                        // Test0.cs(31,36): error CS0246: The type or namespace name 'DiagnosticDescriptor' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(31, 36, 31, 56).WithArguments("DiagnosticDescriptor"),
-                        // Test0.cs(31,58): error CS0115: 'MyAnalyzer2.SupportedDiagnostics': no suitable method found to override
-                        DiagnosticResult.CompilerError("CS0115").WithSpan(31, 58, 31, 78).WithArguments("MyAnalyzer2.SupportedDiagnostics"),
-                        // Test0.cs(39,37): error CS0246: The type or namespace name 'AnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(39, 37, 39, 52).WithArguments("AnalysisContext"),
-                        // Test0.cs(44,47): error CS0246: The type or namespace name 'OperationBlockAnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(44, 47, 44, 76).WithArguments("OperationBlockAnalysisContext")
-                    },
-                }
-            }.RunAsync();
+            await VerifyCS.VerifyAnalyzerAsync(source);
         }

         [Fact]
@@ -381,52 +318,7 @@
     }
 }";

-            await new VerifyCS.Test
-            {
-                ReferenceAssemblies = ReferenceAssemblies.Default,
-                TestState =
-                {
-                    Sources = { source },
-                    ExpectedDiagnostics =
-                    {
-#if !NETCOREAPP
-                        // Test0.cs(3,26): error CS0234: The type or namespace name 'Immutable' does not exist in the namespace 'System.Collections' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(3, 26, 3, 35).WithArguments("Immutable", "System.Collections"),
-                        // Test0.cs(4,17): error CS0234: The type or namespace name 'CodeAnalysis' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(4, 17, 4, 29).WithArguments("CodeAnalysis", "Microsoft"),
-                        // Test0.cs(5,17): error CS0234: The type or namespace name 'CodeAnalysis' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(5, 17, 5, 29).WithArguments("CodeAnalysis", "Microsoft"),
-#else
-                        // Test0.cs(5,30): error CS0234: The type or namespace name 'Diagnostics' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0234").WithSpan(5, 30, 5, 41).WithArguments("Diagnostics", "Microsoft.CodeAnalysis"),
-#endif
-                        // Test0.cs(7,2): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.cs(7,2): error CS0246: The type or namespace name 'DiagnosticAnalyzerAttribute' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzerAttribute"),
-                        // Test0.cs(7,21): error CS0103: The name 'LanguageNames' does not exist in the current context
-                        DiagnosticResult.CompilerError("CS0103").WithSpan(7, 21, 7, 34).WithArguments("LanguageNames"),
-                        // Test0.cs(8,20): error CS0246: The type or namespace name 'DiagnosticAnalyzer' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(8, 20, 8, 38).WithArguments("DiagnosticAnalyzer"),
-#if !NETCOREAPP
-                        // Test0.cs(10,21): error CS0246: The type or namespace name 'ImmutableArray<>' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(10, 21, 10, 57).WithArguments("ImmutableArray<>"),
-#endif
-                        // Test0.cs(10,36): error CS0246: The type or namespace name 'DiagnosticDescriptor' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(10, 36, 10, 56).WithArguments("DiagnosticDescriptor"),
-                        // Test0.cs(18,37): error CS0246: The type or namespace name 'AnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(18, 37, 18, 52).WithArguments("AnalysisContext"),
-                        // Test0.cs(39,42): error CS0246: The type or namespace name 'OperationAnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(39, 42, 39, 66).WithArguments("OperationAnalysisContext"),
-                        // Test0.cs(43,47): error CS0246: The type or namespace name 'OperationBlockAnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(43, 47, 43, 76).WithArguments("OperationBlockAnalysisContext"),
-                        // Test0.cs(47,52): error CS0246: The type or namespace name 'OperationBlockStartAnalysisContext' could not be found (are you missing a using directive or an assembly reference?)
-                        DiagnosticResult.CompilerError("CS0246").WithSpan(47, 52, 47, 86).WithArguments("OperationBlockStartAnalysisContext"),
-                        // Test0.cs(49,59): error CS0103: The name 'OperationKind' does not exist in the current context
-                        DiagnosticResult.CompilerError("CS0103").WithSpan(49, 59, 49, 72).WithArguments("OperationKind"),
-                    },
-                },
-            }.RunAsync();
+            await VerifyCS.VerifyAnalyzerAsync(source);
         }

         [Fact]
@@ -556,59 +448,7 @@
 	End Sub
 End Class
 ";
-            await new VerifyVB.Test
-            {
-                ReferenceAssemblies = ReferenceAssemblies.Default,
-                TestState =
-                {
-                    Sources = { source },
-                    ExpectedDiagnostics =
-                    {
-                        // Test0.vb(7) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(7) : error BC30451: 'LanguageNames' is not declared. It may be inaccessible due to its protection level.
-                        DiagnosticResult.CompilerError("BC30451").WithSpan(7, 21, 7, 34).WithArguments("LanguageNames"),
-                        // Test0.vb(9) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(9, 11, 9, 29).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(10) : error BC30284: property 'SupportedDiagnostics' cannot be declared 'Overrides' because it does not override a property in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(10, 37, 10, 57).WithArguments("property", "SupportedDiagnostics"),
-#if !NETCOREAPP
-                        // Test0.vb(10) : error BC30002: Type 'ImmutableArray' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(10, 63, 10, 102).WithArguments("ImmutableArray"),
-#endif
-                        // Test0.vb(10) : error BC30002: Type 'DiagnosticDescriptor' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(10, 81, 10, 101).WithArguments("DiagnosticDescriptor"),
-                        // Test0.vb(16) : error BC30284: sub 'Initialize' cannot be declared 'Overrides' because it does not override a sub in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(16, 23, 16, 33).WithArguments("sub", "Initialize"),
-                        // Test0.vb(16) : error BC30002: Type 'AnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(16, 45, 16, 60).WithArguments("AnalysisContext"),
-                        // Test0.vb(17) : error BC30451: 'OperationKind' is not declared. It may be inaccessible due to its protection level.
-                        DiagnosticResult.CompilerError("BC30451").WithSpan(17, 63, 17, 76).WithArguments("OperationKind"),
-                        // Test0.vb(20) : error BC30002: Type 'OperationAnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(20, 49, 20, 73).WithArguments("OperationAnalysisContext"),
-                        // Test0.vb(24) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(24, 2, 24, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(24) : error BC30451: 'LanguageNames' is not declared. It may be inaccessible due to its protection level.
-                        DiagnosticResult.CompilerError("BC30451").WithSpan(24, 21, 24, 34).WithArguments("LanguageNames"),
-                        // Test0.vb(26) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(26, 11, 26, 29).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(27) : error BC30284: property 'SupportedDiagnostics' cannot be declared 'Overrides' because it does not override a property in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(27, 37, 27, 57).WithArguments("property", "SupportedDiagnostics"),
-#if !NETCOREAPP
-                        // Test0.vb(27) : error BC30002: Type 'ImmutableArray' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(27, 63, 27, 102).WithArguments("ImmutableArray"),
-#endif
-                        // Test0.vb(27) : error BC30002: Type 'DiagnosticDescriptor' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(27, 81, 27, 101).WithArguments("DiagnosticDescriptor"),
-                        // Test0.vb(33) : error BC30284: sub 'Initialize' cannot be declared 'Overrides' because it does not override a sub in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(33, 23, 33, 33).WithArguments("sub", "Initialize"),
-                        // Test0.vb(33) : error BC30002: Type 'AnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(33, 45, 33, 60).WithArguments("AnalysisContext"),
-                        // Test0.vb(37) : error BC30002: Type 'OperationBlockAnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(37, 54, 37, 83).WithArguments("OperationBlockAnalysisContext")
-                    },
-                },
-            }.RunAsync();
+            await VerifyVB.VerifyAnalyzerAsync(source);
         }

         [Fact]
@@ -657,43 +497,7 @@
 End Class
 ";

-            await new VerifyVB.Test
-            {
-                ReferenceAssemblies = ReferenceAssemblies.Default,
-                TestState =
-                {
-                    Sources = { source },
-                    ExpectedDiagnostics =
-                    {
-                        // Test0.vb(7) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(7, 2, 7, 20).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(7) : error BC30451: 'LanguageNames' is not declared. It may be inaccessible due to its protection level.
-                        DiagnosticResult.CompilerError("BC30451").WithSpan(7, 21, 7, 34).WithArguments("LanguageNames"),
-                        // Test0.vb(9) : error BC30002: Type 'DiagnosticAnalyzer' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(9, 11, 9, 29).WithArguments("DiagnosticAnalyzer"),
-                        // Test0.vb(10) : error BC30284: property 'SupportedDiagnostics' cannot be declared 'Overrides' because it does not override a property in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(10, 37, 10, 57).WithArguments("property", "SupportedDiagnostics"),
-#if !NETCOREAPP
-                        // Test0.vb(10) : error BC30002: Type 'ImmutableArray' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(10, 63, 10, 102).WithArguments("ImmutableArray"),
-#endif
-                        // Test0.vb(10) : error BC30002: Type 'DiagnosticDescriptor' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(10, 81, 10, 101).WithArguments("DiagnosticDescriptor"),
-                        // Test0.vb(16) : error BC30284: sub 'Initialize' cannot be declared 'Overrides' because it does not override a sub in a base class.
-                        DiagnosticResult.CompilerError("BC30284").WithSpan(16, 23, 16, 33).WithArguments("sub", "Initialize"),
-                        // Test0.vb(16) : error BC30002: Type 'AnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(16, 45, 16, 60).WithArguments("AnalysisContext"),
-                        // Test0.vb(32) : error BC30002: Type 'OperationAnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(32, 49, 32, 73).WithArguments("OperationAnalysisContext"),
-                        // Test0.vb(35) : error BC30002: Type 'OperationBlockAnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(35, 54, 35, 83).WithArguments("OperationBlockAnalysisContext"),
-                        // Test0.vb(38) : error BC30002: Type 'OperationBlockStartAnalysisContext' is not defined.
-                        DiagnosticResult.CompilerError("BC30002").WithSpan(38, 59, 38, 93).WithArguments("OperationBlockStartAnalysisContext"),
-                        // Test0.vb(39) : error BC30451: 'OperationKind' is not declared. It may be inaccessible due to its protection level.
-                        DiagnosticResult.CompilerError("BC30451").WithSpan(39, 63, 39, 76).WithArguments("OperationKind")
-                    },
-                }
-            }.RunAsync();
+            await VerifyVB.VerifyAnalyzerAsync(source);
         }

         private static DiagnosticResult GetCSharpExpectedDiagnostic(int line, int column, string parameterName, StartActionKind kind) =>


GSF.Core: In FileProcessor.cs, fixed file enumeration cleanup operation to remove files from the collection of touched files. Also changed visibility of MatchesFilter() to public.

--- Source/Libraries/GSF.Core/IO/FileProcessor.cs
+++ Source/Libraries/GSF.Core/IO/FileProcessor.cs
@@ -669,7 +669,10 @@
                 m_fileProcessor.m_processingThread.Push(1, () => m_cleanProcessedFilesOperation.ExecuteAction(() =>
                 {
                     foreach (string file in files)
+                    {
+                        m_fileProcessor.m_touchedFiles.Remove(file);
                         m_fileProcessor.m_processedFiles.Remove(file);
+                    }

                     m_cleanProcessedFilesOperation.RunIfPending();
                 }));
@@ -1143,6 +1146,30 @@
         }

         /// <summary>
+        /// Determines if the given file matches the file processor's filter.
+        /// </summary>
+        /// <param name="filePath">The path to the file to be tested against the filter.</param>
+        /// <returns>True if the file matches the filter; false otherwise.</returns>
+        public bool MatchesFilter(string filePath)
+        {
+            string[] filters = m_filter.Split(Path.PathSeparator);
+
+            if (!FilePath.IsFilePatternMatch(filters, filePath, true))
+                return false;
+
+            try
+            {
+                return m_filterMethod(filePath);
+            }
+            catch (Exception ex)
+            {
+                string message = $"An exception occurred while attempting to execute user-defined filter: {ex.Message}";
+                OnError(new Exception(message, ex));
+                return false;
+            }
+        }
+
+        /// <summary>
         /// Stops all enumeration operations that are currently running.
         /// </summary>
         public void StopEnumeration()
@@ -1197,26 +1224,6 @@
                 {
                     m_disposed = true; // Prevent duplicate dispose.
                 }
-            }
-        }
-
-        // Determines if the given file matches the file processor's filter.
-        private bool MatchesFilter(string filePath)
-        {
-            string[] filters = m_filter.Split(Path.PathSeparator);
-
-            if (!FilePath.IsFilePatternMatch(filters, filePath, true))
-                return false;
-
-            try
-            {
-                return m_filterMethod(filePath);
-            }
-            catch (Exception ex)
-            {
-                string message = $"An exception occurred while attempting to execute user-defined filter: {ex.Message}";
-                OnError(new Exception(message, ex));
-                return false;
             }
         }


fix protocol messages

fix protocol messages

--- src/dotnet-test-persimmon/Sinks/Messages.cs
+++ src/dotnet-test-persimmon/Sinks/Messages.cs
@@ -2,10 +2,10 @@
 {
     public static class Messages
     {
-        public const string TestCompleted = "Persimmon.TestRunner.TestCompleted";
-        public const string WaitingCommand = "Persimmon.TestRunner.WaitingCommand";
-        public const string TestFound = "Persimmon.TestDiscovery.TestFound";
-        public const string TestStarted = "Persimmon.TestExecution.TestStarted";
-        public const string TestResult = "Persimmon.TestExecution.TestResult";
+        public const string TestCompleted = "TestRunner.TestCompleted";
+        public const string WaitingCommand = "TestRunner.WaitingCommand";
+        public const string TestFound = "TestDiscovery.TestFound";
+        public const string TestStarted = "TestExecution.TestStarted";
+        public const string TestResult = "TestExecution.TestResult";
     }
 }


- Fixed calling of OnDragEnd-Event in newer iOS/Xamarin-Versions

--- Source/TK.CustomMap.iOSUnified/TKCustomMapRenderer.cs
+++ Source/TK.CustomMap.iOSUnified/TKCustomMapRenderer.cs
@@ -403,7 +403,7 @@

                 if (FormsMap.IsClusteringEnabled)
                 {
-                    var ckCluster = e.AnnotationView.Annotation as CKCluster;
+                    var ckCluster = Runtime.GetNSObject(e.AnnotationView.Annotation.Handle) as CKCluster;
                     annotation.SetCoordinateInternal(ckCluster.Coordinate, true);
                 }

@@ -1798,7 +1798,7 @@
         {
             if (FormsMap.IsClusteringEnabled)
             {
-                var cluster = view.Annotation as CKCluster;
+                var cluster = Runtime.GetNSObject(view.Annotation.Handle) as CKCluster;

                 if (cluster?.Annotations.Count() != 1) return null;


Travel screen will now have the system information on start.

--- SpaceTradingGame/Engine/UI/Interfaces/TravelScreen.cs
+++ SpaceTradingGame/Engine/UI/Interfaces/TravelScreen.cs
@@ -65,15 +65,7 @@

             starMap.Selected += (sender, e) =>
             {
-                systemTitle.Text = e.Name;
-
-                string desc = "";
-                foreach (Game.Planetoid planet in e.Planetoids)
-                {
-                    desc += planet.Name + "\n";
-                }
-
-                systemDesc.Text = desc;
+                updateScreenInformation();
                 InterfaceManager.DrawStep();
             };

@@ -96,6 +88,8 @@
             starMap.SetSystemList(GameManager.Systems);
             starMap.SetCurrentSystem(GameManager.CurrentSystem);

+            updateScreenInformation();
+
             base.OnEnable();
         }

@@ -123,6 +117,19 @@
         public void StartTraveling()
         {
             travelManager.SetTravelPath(starMap.GetTravelPath());
+        }
+
+        private void updateScreenInformation()
+        {
+            systemTitle.Text = GameManager.CurrentSystem;
+
+            string desc = "";
+            foreach (Game.Planetoid planet in GameManager.CurrentSystem.Planetoids)
+            {
+                desc += planet.Name + "\n";
+            }
+
+            systemDesc.Text = desc;
         }

         private TravelManager travelManager;


Update | Implementada identificação de Int16 ao verificar propriedade para geração do arquivo.

--- SpedBr/SpedBr.Common/EscreverCamposSpedByAttribute.cs
+++ SpedBr/SpedBr.Common/EscreverCamposSpedByAttribute.cs
@@ -131,7 +131,12 @@
                 return InformationType.DateTime;
             if (property.PropertyType == typeof(DateTime?))
                 return InformationType.NullableDateTime;
-            if (property.PropertyType == typeof(Int32) ||
+            /*
+             * Substituir todos os campos de indicadores por Int16
+             */
+            if (property.PropertyType == typeof(Int16) ||
+                property.PropertyType == typeof(Int16?)||
+                property.PropertyType == typeof(Int32) ||
                 property.PropertyType == typeof(Int32?))
                 return InformationType.CodeOrNumber;


- making mutex creation "dumber" on linux (MutexAccessRules don't seem to be implemented on mono at present time) - fix #8

--- SquishIt.Framework/Utilities/FilePathMutexProvider.cs
+++ SquishIt.Framework/Utilities/FilePathMutexProvider.cs
@@ -80,17 +80,24 @@
 			return CreateSharableMutex(mutexName);
 		}

-		private static Mutex CreateSharableMutex(string name)
-		{
-			// Creates a mutex sharable by more than one process
-			var mutexSecurity = new MutexSecurity();
-			var everyoneSid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
-			mutexSecurity.AddAccessRule(new MutexAccessRule(everyoneSid, MutexRights.FullControl, AccessControlType.Allow));
+        private static Mutex CreateSharableMutex (string name)
+        {
+            // Creates a mutex sharable by more than one process

-			// The constructor will either create new mutex or open
-			// an existing one, in a thread-safe manner
-			bool createdNew;
-			return new Mutex(false, name, out createdNew, mutexSecurity);
-		}
+            // The constructor will either create new mutex or open
+            // an existing one, in a thread-safe manner
+            bool createdNew;
+
+            var everyoneSid = new SecurityIdentifier (WellKnownSidType.WorldSid, null);
+
+            if (FileSystem.Unix)
+            {
+                //MutexAccessRules don't seem to work on mono yet: http://lists.ximian.com/pipermail/mono-list/2008-August/039294.html
+                return new Mutex (false, name, out createdNew);
+            }
+            var mutexSecurity = new MutexSecurity ();
+            mutexSecurity.AddAccessRule (new MutexAccessRule (everyoneSid, MutexRights.FullControl, AccessControlType.Allow));
+            return new Mutex (false, name, out createdNew, mutexSecurity);
+        }
 	}
 }


Added Spec for FormatString for outputting gradient css

--- dotlessjs.Test/Specs/Functions/FormatStringFixture.cs
+++ dotlessjs.Test/Specs/Functions/FormatStringFixture.cs
@@ -42,5 +42,33 @@
       AssertExpression("abc def ghi 'jkl'", "formatstring('abc {0} {1} {2}', @x, @y, @z)", variables);
     }

+    [Test]
+    public void FormatGradients()
+    {
+      var input = @"
+#gradients {
+  @from: #444;
+  @to: #999;
+  @ffgradient: ""-moz-linear-gradient(top, {0}, {1})"";
+  @wkgradient: ""-webkit-gradient(linear,left top,left bottom,color-stop(0, {0}),color-stop(1, {1}))"";
+  @iegradient: ""progid:DXImageTransform.Microsoft.gradient(startColorstr='{0}', endColorstr='{1}')"";
+  @ie8gradient: ""\""progid:DXImageTransform.Microsoft.gradient(startColorstr='{0}', endColorstr='{1}')\"""";
+
+  background-image: formatString(@ffgradient, @from, @to);  // FF3.6
+  background-image: formatString(@wkgradient, @from, @to);  // Saf4+, Chrome
+  filter:           formatString(@iegradient, @from, @to);  // IE6,IE7
+  -ms-filter:       formatString(@ie8gradient, @from, @to); // IE8
+}";
+
+      var expected = @"
+#gradients {
+  background-image: -moz-linear-gradient(top, #444444, #999999);
+  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999));
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#999999');
+  -ms-filter: ""progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#999999')"";
+}";
+
+      AssertLess(input, expected);
+    }
   }
 }


Change test to use OpenSans-Regular

Change test to use OpenSans-Regular

--- osu.Framework.Tests/IO/FontStoreTest.cs
+++ osu.Framework.Tests/IO/FontStoreTest.cs
@@ -24,12 +24,12 @@
         [Test]
         public void TestNestedScaleAdjust()
         {
-            using (var fontStore = new FontStore(new RawCachingGlyphStore(fontResourceStore, "OpenSans") { CacheStorage = storage }, scaleAdjust: 100))
+            using (var fontStore = new FontStore(new RawCachingGlyphStore(fontResourceStore, "OpenSans-Regular") { CacheStorage = storage }, scaleAdjust: 100))
             using (var nestedFontStore = new FontStore(new RawCachingGlyphStore(fontResourceStore, "OpenSans-Bold") { CacheStorage = storage }, 10))
             {
                 fontStore.AddStore(nestedFontStore);

-                var normalGlyph = (TexturedCharacterGlyph)fontStore.Get("OpenSans", 'a');
+                var normalGlyph = (TexturedCharacterGlyph)fontStore.Get("OpenSans-Regular", 'a');
                 Assert.That(normalGlyph, Is.Not.Null);

                 var boldGlyph = (TexturedCharacterGlyph)fontStore.Get("OpenSans-Bold", 'a');


Handle missing files in Noark5-test ChangeLogArchiveReferenceControl

--- src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs
+++ src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using Arkivverket.Arkade.Core;
 using Arkivverket.Arkade.Core.Noark5;
 using Arkivverket.Arkade.ExternalModels.ChangeLog;
@@ -12,15 +13,12 @@
     /// </summary>
     public class ChangeLogArchiveReferenceControl : Noark5XmlReaderBaseTest
     {
-        private readonly endringslogg _changeLog;
+        private readonly Archive _archive;
         private readonly List<string> _systemIDs;

         public ChangeLogArchiveReferenceControl(Archive archive)
         {
-            _changeLog = SerializeUtil.DeserializeFromFile<endringslogg>(
-                archive.WorkingDirectory.Content().WithFile(ArkadeConstants.ChangeLogXmlFileName).FullName
-            );
-
+            _archive = archive;
             _systemIDs = new List<string>();
         }

@@ -38,13 +36,28 @@
         {
             var testResults = new List<TestResult>();

-            var changeLogChanges = _changeLog.endring;
+            try
+            {
+                var changeLog = SerializeUtil.DeserializeFromFile<endringslogg>(
+                    _archive.WorkingDirectory.Content().WithFile(ArkadeConstants.ChangeLogXmlFileName).FullName
+                );

-            foreach (var change in changeLogChanges)
+                var changeLogChanges = changeLog.endring;
+
+                foreach (var change in changeLogChanges)
+                {
+                    if (!_systemIDs.Contains(change.referanseArkivenhet))
+                    {
+                        testResults.Add(new TestResult(
+                            ResultType.Error, new Location(ArkadeConstants.ChangeLogXmlFileName), string.Format(
+                                Noark5Messages.ChangeLogArchiveReferenceControlMessage, change.referanseArkivenhet)));
+                    }
+                }
+            }
+            catch (Exception)
             {
-                if (!_systemIDs.Contains(change.referanseArkivenhet))
-                    testResults.Add(new TestResult(ResultType.Error, new Location(ArkadeConstants.ChangeLogXmlFileName),
-                        string.Format(Noark5Messages.ChangeLogArchiveReferenceControlMessage, change.referanseArkivenhet)));
+                testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty),
+                    string.Format(Noark5Messages.FileNotFound, ArkadeConstants.ChangeLogXmlFileName)));
             }

             return testResults;


Add comment about Storage public set.

Add comment about Storage public set.

--- osu.Framework/Platform/BasicGameHost.cs
+++ osu.Framework/Platform/BasicGameHost.cs
@@ -80,7 +80,7 @@
             throw new NotImplementedException("This platform does not implement IPC.");
         }

-        public virtual BasicStorage Storage { get; set; }
+        public virtual BasicStorage Storage { get; set; } //public set currently required for visualtests setup.

         public override bool IsVisible => true;


Fixed UnusedFeatureApiCopRule.IsValid

Fixed UnusedFeatureApiCopRule.IsValid

--- src/Catel.Core/Catel.Core.NET40/ApiCop/Rules/UnusedFeatureApiCopRule.cs
+++ src/Catel.Core/Catel.Core.NET40/ApiCop/Rules/UnusedFeatureApiCopRule.cs
@@ -82,7 +82,7 @@
                 //var usedCount = propertyBag.GetPropertyValue<int>("UsedCount");
                 var unusedCount = propertyBag.GetPropertyValue<int>("UnusedCount");

-                return totalCount != unusedCount;
+                return totalCount == unusedCount;
             }
         }


Update Viktor.cs

Update Viktor.cs

--- AdEvade/AdEvade/Data/Spells/SpecialSpells/Viktor.cs
+++ AdEvade/AdEvade/Data/Spells/SpecialSpells/Viktor.cs
@@ -32,7 +32,7 @@
                 args.SData.Name != null && args.SData.Name == "ViktorDeathRay")

             {
-                  var end = sender.GetWaypoints().Last().To3D();
+                  var endpoint = sender.GetWaypoints().Last();
             //    var missileDist = End.To2D().Distance(args.Start.To2D());
               //  var delay = missileDist / 1.5f + 600;


sorting stored procedures

sorting stored procedures

--- DbShell.Driver.Common/AbstractDb/DatabaseAnalyser.cs
+++ DbShell.Driver.Common/AbstractDb/DatabaseAnalyser.cs
@@ -21,7 +21,15 @@
             Structure = new DatabaseInfo();
             if (FilterOptions == null) FilterOptions = new DatabaseAnalyserFilterOptions();
             DoRunAnalysis();
+            SortStructureItems();
+        }
+
+        private void SortStructureItems()
+        {
             Structure.Tables.Sort((a, b) => System.String.Compare(a.FullName.ToString(), b.FullName.ToString(), System.StringComparison.OrdinalIgnoreCase));
+            Structure.StoredProcedures.Sort((a, b) => System.String.Compare(a.FullName.ToString(), b.FullName.ToString(), System.StringComparison.OrdinalIgnoreCase));
+            Structure.Functions.Sort((a, b) => System.String.Compare(a.FullName.ToString(), b.FullName.ToString(), System.StringComparison.OrdinalIgnoreCase));
+            Structure.Triggers.Sort((a, b) => System.String.Compare(a.FullName.ToString(), b.FullName.ToString(), System.StringComparison.OrdinalIgnoreCase));
         }

         public void IncrementalAnalysis()
@@ -63,7 +71,7 @@
             }

             DoRunAnalysis();
-            Structure.Tables.Sort((a, b) => System.String.Compare(a.FullName.ToString(), b.FullName.ToString(), System.StringComparison.OrdinalIgnoreCase));
+            SortStructureItems();
         }

         private void CheckInput()


update

update

--- Demos/CSharpGL.Demos/Renderers/GreyFilterRenderer.cs
+++ Demos/CSharpGL.Demos/Renderers/GreyFilterRenderer.cs
@@ -85,49 +85,47 @@
             {
                 if (bufferName == strPosition)
                 {
-                    if (positionBufferPtr == null)
+                    if (this.positionBufferPtr == null)
                     {
-                        using (var buffer = new VertexAttributeBuffer<vec3>(
-                            varNameInShader, VertexAttributeConfig.Vec3, BufferUsage.StaticDraw))
+                        int length = positions.Length;
+                        VertexAttributeBufferPtr bufferPtr = VertexAttributeBufferPtr.Create(typeof(vec3), length, VertexAttributeConfig.Vec3, BufferUsage.StaticDraw, varNameInShader);
+                        unsafe
                         {
-                            buffer.Alloc(positions.Length);
-                            unsafe
+                            IntPtr pointer = bufferPtr.MapBuffer(MapBufferAccess.WriteOnly);
+                            var array = (vec3*)pointer;
+                            for (int i = 0; i < positions.Length; i++)
                             {
-                                var array = (vec3*)buffer.Header.ToPointer();
-                                for (int i = 0; i < positions.Length; i++)
-                                {
-                                    array[i] = new vec3(positions[i].x, positions[i].y, 0);
-                                }
+                                array[i] = new vec3(positions[i].x, positions[i].y, 0);
                             }
+                            bufferPtr.UnmapBuffer();
+                        }

-                            positionBufferPtr = buffer.GetBufferPtr();
-                        }
+                        this.positionBufferPtr = bufferPtr;
                     }

-                    return positionBufferPtr;
+                    return this.positionBufferPtr;
                 }
                 else if (bufferName == strTexCoord)
                 {
-                    if (texCoordBufferPtr == null)
+                    if (this.texCoordBufferPtr == null)
                     {
-                        using (var buffer = new VertexAttributeBuffer<vec2>(
-                            varNameInShader, VertexAttributeConfig.Vec2, BufferUsage.StaticDraw))
+                        int length = texCoords.Length;
+                        VertexAttributeBufferPtr bufferPtr = VertexAttributeBufferPtr.Create(typeof(vec2), length, VertexAttributeConfig.Vec2, BufferUsage.StaticDraw, varNameInShader);
+                        unsafe
                         {
-                            buffer.Alloc(texCoords.Length);
-                            unsafe
+                            IntPtr pointer = bufferPtr.MapBuffer(MapBufferAccess.WriteOnly);
+                            var array = (vec2*)pointer;
+                            for (int i = 0; i < texCoords.Length; i++)
                             {
-                                var array = (vec2*)buffer.Header.ToPointer();
-                                for (int i = 0; i < texCoords.Length; i++)
-                                {
-                                    array[i] = texCoords[i];
-                                }
+                                array[i] = texCoords[i];
                             }
+                            bufferPtr.UnmapBuffer();
+                        }

-                            texCoordBufferPtr = buffer.GetBufferPtr();
-                        }
+                        this.texCoordBufferPtr = bufferPtr;
                     }

-                    return texCoordBufferPtr;
+                    return this.texCoordBufferPtr;
                 }
                 else
                 {
@@ -137,15 +135,13 @@

             public IndexBufferPtr GetIndexBufferPtr()
             {
-                if (indexBufferPtr == null)
+                if (this.indexBufferPtr == null)
                 {
-                    using (var buffer = new ZeroIndexBuffer(DrawMode.TriangleStrip, 0, 4))
-                    {
-                        indexBufferPtr = buffer.GetBufferPtr();
-                    }
+                    ZeroIndexBufferPtr bufferPtr = ZeroIndexBufferPtr.Create(DrawMode.TriangleStrip, 0, 4);
+                    this.indexBufferPtr = bufferPtr;
                 }

-                return indexBufferPtr;
+                return this.indexBufferPtr;
             }

             /// <summary>


Fixed bug in data context type assigning

The bug is that DotvvmMarkupControl has the context of the parent view, only it's content should get the "inner context".
Previous change that changed inheritance of ResolvedTreeRoot to ResolvedControl broke how it was working before

--- src/DotVVM.Framework/Compilation/DataContextPropertyAssigningVisitor.cs
+++ src/DotVVM.Framework/Compilation/DataContextPropertyAssigningVisitor.cs
@@ -14,7 +14,7 @@
     {
         public override void VisitControl(ResolvedControl control)
         {
-            if (control.DataContextTypeStack != control.Parent?.As<ResolvedControl>()?.DataContextTypeStack)
+            if (control.DataContextTypeStack != control.Parent?.As<ResolvedControl>()?.DataContextTypeStack || control.Parent is ResolvedTreeRoot)
             {
                 control.SetProperty(new ResolvedPropertyValue(Internal.DataContextTypeProperty, control.DataContextTypeStack));
             }


Fix test.

Fix test.

--- src/EditorFeatures/CSharpTest/Diagnostics/SpellCheck/SpellCheckTests.cs
+++ src/EditorFeatures/CSharpTest/Diagnostics/SpellCheck/SpellCheckTests.cs
@@ -420,12 +420,12 @@
             await TestAsync(text, expected);
         }

-        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddImport)]
+        [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsSpellcheck)]
         public async Task TestTestObjectConstruction()
         {
             await TestAsync(
 "class AwesomeClass { void M() { var foo = new [|AwesomeClas()|]; } }",
-"class AwesomeClass { void M() { var foo = new AwesomeClass() } }");
+"class AwesomeClass { void M() { var foo = new AwesomeClass(); } }");
         }

         [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsSpellcheck)]


Don't assume a document has SyntaxFactsService

If it doesn't, just use case sensitive matching

--- src/Features/Core/Portable/Completion/CompletionHelperServiceFactory.cs
+++ src/Features/Core/Portable/Completion/CompletionHelperServiceFactory.cs
@@ -43,7 +43,9 @@
                     }

                     var syntaxFacts = document.GetLanguageService<ISyntaxFactsService>();
-                    return syntaxFacts.IsCaseSensitive
+                    var caseSensitive = syntaxFacts?.IsCaseSensitive ?? true;
+
+                    return caseSensitive
                         ? this._caseSensitiveInstance
                         : this._caseInsensitiveInstance;
                 }


Removed redundant check on resend message module

--- src/Lime.Protocol/Network/Modules/Resend/ResendMessagesChannelModule.cs
+++ src/Lime.Protocol/Network/Modules/Resend/ResendMessagesChannelModule.cs
@@ -224,8 +224,6 @@
                     {
                         await _resendExceptionHandler(ex, _channel, null);
                     }
-
-                    if (_channel.State != SessionState.Established || !_channel.Transport.IsConnected) break;
                 }
             }
         }


Lucene.Net.Core.Codecs.Compressing.CompressingStoredFieldsWriter refactor: renamed private/internal fields camelCase

--- src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
+++ src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
@@ -53,57 +53,57 @@
         internal const int VERSION_CHECKSUM = 2;
         internal const int VERSION_CURRENT = VERSION_CHECKSUM;

-        private readonly Directory Directory;
-        private readonly string Segment;
-        private readonly string SegmentSuffix;
-        private CompressingStoredFieldsIndexWriter IndexWriter;
-        private IndexOutput FieldsStream;
-
-        private readonly CompressionMode CompressionMode;
-        private readonly Compressor Compressor;
-        private readonly int ChunkSize;
-
-        private readonly GrowableByteArrayDataOutput BufferedDocs;
-        private int[] NumStoredFields; // number of stored fields
-        private int[] EndOffsets; // end offsets in bufferedDocs
-        private int DocBase; // doc ID at the beginning of the chunk
-        private int NumBufferedDocs; // docBase + numBufferedDocs == current doc ID
+        private readonly Directory directory;
+        private readonly string segment;
+        private readonly string segmentSuffix;
+        private CompressingStoredFieldsIndexWriter indexWriter;
+        private IndexOutput fieldsStream;
+
+        private readonly CompressionMode compressionMode;
+        private readonly Compressor compressor;
+        private readonly int chunkSize;
+
+        private readonly GrowableByteArrayDataOutput bufferedDocs;
+        private int[] numStoredFields; // number of stored fields
+        private int[] endOffsets; // end offsets in bufferedDocs
+        private int docBase; // doc ID at the beginning of the chunk
+        private int numBufferedDocs; // docBase + numBufferedDocs == current doc ID

         /// <summary>
         /// Sole constructor. </summary>
         public CompressingStoredFieldsWriter(Directory directory, SegmentInfo si, string segmentSuffix, IOContext context, string formatName, CompressionMode compressionMode, int chunkSize)
         {
             Debug.Assert(directory != null);
-            this.Directory = directory;
-            this.Segment = si.Name;
-            this.SegmentSuffix = segmentSuffix;
-            this.CompressionMode = compressionMode;
-            this.Compressor = compressionMode.NewCompressor();
-            this.ChunkSize = chunkSize;
-            this.DocBase = 0;
-            this.BufferedDocs = new GrowableByteArrayDataOutput(chunkSize);
-            this.NumStoredFields = new int[16];
-            this.EndOffsets = new int[16];
-            this.NumBufferedDocs = 0;
+            this.directory = directory;
+            this.segment = si.Name;
+            this.segmentSuffix = segmentSuffix;
+            this.compressionMode = compressionMode;
+            this.compressor = compressionMode.NewCompressor();
+            this.chunkSize = chunkSize;
+            this.docBase = 0;
+            this.bufferedDocs = new GrowableByteArrayDataOutput(chunkSize);
+            this.numStoredFields = new int[16];
+            this.endOffsets = new int[16];
+            this.numBufferedDocs = 0;

             bool success = false;
-            IndexOutput indexStream = directory.CreateOutput(IndexFileNames.SegmentFileName(Segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_INDEX_EXTENSION), context);
+            IndexOutput indexStream = directory.CreateOutput(IndexFileNames.SegmentFileName(segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_INDEX_EXTENSION), context);
             try
             {
-                FieldsStream = directory.CreateOutput(IndexFileNames.SegmentFileName(Segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_EXTENSION), context);
+                fieldsStream = directory.CreateOutput(IndexFileNames.SegmentFileName(segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_EXTENSION), context);

                 string codecNameIdx = formatName + CODEC_SFX_IDX;
                 string codecNameDat = formatName + CODEC_SFX_DAT;
                 CodecUtil.WriteHeader(indexStream, codecNameIdx, VERSION_CURRENT);
-                CodecUtil.WriteHeader(FieldsStream, codecNameDat, VERSION_CURRENT);
-                Debug.Assert(CodecUtil.HeaderLength(codecNameDat) == FieldsStream.FilePointer);
+                CodecUtil.WriteHeader(fieldsStream, codecNameDat, VERSION_CURRENT);
+                Debug.Assert(CodecUtil.HeaderLength(codecNameDat) == fieldsStream.FilePointer);
                 Debug.Assert(CodecUtil.HeaderLength(codecNameIdx) == indexStream.FilePointer);

-                IndexWriter = new CompressingStoredFieldsIndexWriter(indexStream);
+                indexWriter = new CompressingStoredFieldsIndexWriter(indexStream);
                 indexStream = null;

-                FieldsStream.WriteVInt(chunkSize);
-                FieldsStream.WriteVInt(PackedInts.VERSION_CURRENT);
+                fieldsStream.WriteVInt(chunkSize);
+                fieldsStream.WriteVInt(PackedInts.VERSION_CURRENT);

                 success = true;
             }
@@ -123,38 +123,38 @@
             {
                 try
                 {
-                    IOUtils.Close(FieldsStream, IndexWriter);
+                    IOUtils.Close(fieldsStream, indexWriter);
                 }
                 finally
                 {
-                    FieldsStream = null;
-                    IndexWriter = null;
+                    fieldsStream = null;
+                    indexWriter = null;
                 }
             }
         }

         public override void StartDocument(int numStoredFields)
         {
-            if (NumBufferedDocs == this.NumStoredFields.Length)
-            {
-                int newLength = ArrayUtil.Oversize(NumBufferedDocs + 1, 4);
-                this.NumStoredFields = Arrays.CopyOf(this.NumStoredFields, newLength);
-                EndOffsets = Arrays.CopyOf(EndOffsets, newLength);
-            }
-            this.NumStoredFields[NumBufferedDocs] = numStoredFields;
-            ++NumBufferedDocs;
+            if (numBufferedDocs == this.numStoredFields.Length)
+            {
+                int newLength = ArrayUtil.Oversize(numBufferedDocs + 1, 4);
+                this.numStoredFields = Arrays.CopyOf(this.numStoredFields, newLength);
+                endOffsets = Arrays.CopyOf(endOffsets, newLength);
+            }
+            this.numStoredFields[numBufferedDocs] = numStoredFields;
+            ++numBufferedDocs;
         }

         public override void FinishDocument()
         {
-            EndOffsets[NumBufferedDocs - 1] = BufferedDocs.Length;
+            endOffsets[numBufferedDocs - 1] = bufferedDocs.Length;
             if (TriggerFlush())
             {
                 Flush();
             }
         }

-        private static void SaveInts(int[] values, int length, DataOutput @out)
+        private static void SaveInts(int[] values, int length, DataOutput @out) // LUCENENET TODO: Rename SaveInt32s ?
         {
             Debug.Assert(length > 0);
             if (length == 1)
@@ -199,52 +199,52 @@
         private void WriteHeader(int docBase, int numBufferedDocs, int[] numStoredFields, int[] lengths)
         {
             // save docBase and numBufferedDocs
-            FieldsStream.WriteVInt(docBase);
-            FieldsStream.WriteVInt(numBufferedDocs);
+            fieldsStream.WriteVInt(docBase);
+            fieldsStream.WriteVInt(numBufferedDocs);

             // save numStoredFields
-            SaveInts(numStoredFields, numBufferedDocs, FieldsStream);
+            SaveInts(numStoredFields, numBufferedDocs, fieldsStream);

             // save lengths
-            SaveInts(lengths, numBufferedDocs, FieldsStream);
+            SaveInts(lengths, numBufferedDocs, fieldsStream);
         }

         private bool TriggerFlush()
         {
-            return BufferedDocs.Length >= ChunkSize || NumBufferedDocs >= MAX_DOCUMENTS_PER_CHUNK; // chunks of at least chunkSize bytes
+            return bufferedDocs.Length >= chunkSize || numBufferedDocs >= MAX_DOCUMENTS_PER_CHUNK; // chunks of at least chunkSize bytes
         }

         private void Flush()
         {
-            IndexWriter.WriteIndex(NumBufferedDocs, FieldsStream.FilePointer);
+            indexWriter.WriteIndex(numBufferedDocs, fieldsStream.FilePointer);

             // transform end offsets into lengths
-            int[] lengths = EndOffsets;
-            for (int i = NumBufferedDocs - 1; i > 0; --i)
-            {
-                lengths[i] = EndOffsets[i] - EndOffsets[i - 1];
+            int[] lengths = endOffsets;
+            for (int i = numBufferedDocs - 1; i > 0; --i)
+            {
+                lengths[i] = endOffsets[i] - endOffsets[i - 1];
                 Debug.Assert(lengths[i] >= 0);
             }
-            WriteHeader(DocBase, NumBufferedDocs, NumStoredFields, lengths);
+            WriteHeader(docBase, numBufferedDocs, numStoredFields, lengths);

             // compress stored fields to fieldsStream
-            if (BufferedDocs.Length >= 2 * ChunkSize)
+            if (bufferedDocs.Length >= 2 * chunkSize)
             {
                 // big chunk, slice it
-                for (int compressed = 0; compressed < BufferedDocs.Length; compressed += ChunkSize)
-                {
-                    Compressor.Compress(BufferedDocs.Bytes, compressed, Math.Min(ChunkSize, BufferedDocs.Length - compressed), FieldsStream);
+                for (int compressed = 0; compressed < bufferedDocs.Length; compressed += chunkSize)
+                {
+                    compressor.Compress(bufferedDocs.Bytes, compressed, Math.Min(chunkSize, bufferedDocs.Length - compressed), fieldsStream);
                 }
             }
             else
             {
-                Compressor.Compress(BufferedDocs.Bytes, 0, BufferedDocs.Length, FieldsStream);
+                compressor.Compress(bufferedDocs.Bytes, 0, bufferedDocs.Length, fieldsStream);
             }

             // reset
-            DocBase += NumBufferedDocs;
-            NumBufferedDocs = 0;
-            BufferedDocs.Length = 0;
+            docBase += numBufferedDocs;
+            numBufferedDocs = 0;
+            bufferedDocs.Length = 0;
         }

         public override void WriteField(FieldInfo info, IIndexableField field)
@@ -333,16 +333,16 @@
             }

             long infoAndBits = (((long)info.Number) << TYPE_BITS) | bits;
-            BufferedDocs.WriteVLong(infoAndBits);
+            bufferedDocs.WriteVLong(infoAndBits);

             if (bytes != null)
             {
-                BufferedDocs.WriteVInt(bytes.Length);
-                BufferedDocs.WriteBytes(bytes.Bytes, bytes.Offset, bytes.Length);
+                bufferedDocs.WriteVInt(bytes.Length);
+                bufferedDocs.WriteBytes(bytes.Bytes, bytes.Offset, bytes.Length);
             }
             else if (@string != null)
             {
-                BufferedDocs.WriteString(field.GetStringValue());
+                bufferedDocs.WriteString(field.GetStringValue());
             }
             else
             {
@@ -381,19 +381,19 @@
                 {
                     if (number is sbyte || number is short || number is int)
                     {
-                        BufferedDocs.WriteInt((int)number);
+                        bufferedDocs.WriteInt((int)number);
                     }
                     else if (number is long)
                     {
-                        BufferedDocs.WriteLong((long)number);
+                        bufferedDocs.WriteLong((long)number);
                     }
                     else if (number is float)
                     {
-                        BufferedDocs.WriteInt(Number.FloatToIntBits((float)number));
+                        bufferedDocs.WriteInt(Number.FloatToIntBits((float)number));
                     }
                     else if (number is double)
                     {
-                        BufferedDocs.WriteLong(BitConverter.DoubleToInt64Bits((double)number));
+                        bufferedDocs.WriteLong(BitConverter.DoubleToInt64Bits((double)number));
                     }
                     else
                     {
@@ -406,26 +406,26 @@
         public override void Abort()
         {
             IOUtils.CloseWhileHandlingException(this);
-            IOUtils.DeleteFilesIgnoringExceptions(Directory, IndexFileNames.SegmentFileName(Segment, SegmentSuffix, Lucene40StoredFieldsWriter.FIELDS_EXTENSION), IndexFileNames.SegmentFileName(Segment, SegmentSuffix, Lucene40StoredFieldsWriter.FIELDS_INDEX_EXTENSION));
+            IOUtils.DeleteFilesIgnoringExceptions(directory, IndexFileNames.SegmentFileName(segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_EXTENSION), IndexFileNames.SegmentFileName(segment, segmentSuffix, Lucene40StoredFieldsWriter.FIELDS_INDEX_EXTENSION));
         }

         public override void Finish(FieldInfos fis, int numDocs)
         {
-            if (NumBufferedDocs > 0)
+            if (numBufferedDocs > 0)
             {
                 Flush();
             }
             else
             {
-                Debug.Assert(BufferedDocs.Length == 0);
-            }
-            if (DocBase != numDocs)
-            {
-                throw new Exception("Wrote " + DocBase + " docs, finish called with numDocs=" + numDocs);
-            }
-            IndexWriter.Finish(numDocs, FieldsStream.FilePointer);
-            CodecUtil.WriteFooter(FieldsStream);
-            Debug.Assert(BufferedDocs.Length == 0);
+                Debug.Assert(bufferedDocs.Length == 0);
+            }
+            if (docBase != numDocs)
+            {
+                throw new Exception("Wrote " + docBase + " docs, finish called with numDocs=" + numDocs);
+            }
+            indexWriter.Finish(numDocs, fieldsStream.FilePointer);
+            CodecUtil.WriteFooter(fieldsStream);
+            Debug.Assert(bufferedDocs.Length == 0);
         }

         public override int Merge(MergeState mergeState)
@@ -450,7 +450,7 @@
                 int maxDoc = reader.MaxDoc;
                 IBits liveDocs = reader.LiveDocs;

-                if (matchingFieldsReader == null || matchingFieldsReader.Version != VERSION_CURRENT || matchingFieldsReader.CompressionMode != CompressionMode || matchingFieldsReader.ChunkSize != ChunkSize) // the way data is decompressed depends on the chunk size -  means reader version is not the same as the writer version
+                if (matchingFieldsReader == null || matchingFieldsReader.Version != VERSION_CURRENT || matchingFieldsReader.CompressionMode != compressionMode || matchingFieldsReader.ChunkSize != chunkSize) // the way data is decompressed depends on the chunk size -  means reader version is not the same as the writer version
                 {
                     // naive merge...
                     for (int i = NextLiveDoc(0, liveDocs, maxDoc); i < maxDoc; i = NextLiveDoc(i + 1, liveDocs, maxDoc))
@@ -483,15 +483,15 @@
                                 startOffsets[i] = startOffsets[i - 1] + it.lengths[i - 1];
                             }

-                            if (NumBufferedDocs == 0 && startOffsets[it.chunkDocs - 1] < ChunkSize && startOffsets[it.chunkDocs - 1] + it.lengths[it.chunkDocs - 1] >= ChunkSize && NextDeletedDoc(it.docBase, liveDocs, it.docBase + it.chunkDocs) == it.docBase + it.chunkDocs) // no deletion in the chunk -  chunk is large enough -  chunk is small enough -  starting a new chunk
+                            if (numBufferedDocs == 0 && startOffsets[it.chunkDocs - 1] < chunkSize && startOffsets[it.chunkDocs - 1] + it.lengths[it.chunkDocs - 1] >= chunkSize && NextDeletedDoc(it.docBase, liveDocs, it.docBase + it.chunkDocs) == it.docBase + it.chunkDocs) // no deletion in the chunk -  chunk is large enough -  chunk is small enough -  starting a new chunk
                             {
                                 Debug.Assert(docID == it.docBase);

                                 // no need to decompress, just copy data
-                                IndexWriter.WriteIndex(it.chunkDocs, FieldsStream.FilePointer);
-                                WriteHeader(this.DocBase, it.chunkDocs, it.numStoredFields, it.lengths);
-                                it.CopyCompressedData(FieldsStream);
-                                this.DocBase += it.chunkDocs;
+                                indexWriter.WriteIndex(it.chunkDocs, fieldsStream.FilePointer);
+                                WriteHeader(this.docBase, it.chunkDocs, it.numStoredFields, it.lengths);
+                                it.CopyCompressedData(fieldsStream);
+                                this.docBase += it.chunkDocs;
                                 docID = NextLiveDoc(it.docBase + it.chunkDocs, liveDocs, maxDoc);
                                 docCount += it.chunkDocs;
                                 mergeState.CheckAbort.Work(300 * it.chunkDocs);
@@ -509,7 +509,7 @@
                                 {
                                     int diff = docID - it.docBase;
                                     StartDocument(it.numStoredFields[diff]);
-                                    BufferedDocs.WriteBytes(it.bytes.Bytes, it.bytes.Offset + startOffsets[diff], it.lengths[diff]);
+                                    bufferedDocs.WriteBytes(it.bytes.Bytes, it.bytes.Offset + startOffsets[diff], it.lengths[diff]);
                                     FinishDocument();
                                     ++docCount;
                                     mergeState.CheckAbort.Work(300);


Adding back middleware initialization with options instance

--- src/Microsoft.AspNet.WebSockets.Server/WebSocketMiddlewareExtensions.cs
+++ src/Microsoft.AspNet.WebSockets.Server/WebSocketMiddlewareExtensions.cs
@@ -8,21 +8,21 @@
 {
     public static class WebSocketMiddlewareExtensions
     {
-        public static IApplicationBuilder UseWebSockets(this IApplicationBuilder builder)
+        public static IApplicationBuilder UseWebSockets(this IApplicationBuilder app)
         {
-            if (builder == null)
+            if (app == null)
             {
-                throw new ArgumentNullException(nameof(builder));
+                throw new ArgumentNullException(nameof(app));
             }

-            return builder.UseWebSockets(options => { });
+            return app.UseWebSockets(options => { });
         }

-        public static IApplicationBuilder UseWebSockets(this IApplicationBuilder builder, Action<WebSocketOptions> configureOptions)
+        public static IApplicationBuilder UseWebSockets(this IApplicationBuilder app, Action<WebSocketOptions> configureOptions)
         {
-            if (builder == null)
+            if (app == null)
             {
-                throw new ArgumentNullException(nameof(builder));
+                throw new ArgumentNullException(nameof(app));
             }
             if (configureOptions == null)
             {
@@ -32,7 +32,21 @@
             var options = new WebSocketOptions();
             configureOptions(options);

-            return builder.Use(next => new WebSocketMiddleware(next, options).Invoke);
+            return app.UseMiddleware<WebSocketMiddleware>(options);
+        }
+
+        public static IApplicationBuilder UseWebSockets(this IApplicationBuilder app, WebSocketOptions options)
+        {
+            if (app == null)
+            {
+                throw new ArgumentNullException(nameof(app));
+            }
+            if (options == null)
+            {
+                throw new ArgumentNullException(nameof(options));
+            }
+
+            return app.UseMiddleware<WebSocketMiddleware>(options);
         }
     }
 }


change: TriggerListener2D collisions now filterable by tags

--- Assets/Scripts/NewBark/Physics/TriggerListener2D.cs
+++ Assets/Scripts/NewBark/Physics/TriggerListener2D.cs
@@ -1,26 +1,44 @@
+using System.Linq;
+using NewBark.Attributes;
 using UnityEngine;
 using UnityEngine.Events;

 namespace NewBark.Physics
 {
-    public class TriggerListener2D: MonoBehaviour
+    public class TriggerListener2D : MonoBehaviour
     {
+        [Tag] public string[] tagFilter;
         public UnityEvent onEnter;
         public UnityEvent onStay;
         public UnityEvent onExit;
-
+
         void OnTriggerEnter2D(Collider2D other)
         {
+            if (tagFilter.Length > 0 && !tagFilter.Any(other.tag.Equals))
+            {
+                return;
+            }
+
             onEnter.Invoke();
         }

         void OnTriggerStay2D(Collider2D other)
         {
+            if (tagFilter.Length > 0 && !tagFilter.Any(other.tag.Equals))
+            {
+                return;
+            }
+
             onStay.Invoke();
         }

         void OnTriggerExit2D(Collider2D other)
         {
+            if (tagFilter.Length > 0 && !tagFilter.Any(other.tag.Equals))
+            {
+                return;
+            }
+
             onExit.Invoke();
         }
     }