// Token: 0x06006E2E RID: 28206 RVA: 0x001FB950 File Offset: 0x001F9B50
 private InternalBamlLocalizabilityResolver.ElementComments LookupCommentForElement(BamlStartElementNode node)
 {
     if (node.Uid == null)
     {
         return(new InternalBamlLocalizabilityResolver.ElementComments());
     }
     for (int i = 0; i < this._comments.Length; i++)
     {
         if (this._comments[i] != null && this._comments[i].ElementId == node.Uid)
         {
             return(this._comments[i]);
         }
     }
     InternalBamlLocalizabilityResolver.ElementComments elementComments = new InternalBamlLocalizabilityResolver.ElementComments();
     elementComments.ElementId = node.Uid;
     if (this._commentsDocument != null)
     {
         XmlElement xmlElement = InternalBamlLocalizabilityResolver.FindElementByID(this._commentsDocument, node.Uid);
         if (xmlElement != null)
         {
             string attribute = xmlElement.GetAttribute("Attributes");
             this.SetLocalizationAttributes(node, elementComments, attribute);
             attribute = xmlElement.GetAttribute("Comments");
             this.SetLocalizationComments(node, elementComments, attribute);
         }
     }
     if (node.Children != null)
     {
         int num = 0;
         while (num < node.Children.Count && (elementComments.LocalizationComments.Length == 0 || elementComments.LocalizationAttributes.Length == 0))
         {
             BamlTreeNode bamlTreeNode = node.Children[num];
             if (bamlTreeNode.NodeType == BamlNodeType.Property)
             {
                 BamlPropertyNode bamlPropertyNode = (BamlPropertyNode)bamlTreeNode;
                 if (LocComments.IsLocCommentsProperty(bamlPropertyNode.OwnerTypeFullName, bamlPropertyNode.PropertyName) && elementComments.LocalizationComments.Length == 0)
                 {
                     this.SetLocalizationComments(node, elementComments, bamlPropertyNode.Value);
                 }
                 else if (LocComments.IsLocLocalizabilityProperty(bamlPropertyNode.OwnerTypeFullName, bamlPropertyNode.PropertyName) && elementComments.LocalizationAttributes.Length == 0)
                 {
                     this.SetLocalizationAttributes(node, elementComments, bamlPropertyNode.Value);
                 }
             }
             num++;
         }
     }
     this._comments[this._commentsIndex] = elementComments;
     this._commentsIndex = (this._commentsIndex + 1) % this._comments.Length;
     return(elementComments);
 }
コード例 #2
0
        //----------------------------------
        // internal Constructor
        //----------------------------------

        /// <summary>
        /// BamlTreeMap.
        /// </summary>
        internal BamlTreeMap(
            BamlLocalizer localizer,
            BamlTree tree,
            BamlLocalizabilityResolver resolver,
            TextReader comments
            )
        {
            Debug.Assert(tree != null, "Baml Tree is empty");
            Debug.Assert(localizer != null, "BamlLocalizer is null");

            _tree = tree;

            // creates an internal resolver which willd delegate calls to client's resolver intelligently.
            _resolver = new InternalBamlLocalizabilityResolver(localizer, resolver, comments);

            // create a LocalizableResourceBuilder to build localizable resources
            _localizableResourceBuilder = new LocalizableResourceBuilder(_resolver);
        }
コード例 #3
0
        //----------------------------------
        // internal Constructor
        //----------------------------------

        /// <summary>
        /// BamlTreeMap.
        /// </summary>
        internal BamlTreeMap(
            BamlLocalizer               localizer,
            BamlTree                    tree, 
            BamlLocalizabilityResolver  resolver,
            TextReader                  comments
            )
        {
            Debug.Assert(tree!= null, "Baml Tree is empty");
            Debug.Assert(localizer!= null, "BamlLocalizer is null");            

            _tree = tree;
            
            // creates an internal resolver which willd delegate calls to client's resolver intelligently.
            _resolver = new InternalBamlLocalizabilityResolver(localizer, resolver, comments);

            // create a LocalizableResourceBuilder to build localizable resources
            _localizableResourceBuilder = new LocalizableResourceBuilder(_resolver);
        }        
コード例 #4
0
 internal LocalizableResourceBuilder(InternalBamlLocalizabilityResolver resolver)
 {   
     _resolver = resolver;
 }
コード例 #5
0
 internal LocalizableResourceBuilder(InternalBamlLocalizabilityResolver resolver)
 {
     _resolver = resolver;
 }