public override void ExitExpBracket([NotNull] SBP.ExpBracketContext context) { var expressions = m_expressionData.PopStackLevel(); var indexingExpressions = new List <SBExpressionData>(); indexingExpressions.Add(expressions.Pop()); var source = this.ResolveIfIdentifier(expressions.Pop(), true); var sourceType = source.DataType; if (sourceType.Type.IsGenericType && sourceType.Type.GetGenericTypeDefinition() == typeof(List <>)) { m_expressionData.Push(this.CreateListIndexerExpression(source, indexingExpressions[0])); } else if (sourceType.Type.IsArray) { throw new NotImplementedException(); } else { throw new NotImplementedException(); } }
public override void EnterExpBracket([NotNull] SBP.ExpBracketContext context) { m_expressionData.PushStackLevel("ExpressionBracket"); }