Beispiel #1
0
        private static FieldDefinition GetFieldWithName(TypeDefinition typeDef, string eventTypeFullName, string name)
        {
            V_0 = typeDef.get_Fields().GetEnumerator();
            try
            {
                while (V_0.MoveNext())
                {
                    V_1 = V_0.get_Current();
                    if (!String.op_Equality(V_1.get_Name(), name) || !String.op_Equality(V_1.get_FieldType().get_FullName(), eventTypeFullName))
                    {
                        continue;
                    }
                    V_2 = V_1;
                    goto Label1;
                }
                goto Label0;
            }
            finally
            {
                V_0.Dispose();
            }
Label1:
            return(V_2);

Label0:
            return(null);
        }
Beispiel #2
0
 private bool TryGetAssignment(StatementCollection statements, int startIndex, out BinaryExpression binaryExpression)
 {
     binaryExpression = null;
     V_0 = statements.get_Item(startIndex);
     if (V_0.get_CodeNodeType() != 5)
     {
         return(false);
     }
     V_1 = (V_0 as ExpressionStatement).get_Expression();
     if (V_1.get_CodeNodeType() != 24)
     {
         return(false);
     }
     V_2 = V_1 as BinaryExpression;
     if (!V_2.get_IsAssignmentExpression())
     {
         return(false);
     }
     if (V_2.get_Left().get_CodeNodeType() != 26 && V_2.get_Left().get_CodeNodeType() != 27 && V_2.get_Left().get_CodeNodeType() != 30 && V_2.get_Left().get_CodeNodeType() != 28 && V_2.get_Left().get_CodeNodeType() != 42 && V_2.get_Left().get_CodeNodeType() != 25 && V_2.get_Left().get_CodeNodeType() != 23 || (V_2.get_Left() as UnaryExpression).get_Operand().get_CodeNodeType() != 25)
     {
         return(false);
     }
     binaryExpression = V_2;
     return(true);
 }
Beispiel #3
0
 protected bool ImplementsInterface(TypeReference type, string interfaceName)
 {
     V_0 = new BaseInitialisationPattern.u003cu003ec__DisplayClass8_0();
     V_0.interfaceName = interfaceName;
     while (type != null)
     {
         V_1 = type.Resolve();
         if (V_1 == null)
         {
             return(false);
         }
         stackVariable8  = V_1.get_Interfaces();
         stackVariable10 = V_0.u003cu003e9__0;
         if (stackVariable10 == null)
         {
             dummyVar0          = stackVariable10;
             stackVariable18    = new Func <TypeReference, bool>(V_0.u003cImplementsInterfaceu003eb__0);
             V_2                = stackVariable18;
             V_0.u003cu003e9__0 = stackVariable18;
             stackVariable10    = V_2;
         }
         if (stackVariable8.Any <TypeReference>(stackVariable10))
         {
             return(true);
         }
         type = V_1.get_BaseType();
     }
     return(false);
 }
