示例#1
0
文件: TypeVisitor.cs 项目: Ryuuke/Ryu
        public override void Visit(OperatorAST op)
        {
            op.Lhs.Accept(this);

            var lhsType = _stateInfo.currentType;

            op.Rhs.Accept(this);

            var rhsType = _stateInfo.currentType;

            if (IsLogicalOperator(op.OperatorString))
            {
                _stateInfo.currentType = new TypeAST {
                    TypeName = Enum.GetName(typeof(Keyword), Keyword.BOOL).ToLower()
                };
                return;
            }

            _stateInfo.currentType = new TypeAST {
                TypeName = GetTypeOf(lhsType, rhsType)
            };
        }
示例#2
0
 public override void Visit(OperatorAST op)
 {
 }
示例#3
0
 public virtual void Visit(OperatorAST op)
 {
 }