private void ReduceIncompleteMembers(ref SyntaxListBuilder <MemberDeclarationSyntax> incompleteMembers, ref CompilationUnitBodyBuilder body, ref SyntaxListBuilder initialBadNodes) { for (int i = 0; i < incompleteMembers.Count; i++) { this.AddSkippedNamespaceText(ref body, ref initialBadNodes, incompleteMembers[i]); } incompleteMembers.Clear(); }
private static void AddIncompleteMembers(ref SyntaxListBuilder <MemberDeclarationSyntax> incompleteMembers, ref CompilationUnitBodyBuilder body) { if (incompleteMembers.Count > 0) { body.Members.AddRange(incompleteMembers); incompleteMembers.Clear(); } }
internal void Free(SyntaxListBuilder item) { item.Clear(); if (freeIndex >= freeList.Length) { this.Grow(); } #if DEBUG Debug.Assert(allocated.Contains(item)); allocated.Remove(item); #endif freeList[freeIndex].Value = item; freeIndex++; }
public void Clear() { _builder.Clear(); }
private SyntaxList <SyntaxToken> decodeXppMemberModifiers(int visibility, bool isStatic, IList <IToken> tokens = null) { SyntaxListBuilder modifiers = _pool.Allocate(); if (isStatic) { modifiers.Add(SyntaxFactory.MakeToken(SyntaxKind.StaticKeyword, "CLASS")); } else { modifiers.Add(DecodeVisibility(visibility)); } if (tokens != null) { foreach (var token in tokens) { SyntaxToken kw = null; switch (token.Type) { // Member Modifiers from XppMemberModifiers rule case XP.CLASS: kw = SyntaxFactory.MakeToken(SyntaxKind.StaticKeyword, token.Text); break; case XP.STATIC: // remove visibility modifiers // STATIC CLASS (Visibility only in the scope of the prg). // class becomes Internal and is added to the static globals class kw = SyntaxFactory.MakeToken(SyntaxKind.InternalKeyword, token.Text); var tmp = modifiers.ToList(); modifiers.Clear(); foreach (SyntaxToken mod in tmp) { // remove all existing visibility keywords switch (mod.Kind) { case SyntaxKind.ProtectedKeyword: case SyntaxKind.PublicKeyword: case SyntaxKind.PrivateKeyword: case SyntaxKind.InternalKeyword: break; default: modifiers.Add(mod); break; } } break; } if (kw != null) { modifiers.AddCheckUnique(kw); } } } var result = modifiers.ToList <SyntaxToken>(); _pool.Free(modifiers); return(result); }