public override void CaseAArrayResizeExp(AArrayResizeExp node)
 {
     InAArrayResizeExp(node);
     if (node.GetArg() != null)
     {
         node.GetArg().Apply(this);
     }
     if (node.GetBase() != null)
     {
         node.GetBase().Apply(this);
     }
     if (node.GetToken() != null)
     {
         node.GetToken().Apply(this);
     }
     OutAArrayResizeExp(node);
 }
 public override void CaseAArrayResizeExp(AArrayResizeExp node)
 {
     PType baseType = ((ADynamicArrayType)data.ExpTypes[node.GetBase()]).GetType();
     node.GetBase().Apply(this);
     AMethodDecl method = CreateResizeArrayMethod(node, baseType, data);
     ASimpleInvokeExp invoke = new ASimpleInvokeExp(new TIdentifier(method.GetName().Text), new ArrayList(){node.GetArg(), nameExp});
     node.ReplaceBy(invoke);
     data.ExpTypes[invoke] = new AVoidType(new TVoid("void"));
     data.SimpleMethodLinks[invoke] = method;
     nameExp = null;
     hadPointer = false;
     invoke.Apply(this);
 }