示例#1
0
        protected virtual void EmitExpressionList(IEnumerable <TypeParamExpression> expressions)
        {
            bool needComma = false;

            foreach (var expr in expressions)
            {
                if (isIgnoreInherited_ && expr.Inherited)
                {
                    continue;
                }

                this.Emitter.Translator.EmitNode = expr.AstType;
                if (needComma)
                {
                    this.WriteComma();
                }

                needComma = true;

                if (expr.AstType != null)
                {
                    this.Write(BridgeTypes.ToNameIgnoreEnum(expr.AstType, this.Emitter));
                }
                else if (expr.IType != null)
                {
                    this.Write(BridgeTypes.ToNameIgnoreEnum(expr.IType, this.Emitter));
                }
                else
                {
                    throw new EmitterException(this.PreviousNode, "There is no type information");
                }
            }
        }