public MeScanner(XamlParserContext context, string text, int lineNumber, int linePosition) { this._context = context; this._inputText = text; this._lineNumber = lineNumber; this._startPosition = linePosition; this._idx = -1; this._state = StringState.Value; }
internal XamlScanner(XamlParserContext context, XmlReader xmlReader, XamlXmlReaderSettings settings) { this._xmlReader = xmlReader; this._xmlLineInfo = settings.ProvideLineInfo ? (xmlReader as IXmlLineInfo) : null; this._parserContext = context; this._scannerStack = new XamlScannerStack(); this._readNodesQueue = new Queue<XamlScannerNode>(); this._settings = settings; if (settings.XmlSpacePreserve) { this._scannerStack.CurrentXmlSpacePreserve = true; } }
private XamlMember GetXamlAttributeProperty(XamlParserContext context, XamlPropertyName propName, XamlType tagType, string tagNamespace, bool tagIsRoot) { string attributeNamespace = context.GetAttributeNamespace(propName, tagNamespace); if (attributeNamespace == null) { if (propName.IsDotted) { return new XamlMember(propName.Name, new XamlType(string.Empty, propName.OwnerName, null, context.SchemaContext), true); } return new XamlMember(propName.Name, tagType, false); } if (propName.IsDotted) { return context.GetDottedProperty(tagType, tagNamespace, propName, tagIsRoot); } return context.GetNoDotAttributeProperty(tagType, propName, tagNamespace, attributeNamespace, tagIsRoot); }
public void Initialize(XamlParserContext context, XamlType tagType, string ownerNamespace, bool tagIsRoot) { if (this.Kind != ScannerAttributeKind.Namespace) { this.Property = this.GetXamlAttributeProperty(context, this.Name, tagType, ownerNamespace, tagIsRoot); if (this.Property.IsUnknown) { this.Kind = ScannerAttributeKind.Unknown; } else if (this.Property.IsEvent) { this.Kind = ScannerAttributeKind.Event; } else if (this.Property.IsDirective) { if (this.Property == XamlLanguage.Space) { this.Kind = ScannerAttributeKind.XmlSpace; } else if (((this.Property == XamlLanguage.FactoryMethod) || (this.Property == XamlLanguage.Arguments)) || ((this.Property == XamlLanguage.TypeArguments) || (this.Property == XamlLanguage.Base))) { this.Kind = ScannerAttributeKind.CtorDirective; } else { this.Kind = ScannerAttributeKind.Directive; } } else if (this.Property.IsAttachable) { this.Kind = ScannerAttributeKind.AttachableProperty; } else if (this.Property == tagType.GetAliasedProperty(XamlLanguage.Name)) { this.Kind = ScannerAttributeKind.Name; } else { this.Kind = ScannerAttributeKind.Property; } } }
public MePullParser(XamlParserContext stack) { this._context = stack; }