diff src/variables.cc @ 2963:c0c280cda856

[project @ 1997-05-12 03:25:07 by jwe]
author jwe
date Mon, 12 May 1997 03:29:38 +0000
parents c41e4dca98b9
children b9c107cbe388
line wrap: on
line diff
--- a/src/variables.cc	Mon May 12 03:21:56 1997 +0000
+++ b/src/variables.cc	Mon May 12 03:29:38 1997 +0000
@@ -339,11 +339,13 @@
       if (tmp->is_constant ())
 	vtmp = tmp->eval ();
 
+      // XXX FIXME XXX -- make this work for all types that can do
+      // structure reference operations.
       if (vtmp.is_map ())
 	{
 	  for (int i = 1; i < elts.length (); i++)
 	    {
-	      vtmp = vtmp.struct_elt_val (elts[i], true);
+	      vtmp = vtmp.do_struct_elt_index_op (elts[i], true);
 
 	      if (! vtmp.is_map ())
 		break;
@@ -384,11 +386,14 @@
       if (tmp->is_constant ())
 	vtmp = tmp->eval ();
 
+      // XXX FIXME XXX -- should this work for all types that can do
+      // structure reference operations?
+
       if (vtmp.is_map ())
 	{
 	  for (int i = 1; i < elts.length (); i++)
 	    {
-	      vtmp = vtmp.struct_elt_val (elts[i], true);
+	      vtmp = vtmp.do_struct_elt_index_op (elts[i], true);
 
 	      if (! vtmp.is_map ())
 		{