C# (CSharp) LibLSLCC.CodeValidator Namespace

Classes

Name Description
ILSLCodeValidatorStrategiesExtensions Extensions for ILSLCodeValidatorStrategies
LSLAntlrTreeTools
LSLBinaryOperationSignature Represents the signature of a binary operation. Includes the types on either side of the expression, and the operation type.
LSLBinaryOperationTypeTools LSLBinaryOperationType extensions for parsing LSLBinaryOperationType's from strings. As well as converting them into strings. This class also contains some methods for group classifications of LSLBinaryOperationType. Such as IsModifyAssign();
LSLCodeSegment Code segments are used to describe a sequential set of code statement nodes that exist in the same scope.
LSLCodeValidator LSLCodeValidator is responsible for building an abstracted LSL syntax tree with ILSLCompilationUnitNode as the top node.

LSLCodeValidator preforms full front end syntax checking of the source code as the tree is built. It delegates syntax errors and syntax warning invocations/information to the ILSLCodeValidatorStrategies.SyntaxErrorListener and ILSLCodeValidatorStrategies.SyntaxWarningListener instances of the ILSLCodeValidatorStrategies object assigned to the ValidatorStrategies property.

LSLCodeValidatorInternalException
LSLCodeValidatorStrategies A basic ILSLCodeValidatorStrategies implementation that allows you to assign values to its properties. Default() will return a copy of this object with all the default strategy implementations assigned.
LSLCodeValidatorVisitor.AssignmentExpressionContext Represents a generic assignment expression operation. Similar use to the struct above, except for assignment and modifying assignment operators.
LSLCodeValidatorVisitor.BinaryExpressionContext Represents a generic binary expression operation. I made alternative grammar label names for each different type of expression operation so that I could differentiate between postfix, casts etc.. unfortunately each type of binary operation must be named uniquely or ANTLR will complain, so the different binary expression visitor functions build this object and pass it to VisitBinaryExpression. All binary expression contexts have the same properties, but they cannot be made to derive from one type as ANTLR generates them and it does not have a feature to allow it
LSLCodeValidatorVisitorScopeTracker
LSLConstantJumpDescription Represents a statement that causes a jump to happen in a constant manner. As in: There is no condition under which a jump to a single known label will not occur.
LSLConstantSignature Represents the basic signature of an LSL constant.
LSLCreateSignatureNodeExtensions Extensions for creating LSL signature primitives from related syntax tree nodes.
LSLDeadCodeSegment A code segment type for housing a range of statement nodes that are considered to be dead. a LSLDeadCodeType enum property is provided to describe what caused the code to be dead
LSLDefaultExpressionValidator The default expression validator can validate and return results for all possible binary operations, unary operations etc.. in standard LSL validations for expression types in lists/vectors/rotations and function call parameters match that of standard LSL
LSLDefaultStringPreProcessor The default implementation of ILSLStringPreProcessor for the library
LSLDefaultSyntaxErrorListener The default implementation of ILSLSyntaxErrorListener for the library. It writes error information to standard out or an arbitrary stream.
LSLDefaultSyntaxWarningListener The default library implementation of ILSLSyntaxWarningListener that can write warning information to an arbitrary output stream. The default stream is standard out.
LSLEventSignature Represents a basic event handler call signature.
LSLEventSignatureRegex Regex tools for parsing LSLEventSignature objects from strings.
LSLExprNodeExtensions Various extensions for dealing with syntax tree node interfaces.
LSLFunctionSignature Represents a basic LSL function signature.
LSLFunctionSignatureRegex Regex tools for parsing LSLFunctionSignature objects from strings.
LSLInvalidConstantTypeException
LSLInvalidConstantValueStringException
LSLInvalidSymbolNameException
LSLLiteralNodeExtensions Extensions for LSL literal nodes.
LSLParameterSignature Represents a basic parameter that belongs to either an event handler or function signature.
LSLParsedEventHandlerSignature Represents and event handler signature parsed from source code. This object derives from LSLEventSignature and adds an LSLParameterListNode property that contains a parameter list node from the syntax tree.
LSLPostfixOperationTypeTools LSLPostfixOperationType extensions for converting LSLPostfixOperationType from source code string representation and back.
LSLPreDefinedFunctionSignature Represents a function signature that was parsed during the pre-pass that occurs during code validation.
LSLPrefixOperationTypeTools LSLPrefixOperationType extensions for converting LSLPrefixOperationType from source code string representation and back.
LSLRotationComponentTools Extensions for LSLRotationComponent. Used to convert the component enum into a name, or parse it from a string.
LSLStatementNodeTools
LSLStringCharacterError Represents a character error for the ILSLStringPreProcessor type.
LSLSyntaxListenerPriorityQueue A proxy object for ILSLSyntaxErrorListener and ILSLSyntaxWarningListener that queue's/sorts syntax warnings/errors by their starting index in source code.
LSLTypeTools Extensions for converting LSLType's to strings and also parsing them.
LSLVectorComponentTools LSLVectorComponent extension methods for converting the LSLVectorComponent into a properly formed string and back.
Utility