Beispiel #4
0
        private static ModuleDefinition GetAssemblyModule(AssemblyDefinition assembly, string moduleFilePath)
        {
            V_0 = assembly.get_Modules().GetEnumerator();
            try
            {
                while (V_0.MoveNext())
                {
                    V_1 = V_0.get_Current();
                    if (!String.Equals(V_1.get_FilePath(), moduleFilePath, 5))
                    {
                        continue;
                    }
                    V_2 = V_1;
                    goto Label1;
                }
                goto Label0;
            }
            finally
            {
                V_0.Dispose();
            }
Label1:
            return(V_2);

Label0:
            throw new Exception("Module not found in assembly.");
        }
 private void CreateMethod(CatchClause catchClause, VariableDeclarationExpression variable, out Expression methodInvocationExpression)
 {
     methodInvocationExpression = null;
     stackVariable4             = catchClause.get_Filter() as BlockStatement;
     V_0 = (((stackVariable4.get_Statements().First <Statement>() as ExpressionStatement).get_Expression() as BinaryExpression).get_Right() as SafeCastExpression).get_Expression() as VariableReferenceExpression;
     V_0.set_Variable(variable.get_Variable());
     V_1 = stackVariable4.get_Statements().Last <Statement>() as ExpressionStatement;
     V_1.set_Expression(new ReturnExpression(V_1.get_Expression(), V_1.get_Expression().get_MappedInstructions()));
     V_2 = this.context.get_TypeContext().get_GeneratedFilterMethods().get_Count() + this.methodsToBeDecompiled.get_Count();
     V_3 = new MethodDefinition(String.Format("JustDecompileGenerated_Filter_{0}", V_2), 1, this.context.get_MethodContext().get_Method().get_Module().get_TypeSystem().get_Boolean());
     V_3.set_Body(new MethodBody(V_3));
     V_3.set_MetadataToken(new MetadataToken(0x6000000, 0xffffff - V_2));
     V_3.set_IsStatic(this.context.get_MethodContext().get_Method().get_IsStatic());
     V_3.set_HasThis(!V_3.get_IsStatic());
     V_3.set_DeclaringType(this.context.get_MethodContext().get_Method().get_DeclaringType());
     V_3.set_SemanticsAttributes(0);
     V_3.set_IsJustDecompileGenerated(true);
     V_4 = new DecompilationContext(this.CloneAndReplaceMethodBody(this.context.get_MethodContext(), V_3.get_Body()), this.context.get_TypeContext(), this.context.get_Language());
     V_5 = V_0.get_Variable().Resolve();
     if (V_4.get_MethodContext().get_VariableDefinitionToNameMap().ContainsKey(V_5))
     {
         V_4.get_MethodContext().get_VariableDefinitionToNameMap().Add(V_5, "JustDecompileGenerated_Exception");
     }
     else
     {
         V_4.get_MethodContext().get_VariableDefinitionToNameMap().set_Item(V_5, "JustDecompileGenerated_Exception");
     }
     dummyVar0 = V_4.get_MethodContext().get_VariablesToNotDeclare().Add(variable.get_Variable());
     this.methodsToBeDecompiled.Add(new FilterMethodToBeDecompiled(V_3, catchClause, V_4, catchClause.get_Filter() as BlockStatement));
     V_6 = this.AddAllParameters(catchClause, V_3, variable);
     methodInvocationExpression = this.CreateMethodInvocation(V_3, V_6);
     return;
 }
Beispiel #6
0
		private RepositoryResponse<bool> SaveUrlAlias(int parentId, MixCmsContext _context, IDbContextTransaction _transaction)
		{
			stackVariable0 = new RepositoryResponse<bool>();
			stackVariable0.set_IsSucceed(true);
			V_0 = stackVariable0;
			V_1 = this.get_UrlAliases().GetEnumerator();
			try
			{
				while (V_1.MoveNext())
				{
					stackVariable8 = V_1.get_Current();
					stackVariable8.set_SourceId(parentId.ToString());
					stackVariable8.set_Type(1);
					stackVariable8.set_Specificulture(this.get_Specificulture());
					ViewModelHelper.HandleResult<Mix.Cms.Lib.ViewModels.MixUrlAliases.UpdateViewModel>(((ViewModelBase<MixCmsContext, MixUrlAlias, Mix.Cms.Lib.ViewModels.MixUrlAliases.UpdateViewModel>)stackVariable8).SaveModel(false, _context, _transaction), ref V_0);
					if (V_0.get_IsSucceed())
					{
						continue;
					}
					goto Label0;
				}
			}
			finally
			{
				((IDisposable)V_1).Dispose();
			}
		Label0:
			return V_0;
		}
