public override PrimitiveType FindPrimitiveType() { if (TrueExpression != null && FalseExpression != null) { // if the primitive type of both true and false expressions is the same, then // we know the primitive type. Otherwise we do not. PrimitiveType trueType = TrueExpression.FindPrimitiveType(); if (trueType == FalseExpression.FindPrimitiveType()) { return(trueType); } } // nope -- they don't match, so we don't know return(PrimitiveType.Other); }