Boo.Lang.Compiler.Steps.MergePartialTypes.OnCandidatePartialDefinition C# (CSharp) Метод

OnCandidatePartialDefinition() приватный Метод

private OnCandidatePartialDefinition ( Boo.Lang.Compiler.Ast.TypeDefinition node ) : void
node Boo.Lang.Compiler.Ast.TypeDefinition
Результат void
        private void OnCandidatePartialDefinition(TypeDefinition node)
        {
            if (!node.IsPartial)
                return;

            var typeName = node.FullName;

            TypeDefinition originalDefinition;
            if (_partials.TryGetValue(typeName, out originalDefinition))
            {
                if (node == originalDefinition) // MergePartialTypes can be executed more than once
                    return;

                if (originalDefinition.NodeType != node.NodeType)
                {
                    Errors.Add(CompilerErrorFactory.IncompatiblePartialDefinition(node, typeName, AstUtil.TypeKeywordFor(originalDefinition), AstUtil.TypeKeywordFor(node)));
                    return;
                }

                MergeImports(node, originalDefinition);
                originalDefinition.Merge(node);
                RemoveCurrentNode();
            }
            else
                _partials[typeName] = node;
        }