Beispiel #7
0
		private RepositoryResponse<bool> SaveMedias(int id, MixCmsContext _context, IDbContextTransaction _transaction)
		{
			stackVariable0 = new RepositoryResponse<bool>();
			stackVariable0.set_IsSucceed(true);
			V_0 = stackVariable0;
			V_1 = this.get_MediaNavs().GetEnumerator();
			try
			{
				while (V_1.MoveNext())
				{
					V_2 = V_1.get_Current();
					V_2.set_PostId(id);
					V_2.set_Specificulture(this.get_Specificulture());
					if (!V_2.get_IsActived())
					{
						ViewModelHelper.HandleResult<MixPostMedia>(V_2.RemoveModel(false, _context, _transaction), ref V_0);
					}
					else
					{
						ViewModelHelper.HandleResult<Mix.Cms.Lib.ViewModels.MixPostMedias.ReadViewModel>(V_2.SaveModel(false, _context, _transaction), ref V_0);
					}
				}
			}
			finally
			{
				((IDisposable)V_1).Dispose();
			}
			return V_0;
		}
 private bool CanBeLoopCondition(ILogicalConstruct node, HashSet <ILogicalConstruct> loopBody)
 {
     if (!loopBody.Contains(node))
     {
         return(false);
     }
     if (node as ConditionLogicalConstruct == null)
     {
         return(false);
     }
     V_0 = 0;
     V_1 = node.get_SameParentSuccessors().GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = (ILogicalConstruct)V_1.get_Current();
             if (!loopBody.Contains(V_2))
             {
                 continue;
             }
             V_0 = V_0 + 1;
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return(V_0 == 1);
 }
 private void CleanUpEdges(LoopLogicalConstruct loopConstruct)
 {
     V_0 = DFSTBuilder.BuildTree(loopConstruct.get_Parent()).get_ConstructToNodeMap().get_Item(loopConstruct);
     if (V_0.get_BackEdgeSuccessors().get_Count() == 0)
     {
         return;
     }
     V_1 = V_0.get_BackEdgeSuccessors().GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             if (V_2.get_Construct() as ILogicalConstruct as ConditionLogicalConstruct != null)
             {
                 continue;
             }
             this.MarkAsGotoEdge(loopConstruct, V_2.get_Construct() as ILogicalConstruct);
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return;
 }
Beispiel #10
0
 public void TransformExpressions(BaseCodeTransformer transformer)
 {
     V_0 = this.context.get_MethodContext().get_Expressions().get_BlockExpressions().get_Values().GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             V_2 = 0;
             V_3 = 0;
             while (V_3 < V_1.get_Count())
             {
                 V_4 = (Expression)transformer.Visit(V_1.get_Item(V_3));
                 if (V_4 != null)
                 {
                     stackVariable27 = V_2;
                     V_2             = stackVariable27 + 1;
                     V_1.set_Item(stackVariable27, V_4);
                 }
                 V_3 = V_3 + 1;
             }
             V_5 = V_1.get_Count() - V_2;
             while (V_5 > 0)
             {
                 V_1.RemoveAt(V_2 + V_5 - 1);
                 V_5 = V_5 - 1;
             }
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }
        private bool CanBeLoop(ILogicalConstruct header, ILogicalConstruct latchingNode, ICollection <DFSTNode> nodesInLoop)
        {
            if (header == null || latchingNode == null)
            {
                return(false);
            }
            V_0 = this.GetConstructsCollection(nodesInLoop);
            V_1 = V_0.GetEnumerator();
            try
            {
                while (V_1.MoveNext())
                {
                    V_2 = V_1.get_Current();
                    if (this.CanBeInLoop(V_2, V_0, header))
                    {
                        continue;
                    }
                    V_3 = false;
                    goto Label1;
                }
                goto Label0;
            }
            finally
            {
                if (V_1 != null)
                {
                    V_1.Dispose();
                }
            }
Label1:
            return(V_3);

Label0:
            return(true);
        }
Beispiel #12
0
 private bool CheckForAssignment(BinaryExpression node)
 {
     if (node.get_Left().get_CodeNodeType() == 25 && (node.get_Left() as ArgumentReferenceExpression).get_Parameter().get_ParameterType().get_IsByReference())
     {
         throw new Exception("Managed pointer usage not in SSA");
     }
     if (node.get_Left().get_CodeNodeType() != 26 || !(node.get_Left() as VariableReferenceExpression).get_Variable().get_VariableType().get_IsByReference())
     {
         return(false);
     }
     V_0 = (node.get_Left() as VariableReferenceExpression).get_Variable().Resolve();
     if (this.variableToAssignExpression.ContainsKey(V_0))
     {
         throw new Exception("Managed pointer usage not in SSA");
     }
     if (node.get_Right().get_CodeNodeType() != 26 && node.get_Right().get_CodeNodeType() != 25 && node.get_Right().get_CodeNodeType() != 23)
     {
         return(false);
     }
     if (node.get_Right().get_CodeNodeType() == 23)
     {
         V_1 = node.get_Right() as UnaryExpression;
         if (V_1.get_Operator() != 7)
         {
             return(false);
         }
         if (V_1.get_Operand().get_CodeNodeType() != 26 && V_1.get_Operand().get_CodeNodeType() != 25)
         {
             return(false);
         }
     }
     this.variableToAssignExpression.Add(V_0, node);
     return(true);
 }
