示例#1
0
        public override ResolveResult Resolve(CSharpResolver resolver)
        {
            ResolveResult lhs = left.Resolve(resolver);
            ResolveResult rhs = right.Resolve(resolver);

            return(resolver.ResolveBinaryOperator(operatorType, lhs, rhs));
        }
示例#2
0
 public override ResolveResult Resolve(CSharpResolver resolver)
 {
     return(resolver.ResolveConditional(
                condition.Resolve(resolver),
                trueExpr.Resolve(resolver),
                falseExpr.Resolve(resolver)
                ));
 }
示例#3
0
        public override ResolveResult Resolve(CSharpResolver resolver)
        {
            ResolveResult rr;

            if (targetType != null)
            {
                rr = new TypeResolveResult(targetType.Resolve(resolver.CurrentTypeResolveContext));
            }
            else
            {
                rr = targetExpression.Resolve(resolver);
            }
            return(resolver.ResolveMemberAccess(rr, memberName, typeArguments.Resolve(resolver.CurrentTypeResolveContext)));
        }
示例#4
0
 public override ResolveResult Resolve(CSharpResolver resolver)
 {
     return(resolver.ResolveUnaryOperator(operatorType, expression.Resolve(resolver)));
 }
示例#5
0
 public override ResolveResult Resolve(CSharpResolver resolver)
 {
     return(expression.Resolve(resolver.WithCheckForOverflow(checkForOverflow)));
 }
示例#6
0
 public override ResolveResult Resolve(CSharpResolver resolver)
 {
     return(resolver.ResolveCast(targetType.Resolve(resolver.CurrentTypeResolveContext), expression.Resolve(resolver)));
 }