예제 #1
0
 void ILSLSyntaxErrorListener.TupleComponentAccessOnLibraryConstant(LSLSourceCodeRange location,
                                                                    ILSLVariableNode libraryConstantReferenceNode,
                                                                    ILSLConstantSignature libraryConstantSignature, string accessedMember)
 {
     _errorActionQueue.Enqueue(location.StartIndex,
                               () =>
                               SyntaxErrorListener.TupleComponentAccessOnLibraryConstant(location, libraryConstantReferenceNode,
                                                                                         libraryConstantSignature, accessedMember));
 }
예제 #2
0
        /// <summary>
        ///     Create an <see cref="LSLVariableNode" /> by cloning from another.
        /// </summary>
        /// <param name="other">The other node to clone from.</param>
        /// <exception cref="ArgumentNullException"><paramref name="other" /> is <c>null</c>.</exception>
        private LSLVariableNode(ILSLVariableNode other)
        {
            if (other == null)
            {
                throw new ArgumentNullException("other");
            }


            SourceRange = other.SourceRange;

            Name = other.Name;
            Type = other.Type;

            TypeName   = other.TypeName;
            IsConstant = other.IsConstant;

            ExpressionType = other.ExpressionType;
            Declaration    = other.Declaration;

            HasErrors = other.HasErrors;
        }
예제 #3
0
 /// <summary>
 ///     Visits a variable node representing a reference to a library defined constant during a syntax tree traversal.
 /// </summary>
 /// <param name="node">The Syntax Tree Node.</param>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitVariableReference">
 ///     VisitLibraryConstantVariableReference makes a call to
 ///     the method seen here.
 /// </seealso>
 /// <returns>An object of type (T) from the visitor implementation of this function.</returns>
 public virtual T VisitLibraryConstantVariableReference(ILSLVariableNode node)
 {
     return(VisitVariableReference(node));
 }
예제 #4
0
 /// <summary>
 ///     Visits a variable node representing a reference to a locally defined function or event handler parameter during a
 ///     syntax tree traversal.
 /// </summary>
 /// <param name="node">The Syntax Tree Node.</param>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitVariableReference">
 ///     VisitParameterVariableReference makes a call to the
 ///     method seen here.
 /// </seealso>
 /// <returns>An object of type (T) from the visitor implementation of this function.</returns>
 public virtual T VisitParameterVariableReference(ILSLVariableNode node)
 {
     return(VisitVariableReference(node));
 }
예제 #5
0
 /// <summary>
 ///     Visits a variable node representing a reference to a local variable during a syntax tree traversal.
 /// </summary>
 /// <param name="node">The Syntax Tree Node.</param>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitVariableReference">
 ///     VisitLocalVariableReference makes a call to the
 ///     method seen here.
 /// </seealso>
 /// <returns>An object of type (T) from the visitor implementation of this function.</returns>
 public virtual T VisitLocalVariableReference(ILSLVariableNode node)
 {
     return(VisitVariableReference(node));
 }
예제 #6
0
 /// <summary>
 ///     Visits a variable reference node during syntax tree traversal.
 ///     This occurs for: parameters, local/global variables and library constants.
 /// </summary>
 /// <param name="node">The Syntax Tree Node.</param>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitLocalVariableReference">VisitLocalVariableReference calls this method.</seealso>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitGlobalVariableReference">VisitGlobalVariableReference calls this method.</seealso>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitLibraryConstantVariableReference">
 ///     VisitLibraryConstantVariableReference
 ///     calls this method.
 /// </seealso>
 /// <seealso cref="LSLValidatorNodeVisitor{T}.VisitParameterVariableReference">
 ///     VisitParameterVariableReference calls this
 ///     method.
 /// </seealso>
 /// <returns>An object of type (T) from the visitor implementation of this function.</returns>
 public virtual T VisitVariableReference(ILSLVariableNode node)
 {
     return(default(T));
 }