Beispiel #13
0
 public void VisitExpressions()
 {
     V_0 = this.context.get_MethodContext().get_Expressions().get_BlockExpressions().get_Values().GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current().GetEnumerator();
             try
             {
                 while (V_1.MoveNext())
                 {
                     V_2 = V_1.get_Current();
                     this.Visit(V_2);
                 }
             }
             finally
             {
                 if (V_1 != null)
                 {
                     V_1.Dispose();
                 }
             }
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }
Beispiel #14
0
 private bool IsDelegateOperationStatement(Statement statement, string operationName, out Expression newValueHolder, out Expression oldValueHolder)
 {
     newValueHolder = null;
     oldValueHolder = null;
     if (!statement.IsAssignmentStatement())
     {
         return(false);
     }
     V_0 = (statement as ExpressionStatement).get_Expression() as BinaryExpression;
     if (V_0.get_Right().get_CodeNodeType() != 31 || (V_0.get_Right() as ExplicitCastExpression).get_Expression().get_CodeNodeType() != 19)
     {
         return(false);
     }
     V_1 = (V_0.get_Right() as ExplicitCastExpression).get_Expression() as MethodInvocationExpression;
     if (V_1.get_Arguments().get_Count() != 2 || V_1.get_MethodExpression().get_Method().get_HasThis() || String.op_Inequality(V_1.get_MethodExpression().get_Method().get_DeclaringType().get_FullName(), "System.Delegate") || String.op_Inequality(V_1.get_MethodExpression().get_Method().get_Name(), operationName))
     {
         return(false);
     }
     if (V_1.get_Arguments().get_Item(1).get_CodeNodeType() != 25)
     {
         return(false);
     }
     newValueHolder = V_0.get_Left();
     oldValueHolder = V_1.get_Arguments().get_Item(0);
     return(true);
 }
 public void MapBranchInstructions(IEnumerable <Instruction> branchInstructions)
 {
     V_0 = branchInstructions.GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             if (V_1.get_OpCode().get_Code() == 55 || V_1.get_OpCode().get_Code() == 42)
             {
                 continue;
             }
             throw new InvalidOperationException("Only unconditional branch instructions are allowed");
         }
     }
     finally
     {
         if (V_0 != null)
         {
             V_0.Dispose();
         }
     }
     this.instructions.AddRange(branchInstructions);
     return;
 }
 private ConditionLogicalConstruct GetLoopConditionWithMaxIndex(DFSTree dfsTree, HashSet <ILogicalConstruct> loopBody, HashSet <ILogicalConstruct> loopExits, ILogicalConstruct loopSuccessor)
 {
     V_0 = -1;
     V_1 = loopExits.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             V_3 = dfsTree.get_ConstructToNodeMap().get_Item(V_2).get_ReversePostOrderIndex();
             if (!V_2.get_SameParentSuccessors().Contains(loopSuccessor) || V_3 <= V_0 || !this.CanBeLoopCondition(V_2, loopBody))
             {
                 continue;
             }
             V_0 = V_3;
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     if (V_0 <= -1)
     {
         return(null);
     }
     return(dfsTree.get_ReversePostOrder().get_Item(V_0).get_Construct() as ConditionLogicalConstruct);
 }
 public override int GetHashCode()
 {
     V_0            = this.get_Assembly();
     stackVariable8 = V_0.GetHashCode() ^ this.get_UniqueMemberIdentifier().get_ModuleFilePath().GetHashCode();
     V_1            = this.get_UniqueMemberIdentifier().get_MetadataToken();
     return(stackVariable8 ^ V_1.GetHashCode());
 }
 private void RemoveBackEdgesFromSwitchConstructs(ILogicalConstruct theConstruct)
 {
     V_0 = DFSTBuilder.BuildTree(theConstruct).get_BackEdges().GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             V_2 = V_1.get_Start().get_Construct() as ILogicalConstruct;
             if (V_2 as ConditionLogicalConstruct != null)
             {
                 continue;
             }
             V_3 = V_2 as CFGBlockLogicalConstruct;
             if (V_3 == null || V_3.get_TheBlock().get_Last().get_OpCode().get_Code() != 68)
             {
                 continue;
             }
             this.MarkAsGotoEdge(V_2, V_1.get_End().get_Construct() as ILogicalConstruct);
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }
Beispiel #19
0
		private void GenerateSEO()
		{
			V_0 = new CreateViewModel.u003cu003ec__DisplayClass207_0();
			V_0.u003cu003e4__this = this;
			if (string.IsNullOrEmpty(this.get_SeoName()))
			{
				this.set_SeoName(SeoHelper.GetSEOString(this.get_Title(), '-'));
			}
			V_1 = 1;
			V_0.name = this.get_SeoName();
			while (ViewModelBase<MixCmsContext, MixPost, Mix.Cms.Lib.ViewModels.MixPosts.UpdateViewModel>.Repository.CheckIsExists(new Func<MixPost, bool>(V_0.u003cGenerateSEOu003eb__0), null, null))
			{
				V_0.name = string.Concat(this.get_SeoName(), "_", V_1.ToString());
				V_1 = V_1 + 1;
			}
			this.set_SeoName(V_0.name);
			if (string.IsNullOrEmpty(this.get_SeoTitle()))
			{
				this.set_SeoTitle(SeoHelper.GetSEOString(this.get_Title(), '-'));
			}
			if (string.IsNullOrEmpty(this.get_SeoDescription()))
			{
				this.set_SeoDescription(SeoHelper.GetSEOString(this.get_Title(), '-'));
			}
			if (string.IsNullOrEmpty(this.get_SeoKeywords()))
			{
				this.set_SeoKeywords(SeoHelper.GetSEOString(this.get_Title(), '-'));
			}
			return;
		}
 private bool TryMakeLoop(IntervalConstruct interval, DominatorTree dominatorTree)
 {
     V_0 = DFSTBuilder.BuildTree(interval);
     if (V_0.get_BackEdges().get_Count() == 0)
     {
         return(false);
     }
     V_2 = this.BuildLoop(V_0, out V_1);
     V_4 = this.DetermineLoopType(V_1, V_2, interval, dominatorTree, out V_3);
     if (V_1.get_Count() > 0)
     {
         V_5 = new LoopLogicalConstruct(interval.get_Entry() as ILogicalConstruct, V_1, V_4, V_3, this.typeSystem);
         this.CleanUpEdges(V_5);
         this.UpdateDominatorTree(dominatorTree, V_5);
         return(true);
     }
     V_6 = V_0.get_BackEdges().GetEnumerator();
     try
     {
         while (V_6.MoveNext())
         {
             V_7 = V_6.get_Current();
             this.MarkAsGotoEdge(V_7.get_Start().get_Construct() as ILogicalConstruct, V_7.get_End().get_Construct() as ILogicalConstruct);
         }
     }
     finally
     {
         ((IDisposable)V_6).Dispose();
     }
     return(false);
 }
        private static EventDefinition GetMethodDeclaringEvent(MethodReference method)
        {
            if (method == null)
            {
                return(null);
            }
            V_0 = method.get_DeclaringType().Resolve();
            if (V_0 != null)
            {
                V_1 = V_0.get_Events().GetEnumerator();
                try
                {
                    while (V_1.MoveNext())
                    {
                        V_2 = V_1.get_Current();
                        if (V_2.get_AddMethod() == null || !V_2.get_AddMethod().HasSameSignatureWith(method) && V_2.get_RemoveMethod() == null || !V_2.get_RemoveMethod().HasSameSignatureWith(method))
                        {
                            continue;
                        }
                        V_3 = V_2;
                        goto Label1;
                    }
                    goto Label0;
                }
                finally
                {
                    V_1.Dispose();
                }
Label1:
                return(V_3);
            }
Label0:
            return(null);
        }
