From 1341f245ac3dbbd1a9499b234da418ecce148fd2 Mon Sep 17 00:00:00 2001 From: Drahflow Date: Mon, 7 Jan 2013 15:39:52 +0100 Subject: " parent" is _not_ a key of a struct --- interpreter/ElymasGlobal.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interpreter/ElymasGlobal.pm b/interpreter/ElymasGlobal.pm index 34d86e3..3eb4698 100644 --- a/interpreter/ElymasGlobal.pm +++ b/interpreter/ElymasGlobal.pm @@ -205,6 +205,7 @@ our $global = { die "not a struct during member dereference in " . Dumper($struct) unless ref($struct->[1]) eq 'ARRAY' and $struct->[1]->[0] eq 'struct'; die Dumper($struct, $member) . "Cannot resolve requested member $member" unless exists $struct->[0]->{$member}; + die "Resolved member $member was incorrectly stored as something non-arrayish" unless ref($struct->[0]->{$member}) eq 'ARRAY'; push @$data, $struct->[0]->{$member}; execute($data, $scope) if($data->[-1]->[2] eq 'active'); @@ -399,7 +400,7 @@ our $global = { my $s = pop @$data or die "Stack underflow"; if(ref($s->[1]) eq 'ARRAY' and $s->[1]->[0] eq 'struct') { - my @keys = keys %{$s->[0]}; + my @keys = grep { /^[^ ]/ } keys %{$s->[0]}; push @$data, [[map { [$_, 'string'] } @keys], ['array', '[]', [['range', 0, $#keys]], ['string']]]; } else { -- cgit v1.2.3