public override object VisitExpressionReference(ShapPangParser.ExpressionReferenceContext context) { IValue val = CurrentScenario.ResolveReference(context.ID().GetText(), ParsingContext.ElementScope.ElementName); string temp = val.GetType().ToString(); switch (val.GetType().ToString()) { case "ShapPang.Classes.Given": Given giv = (Given)val; if (giv.Description == null) { CurrentScenario.CurrentlyBuildingExplanation += " the given " + giv.Key + " (" + giv.Value.ToString() + ")"; } else { CurrentScenario.CurrentlyBuildingExplanation += giv.Description; } break; case "ShapPang.Classes.Derivative": Derivative div = (Derivative)val; CurrentScenario.CurrentlyBuildingExplanation += " the derivation of " + div.Name + " ("; if (div.Calculated == false) { div.CalculateDerivative(); } CurrentScenario.CurrentlyBuildingExplanation += " which equals " + div.Value.ToString() + ")"; break; } return(val.Value); }
public override object VisitExpressionReference(ShapPangParser.ExpressionReferenceContext context) { return(base.VisitExpressionReference(context)); }