Ejemplo n.º 1
0
        public LiteralArrayGet(Token startToken, Token endToken, List <Expression> elements)
        {
            startToken.AssertKeySymbol(Symbols.OpenSquareBracket);
            endToken.AssertKeySymbol(Symbols.CloseSquareBracket);

            StartToken = startToken;
            EndToken   = endToken;
            Elements   = elements;

            startToken.ExpressionHint = this;
            endToken.ExpressionHint   = this;
        }
Ejemplo n.º 2
0
        public Indexer(Expression source, Token opener, Expression index, Token closer)
        {
            opener.AssertKeySymbol(Symbols.OpenSquareBracket);
            closer.AssertKeySymbol(Symbols.CloseSquareBracket);

            SourceExpression = source;
            OpeningBracket   = opener;
            IndexExpression  = index;
            ClosingBracket   = closer;

            opener.ExpressionHint = this;
            closer.ExpressionHint = this;
        }
Ejemplo n.º 3
0
        public FunctionCall(Token nameToken, Token openingToken, Token endToken, List <Expression> arguments)
        {
            nameToken.AssertName();
            endToken.AssertKeySymbol(Symbols.CloseBracket);

            NameToken           = nameToken;
            OpeningBracketToken = openingToken;
            ClosingBracketToken = endToken;

            Arguments = arguments;

            NameToken.Hints |= TokenHints.Function;

            nameToken.ExpressionHint    = this;
            openingToken.ExpressionHint = this;
            endToken.ExpressionHint     = this;
        }
Ejemplo n.º 4
0
        public FunctionHeader(Token typeToken, Token nameToken, Token openToken, Token endToken,
                              FunctionSignature signature, IReadOnlyList <string> parameterNames)
        {
            nameToken.AssertName();
            endToken.AssertKeySymbol(Symbols.CloseBracket);
            ReturnType = typeToken.AssertType();

            TypeToken      = typeToken;
            NameToken      = nameToken;
            ClosingBracket = endToken;

            Signature      = signature;
            ParameterNames = parameterNames;

            NameToken.Hints |= TokenHints.Function;

            typeToken.ExpressionHint = this;
            nameToken.ExpressionHint = this;
            endToken.ExpressionHint  = this;
        }
Ejemplo n.º 5
0
 public void AssertKeySymbol(char symbol, out Token token)
 {
     Assert(out token);
     token.AssertKeySymbol(symbol);
 }