Recognize object creation syntax when inferring types

This commit is contained in:
Joshua "Yoshi" Askharoun
2025-11-24 02:31:23 -06:00
parent ef2de0a2d1
commit e0d3771a63
2 changed files with 8 additions and 3 deletions
+5
View File
@@ -132,6 +132,11 @@ internal record IrisObject(object Object, TypeSchema Type)
_ => throw new System.NotImplementedException(),
};
}
else if (expr is ObjectCreationExpressionSyntax newExpr)
{
var typeName = QualifiedTypeName.Parse(newExpr.Type.ToString());
return ctx.GetImportedType(typeName);
}
return null;
}
+3 -3
View File
@@ -352,7 +352,7 @@ if (#ContextMenu.IsOpening #)
Play.Available = selectedOne;
zuneUI:PlaybackTrack track = (zuneUI:PlaybackTrack)SelectionManager.SelectedItem;
object selectedOneLibraryItem = selectedOne && track is zuneUI:LibraryPlaybackTrack;
object selectedOneLibraryTrack = new bool ();
bool selectedOneLibraryTrack = new bool ();
bool isInCollection = false;
bool isInHiddenCollection = false;
if (selectedOneLibraryItem)
@@ -510,7 +510,7 @@ if (attachment != null)
[DeclareTrigger(AddToFavorites.Invoked)]
if (PlayingMusic)
{
object favorites = new List();
List favorites = new List();
foreach (zuneUI:PlaybackTrack track in SelectionManager.SelectedItems)
{
if (!zuneUI:GuidHelper.IsEmpty(track.ZuneMediaId))
@@ -1191,7 +1191,7 @@ if (#SingleTrackQuery.Status # == iris:DataProviderQueryStatus.Complete)
if (track != null && track.CanDownload)
{
track.ReferrerContext = Model.ServiceContext;
object downloadItems = new collections:ArrayList(1);
collections:ArrayList downloadItems = new collections:ArrayList(1);
downloadItems.Add(track);
zuneUI:Download.Instance.DownloadContent(downloadItems, service:EDownloadFlags.Subscription);
RowModel.ForceNonMarketplace = true;