Пример #1
0
        private static void GenerateCallContextLookup(string nameValue, CodeMemberField field, CodeStatementCollection statements, CodeVariableReferenceExpression valueAcquired, CodeTypeReference typeReference, string typeValue)
        {
            CodeVariableDeclarationStatement codeVariableDeclarationStatement = typeof(object).Decl("data", typeof(CallContext).Expr().Call("LogicalGetData", nameValue.Prim()));
            CodeVariableReferenceExpression  codeVariableReferenceExpression  = codeVariableDeclarationStatement.Ref();
            CodeAssignStatement    codeAssignStatement    = field.Ref().Assign(typeReference.Cast(codeVariableReferenceExpression));
            CodeConditionStatement codeConditionStatement = new CodeConditionStatement(codeVariableReferenceExpression.NotNull(), codeAssignStatement);

            statements.Add(new CodeConditionStatement(valueAcquired.VEquals(false.Prim()), codeVariableDeclarationStatement, codeConditionStatement));
        }
        private static void GenerateCallContextLookup(string nameValue, CodeMemberField field, CodeStatementCollection statements, CodeVariableReferenceExpression valueAcquired, CodeTypeReference typeReference, string typeValue)
        {
            CodeVariableDeclarationStatement declaration = typeof(object).Decl("data", typeof(CallContext).Expr().Call("LogicalGetData", new CodeExpression[] { nameValue.Prim() }));
            CodeVariableReferenceExpression  expression  = declaration.Ref();
            CodeAssignStatement    statement2            = field.Ref().Assign(typeReference.Cast(expression));
            CodeConditionStatement statement3            = new CodeConditionStatement(expression.NotNull(), new CodeStatement[] { GenerateTypeMismatchCheck(expression, nameValue, typeReference, typeValue, new CodeStatement[] { statement2 }) });

            statements.Add(new CodeConditionStatement(valueAcquired.VEquals(false.Prim()), new CodeStatement[] { declaration, statement3 }));
        }