Exemple #1
0
        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();
            }
        }
Exemple #2
0
 public override void EnterExpBracket([NotNull] SBP.ExpBracketContext context)
 {
     m_expressionData.PushStackLevel("ExpressionBracket");
 }