public override void InAArrayTempType(AArrayTempType node) { if (node.GetIntDim() == null && !Util.HasAncestor<ANewExp>(node)) { node = node; /*bool valid = true; int val = FoldInt(node.GetDimention(), ref valid); if (!valid) { errors.Add(new ErrorCollection.Error(node.GetToken(), "The dimension must be a constant expression.")); throw new ParserException(null, null); } node.SetIntDim(new TIntegerLiteral(val.ToString()));*/ } base.InAArrayTempType(node); }
public override void CaseAArrayTempType(AArrayTempType node) { InAArrayTempType(node); if (node.GetIntDim() != null) { node.GetIntDim().Apply(this); } if (node.GetDimention() != null) { node.GetDimention().Apply(this); } if (node.GetType() != null) { node.GetType().Apply(this); } if (node.GetToken() != null) { node.GetToken().Apply(this); } OutAArrayTempType(node); }
public override void CaseAArrayTempType(AArrayTempType node) { node.GetType().Apply(this); Write("[" + node.GetIntDim().Text + "]"); }