Beispiel #22
0
 private bool IsBinaryExpression(Expression expression, out Expression binaryExpression, out bool isWrappedInUnary)
 {
     binaryExpression = null;
     isWrappedInUnary = false;
     V_0 = expression as BinaryExpression;
     V_1 = expression as UnaryExpression;
     if (V_0 != null)
     {
         binaryExpression = V_0;
         return(true);
     }
     if (V_1 == null || V_1.get_Operator() != 11 && V_1.get_Operator() != 1 || V_1.get_Operand() as BinaryExpression == null)
     {
         return(false);
     }
     if (V_1.get_Operator() != 1)
     {
         binaryExpression = V_1.get_Operand();
     }
     else
     {
         binaryExpression = Negator.Negate(V_1.get_Operand(), this.typeSystem);
         if (binaryExpression as BinaryExpression == null)
         {
             isWrappedInUnary = true;
         }
     }
     return(true);
 }
Beispiel #23
0
 public void SplitConditionalCFGBlocks()
 {
     V_0 = (new List <KeyValuePair <InstructionBlock, CFGBlockLogicalConstruct[]> >(this.logicalContext.get_CFGBlockToLogicalConstructMap())).GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             if ((int)V_1.get_Key().get_Successors().Length <= 1)
             {
                 continue;
             }
             V_2 = V_1.get_Value()[(int)V_1.get_Value().Length - 1];
             if (V_2.get_LogicalConstructExpressions().get_Count() <= 1)
             {
                 continue;
             }
             dummyVar0 = LogicalFlowUtilities.SplitCFGBlockAt(this.logicalContext, V_2, V_2.get_LogicalConstructExpressions().get_Count() - 1);
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }
Beispiel #24
0
 protected override bool CheckTheLoop(WhileStatement theWhile, VariableReference forVariable)
 {
     if (!this.CheckTheLoop(theWhile, forVariable))
     {
         stackVariable4 = false;
     }
     else
     {
         stackVariable4 = theWhile.get_Condition() as BinaryExpression != null;
     }
     if (!stackVariable4)
     {
         return(false);
     }
     V_0 = (theWhile.get_Body().get_Statements().get_Item(theWhile.get_Body().get_Statements().get_Count() - 1) as ExpressionStatement).get_Expression() as BinaryExpression;
     if (V_0 != null)
     {
         V_1 = V_0.get_Right() as BinaryExpression;
         if (V_1 != null && V_1.get_Operator() == 1 || V_1.get_Operator() == 3)
         {
             V_2 = V_1.get_Left() as VariableReferenceExpression;
             if (V_2 != null && (object)V_2.get_Variable() == (object)forVariable)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
 private MethodInvocationExpression CreateMethodInvocation(MethodDefinition method, List <Expression> arguments)
 {
     if (method.get_IsStatic())
     {
         stackVariable2 = null;
     }
     else
     {
         stackVariable2 = new ThisReferenceExpression(method.get_DeclaringType(), null);
     }
     V_0 = new MethodInvocationExpression(new MethodReferenceExpression(stackVariable2, method, null), null);
     V_1 = arguments.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             V_0.get_Arguments().Add(V_2);
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return(V_0);
 }
Beispiel #26
0
		public override void Validate(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
		{
			this.Validate(_context, _transaction);
			if (this.get_IsValid())
			{
				V_0 = this.get_DataProperties().GetEnumerator();
				try
				{
					while (V_0.MoveNext())
					{
						V_1 = V_0.get_Current().Validate<MixModuleData>(this.get_Id(), this.get_Specificulture(), this.get_JItem(), _context, _transaction);
						if (V_1.get_IsSucceed())
						{
							continue;
						}
						this.set_IsValid(false);
						this.get_Errors().AddRange(V_1.get_Errors());
					}
				}
				finally
				{
					((IDisposable)V_0).Dispose();
				}
			}
			return;
		}
Beispiel #27
0
 public virtual bool TryMatch(StatementCollection statements, out int startIndex, out Statement result, out int replacedStatementsCount)
 {
     startIndex = -1;
     result     = null;
     replacedStatementsCount = -1;
     if (statements == null || statements.get_Count() - startIndex < 2)
     {
         return(false);
     }
     V_0 = statements.get_Count() - 1;
     while (V_0 >= 0)
     {
         if (this.TryMatchInternal(statements, V_0, out result, out replacedStatementsCount))
         {
             V_1 = ((result as ExpressionStatement).get_Expression() as BinaryExpression).get_Left();
             if (V_1.get_CodeNodeType() == 26)
             {
                 this.FixContext((V_1 as VariableReferenceExpression).get_Variable().Resolve(), 0, replacedStatementsCount - 1, null);
             }
             startIndex = V_0;
             return(true);
         }
         V_0 = V_0 - 1;
     }
     return(false);
 }
 private IList <VariableReference> GetVariablesToInfer()
 {
     V_0 = new List <VariableReference>();
     V_1 = this.context.get_MethodContext().get_StackData().get_VariableToDefineUseInfo().get_Keys().GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current();
             if (V_2.get_VariableType() != null)
             {
                 dummyVar0 = this.resolvedVariables.Add(V_2);
             }
             else
             {
                 V_0.Add(V_2);
             }
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return(V_0);
 }
Beispiel #29
0
		private void ParseData()
		{
			stackVariable1 = new JObject();
			stackVariable1.Add(new JProperty("id", this.get_Id()));
			stackVariable1.Add(new JProperty("createdDateTime", (object)this.get_CreatedDateTime()));
			this.set_Data(stackVariable1);
			stackVariable12 = this.get_Values();
			stackVariable13 = Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9__69_0;
			if (stackVariable13 == null)
			{
				dummyVar0 = stackVariable13;
				stackVariable13 = new Func<Mix.Cms.Lib.ViewModels.MixAttributeSetValues.ImportViewModel, int>(Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9.u003cParseDatau003eb__69_0);
				Mix.Cms.Lib.ViewModels.MixAttributeSetDatas.ImportViewModel.u003cu003ec.u003cu003e9__69_0 = stackVariable13;
			}
			V_0 = stackVariable12.OrderBy<Mix.Cms.Lib.ViewModels.MixAttributeSetValues.ImportViewModel, int>(stackVariable13).GetEnumerator();
			try
			{
				while (V_0.MoveNext())
				{
					V_1 = V_0.get_Current();
					V_1.set_AttributeFieldName(V_1.get_Field().get_Name());
					this.get_Data().Add(this.ParseValue(V_1));
				}
			}
			finally
			{
				if (V_0 != null)
				{
					V_0.Dispose();
				}
			}
			return;
		}
			V_2 = Expression.Parameter(Type.GetTypeFromHandle(// 
			// Current member / type: System.Void Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel::ExpandView(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Exception in: System.Void ExpandView(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Specified method is not supported.
			// 
			// mailto: [email protected]


		public static RepositoryResponse<List<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> GetPagePostNavAsync(int postId, string specificulture, MixCmsContext _context = null, IDbContextTransaction _transaction = null)
		{
			V_0 = new Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel.u003cu003ec__DisplayClass64_0();
			V_0.specificulture = specificulture;
			V_0.postId = postId;
			V_0._context = _context;
			V_0._transaction = _transaction;
			stackVariable10 = V_0._context;
			if (stackVariable10 == null)
			{
				dummyVar0 = stackVariable10;
				stackVariable10 = new MixCmsContext();
			}
			V_1 = stackVariable10;
			stackVariable12 = V_0._transaction;
			if (stackVariable12 == null)
			{
				dummyVar1 = stackVariable12;
				stackVariable12 = V_1.get_Database().BeginTransaction();
			}
			V_2 = stackVariable12;
			try
			{
				try
				{
					stackVariable14 = V_1.get_MixPage();
					V_4 = Expression.Parameter(Type.GetTypeFromHandle(// 
					// Current member / type: Mix.Domain.Core.ViewModels.RepositoryResponse`1<System.Collections.Generic.List`1<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel::GetPagePostNavAsync(System.Int32,System.String,Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
					// Exception in: Mix.Domain.Core.ViewModels.RepositoryResponse<System.Collections.Generic.List<Mix.Cms.Lib.ViewModels.MixPagePosts.ReadViewModel>> GetPagePostNavAsync(System.Int32,System.String,Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
					// Specified method is not supported.
					// 
					// mailto: [email protected]


		public override MixPagePost ParseModel(MixCmsContext _context = null, IDbContextTransaction _transaction = null)