public override PropertyTreeMetaObject StartStep(PropertyTreeMetaObject target, PropertyTreeNavigator self, NodeList children) { foreach (var child in children.Rest()) { string msg; if (target.ComponentType.IsHiddenUX()) { msg = SR.BinderMissingPropertyNoType(child.QualifiedName); } else { msg = SR.BinderMissingProperty(child.QualifiedName, target.ComponentType); } try { var info = new InterfaceUsageInfo(InterfaceUsage.Missing, msg, null, true); Parent.Callback.OnPropertyAnnotation(child.QualifiedName.ToString(), info); } catch (Exception ex) { if (ex.IsCriticalException()) throw; throw PropertyTreesFailure.UnmatchedMembersGenericError(ex, child.FileLocation); } } return target; }
void _OnPropertyAnnotation(string property, InterfaceUsageInfo usageInfo) { if (usageInfo == null) throw new ArgumentNullException("usageInfo"); // $NON-NLS-1 switch (usageInfo.Usage) { case InterfaceUsage.Missing: throw PropertyTreesFailure.BinderMissingProperty(usageInfo); case InterfaceUsage.Obsolete: case InterfaceUsage.Preliminary: if (usageInfo.IsError) throw PropertyTreesFailure.BinderObsoleteProperty(usageInfo); break; } }
public void OnEventAnnotation(string @event, InterfaceUsageInfo usageInfo) { if (usageInfo.IsError) { switch (usageInfo.Usage) { case InterfaceUsage.Missing: throw RuntimeFailure.EventMissing(@event); case InterfaceUsage.Obsolete: throw RuntimeFailure.EventObsolete(@event, usageInfo.Message); case InterfaceUsage.Preliminary: throw RuntimeFailure.EventPreliminary(@event, usageInfo.Message); case InterfaceUsage.Unspecified: default: break; } } }
public static PropertyTreeException BinderObsoleteProperty(InterfaceUsageInfo usageInfo) { return Failure.Prepare(new PropertyTreeException(usageInfo.Message) { HelpLink = Convert.ToString(usageInfo.HelpUri), }); }
public void OnPropertyAnnotation(string property, InterfaceUsageInfo usageInfo) { }
public void OnEventAnnotation(string @event, InterfaceUsageInfo usageInfo) { }
public void OnPropertyAnnotation(string property, InterfaceUsageInfo usageInfo) { if (usageInfo.IsError) { switch (usageInfo.Usage) { case InterfaceUsage.Missing: throw RuntimeFailure.PropertyMissing(property); case InterfaceUsage.Obsolete: throw RuntimeFailure.PropertyObsolete(property, usageInfo.Message); case InterfaceUsage.Preliminary: throw RuntimeFailure.PropertyPreliminary(property, usageInfo.Message); case InterfaceUsage.Unspecified: default: break; } } }
public void OnEventAnnotation(string @event, InterfaceUsageInfo usageInfo) { _OnPropertyAnnotation(@event, usageInfo); }