Diff
Not logged in

Differences From Artifact [6fa9c2c94c01b274]:

To Artifact [3d0cc7f551924493]:


101 return prototype.has(i, lay); 101 return prototype.has(i, lay); 102 } 102 } 103 103 104 /// Return the value of index i at layer lay. Throws if it is not set 104 /// Return the value of index i at layer lay. Throws if it is not set 105 Value get(string i, Layer lay, LexPosition pos=null) 105 Value get(string i, Layer lay, LexPosition pos=null) 106 { 106 { 107 if( i in data ) { 107 if( i in data ) { 108 // [TODO] consider forwarding to proto also in this case < 109 if( lay !in data[i] ) 108 if( lay !in data[i] ) 110 throw genex!RuntimeException(pos, sprintf!"'%s' 109 throw genex!RuntimeException(pos, sprintf!"'%s' 111 return data[i][lay]; 110 return data[i][lay]; 112 } 111 } 113 if( prototype is null ) 112 if( prototype is null ) 114 throw genex!RuntimeException(pos, sprintf!"'%s' not foun 113 throw genex!RuntimeException(pos, sprintf!"'%s' not foun 115 return prototype.get(i, lay, pos); 114 return prototype.get(i, lay, pos);