Esempio n. 1
0
        /*
         * @throws ConversionException
         */
        public ITES5Value CreateValue(ITES4Value value, TES5CodeScope codeScope, TES5GlobalScope globalScope, TES5MultipleScriptsScope multipleScriptsScope)
        {
            ITES4Primitive?primitive = value as ITES4Primitive;

            if (primitive != null)
            {
                return(TES5PrimitiveValueFactory.CreateValue(primitive));
            }
            ITES4Reference?reference = value as ITES4Reference;

            if (reference != null)
            {
                return(this.referenceFactory.CreateReadReference(reference.StringValue, globalScope, multipleScriptsScope, codeScope.LocalScope));
            }
            ITES4Callable?callable = value as ITES4Callable;

            if (callable != null)
            {
                return(this.CreateCodeChunk(callable, codeScope, globalScope, multipleScriptsScope));
            }
            ITES4BinaryExpression?expression = value as ITES4BinaryExpression;

            if (expression != null)
            {
                return(this.ConvertExpression(expression, codeScope, globalScope, multipleScriptsScope));
            }
            throw new ConversionException("Unknown ITES4Value: " + value.GetType().FullName);
        }
Esempio n. 2
0
 public TES4ArithmeticExpression(ITES4Value left, TES4ArithmeticExpressionOperator op, ITES4Value right)
 {
     this.LeftValue  = left;
     this.op         = op;
     this.RightValue = right;
 }
 public TES4SubBranch(ITES4Value expression, TES4CodeChunks codeChunks = null)
 {
     this.Expression = expression;
     this.CodeChunks = codeChunks;
 }
 public TES4LogicalExpression(ITES4Value left, TES4LogicalExpressionOperator op, ITES4Value right)
 {
     this.LeftValue  = left;
     this.op         = op;
     this.RightValue = right;
 }
Esempio n. 5
0
 public TES4ComparisonExpression(ITES4Value leftValue, TES4ComparisonExpressionOperator op, ITES4Value rightValue)
 {
     this.LeftValue = leftValue;
     this.arithmeticExpressionOperator = op;
     this.RightValue = rightValue;
 }
Esempio n. 6
0
 public TES4VariableAssignation(ITES4Reference reference, ITES4Value value)
 {
     this.Reference = reference;
     this.Value     = value;
 }
 public TES4TrueBooleanExpression(ITES4Value value)
 {
     this.value = value;
 }