コード例 #1
0
 public static ICollection <ImplementedMember> GetImplementedProperties(this PropertyReference self)
 {
     V_0 = new List <ImplementedMember>();
     V_1 = self.Resolve();
     if (V_1 == null)
     {
         return(V_0);
     }
     if (V_1.get_GetMethod() != null)
     {
         V_2 = V_1.get_GetMethod().GetImplementedMethods().GetEnumerator();
         try
         {
             while (V_2.MoveNext())
             {
                 V_3 = V_2.get_Current();
                 V_4 = PropertyDefinitionExtensions.GetMethodDeclaringProperty(V_3.get_Member() as MethodReference);
                 if (V_4 == null)
                 {
                     continue;
                 }
                 V_0.Add(new ImplementedMember(V_3.get_DeclaringType(), V_4));
             }
         }
         finally
         {
             if (V_2 != null)
             {
                 V_2.Dispose();
             }
         }
         return(V_0);
     }
     if (V_1.get_SetMethod() == null)
     {
         return(V_0);
     }
     V_2 = V_1.get_SetMethod().GetImplementedMethods().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_5 = V_2.get_Current();
             V_6 = PropertyDefinitionExtensions.GetMethodDeclaringProperty(V_5.get_Member() as MethodReference);
             if (V_6 == null)
             {
                 continue;
             }
             V_0.Add(new ImplementedMember(V_5.get_DeclaringType(), V_6));
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return(V_0);
 }
コード例 #2
0
 private List <IntervalConstruct> SortIntervalList(List <IntervalConstruct> intervals)
 {
     V_0 = new IntervalConstruct(intervals.get_Item(0));
     V_2 = intervals.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3       = V_2.get_Current();
             dummyVar0 = V_0.get_Children().Add(V_3);
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     stackVariable15 = DFSTBuilder.BuildTree(V_0);
     V_1             = new List <IntervalConstruct>();
     V_4             = stackVariable15.get_ReversePostOrder().GetEnumerator();
     try
     {
         while (V_4.MoveNext())
         {
             V_5 = V_4.get_Current();
             V_1.Add(V_5.get_Construct() as IntervalConstruct);
         }
     }
     finally
     {
         ((IDisposable)V_4).Dispose();
     }
     return(V_1);
 }
コード例 #3
0
        public List <SupportedCulture> LoadCultures(string initCulture = null, MixCmsContext _context = null, IDbContextTransaction _transaction = null)
        {
            V_0 = ViewModelBase <MixCmsContext, MixCulture, SystemCultureViewModel> .Repository.GetModelList(_context, _transaction);

            V_1 = new List <SupportedCulture>();
            if (V_0.get_IsSucceed())
            {
                V_2 = V_0.get_Data().GetEnumerator();
                try
                {
                    while (V_2.MoveNext())
                    {
                        V_3             = V_2.get_Current();
                        stackVariable16 = new SupportedCulture();
                        stackVariable16.set_Icon(V_3.get_Icon());
                        stackVariable16.set_Specificulture(V_3.get_Specificulture());
                        stackVariable16.set_Alias(V_3.get_Alias());
                        stackVariable16.set_FullName(V_3.get_FullName());
                        stackVariable16.set_Description(V_3.get_FullName());
                        stackVariable16.set_Id(V_3.get_Id());
                        stackVariable16.set_Lcid(V_3.get_Lcid());
                        stackVariable16.set_IsSupported(string.op_Equality(V_3.get_Specificulture(), initCulture));
                        V_1.Add(stackVariable16);
                    }
                }
                finally
                {
                    ((IDisposable)V_2).Dispose();
                }
            }
            return(V_1);
        }
コード例 #4
0
        private IEnumerable <Statement> GetStatements()
        {
            V_0 = null;
            V_2 = this.yieldDeclaringType.get_Methods().GetEnumerator();
            try
            {
                while (V_2.MoveNext())
                {
                    V_3 = V_2.get_Current();
                    if (!String.op_Equality(V_3.get_Name(), "MoveNext"))
                    {
                        continue;
                    }
                    V_0 = V_3;
                    goto Label0;
                }
            }
            finally
            {
                V_2.Dispose();
            }
Label0:
            if (V_0 == null || V_0.get_Body() == null)
            {
                return(null);
            }
            V_1 = V_0.get_Body().DecompileYieldStateMachine(this.decompilationContext, out this.yieldData);
            if (V_1 == null)
            {
                return(null);
            }
            return(this.GetStatements(V_1));
        }
コード例 #5
0
 public static NamespaceHierarchyTree BuildNamespaceHierarchyTree(this AssemblyDefinition self)
 {
     V_0 = new HashSet <string>();
     V_1 = self.get_Modules().GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current().get_Types().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3 = V_2.get_Current();
                     if (String.op_Equality(V_3.get_Namespace(), String.Empty) && String.op_Equality(V_3.get_Name(), "<Module>"))
                     {
                         continue;
                     }
                     dummyVar0 = V_0.Add(V_3.get_Namespace());
                 }
             }
             finally
             {
                 V_2.Dispose();
             }
         }
     }
     finally
     {
         V_1.Dispose();
     }
     return(NamespaceHierarchyTreeBuilder.BuildTree(V_0));
 }
コード例 #6
0
 protected override string ToString(string constructName, HashSet <CFGBlockLogicalConstruct> printedBlocks, LogicalFlowBuilderContext context)
 {
     V_0       = new StringBuilder();
     dummyVar0 = V_0.AppendLine("PartialCFGConstruct");
     dummyVar1 = V_0.AppendLine("{");
     dummyVar2 = V_0.AppendLine(String.Format("\t{0}:", this.NodeILOffset(context, this)));
     V_2       = this.get_LogicalConstructExpressions().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3       = V_2.get_Current();
             dummyVar3 = V_0.Append("\t");
             dummyVar4 = V_0.AppendLine(V_3.ToCodeString());
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     V_1       = String.Format("\tFollowNode: {0}", this.NodeILOffset(context, this.get_CFGFollowNode()));
     dummyVar5 = V_0.AppendLine(V_1);
     dummyVar6 = V_0.AppendLine("}");
     dummyVar7 = printedBlocks.Add(this);
     return(V_0.ToString());
 }
コード例 #7
0
 public BlockStatement Process(DecompilationContext context, BlockStatement body)
 {
     this.context = context.get_MethodContext();
     V_0          = context.get_MethodContext().get_Expressions().get_BlockExpressions().GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             this.parentExpressions.Clear();
             V_2 = V_1.get_Value().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3 = V_2.get_Current();
                     this.Visit(V_3);
                 }
             }
             finally
             {
                 if (V_2 != null)
                 {
                     V_2.Dispose();
                 }
             }
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return(body);
 }
コード例 #8
0
 protected ILogicalConstruct[] GetSortedArrayFromCollection <T>(ICollection <T> collection)
     where T : ISingleEntrySubGraph
 {
     V_0 = new ILogicalConstruct[collection.get_Count()];
     V_1 = 0;
     V_2 = collection.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3                  = (ILogicalConstruct)(object)V_2.get_Current();
             stackVariable13      = V_1;
             V_1                  = stackVariable13 + 1;
             V_0[stackVariable13] = V_3;
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     Array.Sort <ISingleEntrySubGraph>(V_0);
     return(V_0);
 }
コード例 #9
0
 protected override ClassHierarchyNode FindLowestCommonAncestor(ICollection <ClassHierarchyNode> typeNodes)
 {
     V_0 = null;
     V_1 = -2147483648;
     V_2 = typeNodes.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             V_4 = ExpressionTypeInferer.GetTypeIndex(V_3.get_NodeType());
             if (V_4 <= V_1)
             {
                 continue;
             }
             V_1 = V_4;
             V_0 = V_3;
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return(V_0);
 }
コード例 #10
0
 private ICollection <int> MergeSearchableEnumerables(IEnumerable <IEnumerable <Instruction> > enumerables)
 {
     V_0 = new HashSet <int>();
     V_1 = enumerables.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3       = V_2.get_Current();
                     dummyVar0 = V_0.Add(V_3.get_Offset());
                 }
             }
             finally
             {
                 if (V_2 != null)
                 {
                     V_2.Dispose();
                 }
             }
         }
     }
     finally
     {
         if (V_1 != null)
         {
             V_1.Dispose();
         }
     }
     return(V_0);
 }
コード例 #11
0
 private IEnumerable <VariableReference> GetVariables(int offset)
 {
     if (!this.methodContext.get_StackData().get_InstructionOffsetToUsedStackVariablesMap().TryGetValue(offset, out V_0))
     {
         return(new VariableReference[0]);
     }
     V_1 = new List <VariableReference>();
     V_2 = V_0.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             if (!this.methodContext.get_StackData().get_VariableToDefineUseInfo().ContainsKey(V_3))
             {
                 continue;
             }
             V_1.Add(V_3);
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     return(V_1);
 }
コード例 #12
0
 private void SetTrueAndFalseSuccessors(CFGBlockLogicalConstruct cfgConditionBlock)
 {
     stackVariable1 = cfgConditionBlock.get_TheBlock();
     V_0            = stackVariable1.get_Successors()[0];
     V_1            = stackVariable1.get_Successors()[1];
     V_2            = cfgConditionBlock.get_CFGSuccessors().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             if (InstructionBlock.op_Equality(V_3.get_TheBlock(), V_0))
             {
                 this.set_TrueCFGSuccessor(V_3);
             }
             if (!InstructionBlock.op_Equality(V_3.get_TheBlock(), V_1))
             {
                 continue;
             }
             this.set_FalseCFGSuccessor(V_3);
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     return;
 }
コード例 #13
0
 private void BuildTryBody(YieldExceptionHandlerInfo handlerInfo)
 {
     this.newTryBody     = new HashSet <ILogicalConstruct>();
     dummyVar0           = this.newTryBody.Add(this.entryOfTry);
     this.newFinallyBody = null;
     V_0 = new HashSet <ILogicalConstruct>();
     V_1 = new Queue <ILogicalConstruct>();
     V_2 = this.entryOfTry.get_SameParentSuccessors().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = (ILogicalConstruct)V_2.get_Current();
             V_1.Enqueue(V_3);
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     while (V_1.get_Count() > 0)
     {
         V_4 = V_1.Dequeue();
         if (!V_0.Add(V_4) || this.finallyBlocks.Contains(V_4))
         {
             continue;
         }
         this.ProcessCurrentNode(handlerInfo, V_1, V_4);
     }
     return;
 }
コード例 #14
0
        private bool GetYieldExceptionData()
        {
            if ((int)this.theDisposeCFG.get_Blocks().Length == 1)
            {
                return(true);
            }
            V_0 = this.theDisposeCFG.get_OffsetToInstruction().get_Item(0);
            if (V_0.get_OpCode().get_Code() != 2)
            {
                return(false);
            }
            V_0 = this.theDisposeCFG.get_OffsetToInstruction().get_Item(1);
            if (V_0.get_OpCode().get_Code() != 120 || V_0.get_Operand() as FieldReference == null || !this.CheckAndSaveStateField(V_0.get_Operand() as FieldReference))
            {
                return(false);
            }
            V_2 = this.theDisposeCFG.get_SwitchBlocksInformation().get_Values().GetEnumerator();
            try
            {
                while (V_2.MoveNext())
                {
                    V_3 = V_2.get_Current();
                    if (this.DetermineExceptionHandlingStatesFromSwitchData(V_3))
                    {
                        continue;
                    }
                    V_4 = false;
                    goto Label0;
                }
            }
            finally
            {
                ((IDisposable)V_2).Dispose();
            }
            this.DetermineExceptionHandlingStatesFromCFGBlocks();
            V_5 = this.handlerToStatesMap.GetEnumerator();
            try
            {
                while (V_5.MoveNext())
                {
                    V_6 = V_5.get_Current();
                    if (this.TryCreateYieldExceptionHandler(V_6.get_Value(), V_6.get_Key()))
                    {
                        continue;
                    }
                    V_4 = false;
                    goto Label0;
                }
                goto Label1;
            }
            finally
            {
                ((IDisposable)V_5).Dispose();
            }
Label0:
            return(V_4);

Label1:
            return(true);
        }
コード例 #15
0
        private bool GetDisposeMethodCFG()
        {
            V_0 = "System.Void System.IDisposable.Dispose()";
            V_1 = null;
            V_2 = this.moveNextMethodDefinition.get_DeclaringType().get_Methods().GetEnumerator();
            try
            {
                while (V_2.MoveNext())
                {
                    V_3 = V_2.get_Current();
                    if (!String.op_Equality(V_3.GetFullMemberName(null), V_0))
                    {
                        continue;
                    }
                    V_1 = V_3;
                    goto Label0;
                }
            }
            finally
            {
                V_2.Dispose();
            }
Label0:
            if (V_1 == null)
            {
                return(false);
            }
            this.theDisposeCFG = (new ControlFlowGraphBuilder(V_1)).CreateGraph();
            return(true);
        }
コード例 #16
0
 private List <MethodDefinition> GetSameNameMethods(TypeDefinition declaringTypeDefinition, MethodReference method, ExpressionCollection arguments)
 {
     V_0 = new List <MethodDefinition>();
     V_1 = method.Resolve();
     if (V_1 == null)
     {
         return(V_0);
     }
     V_2 = declaringTypeDefinition.get_Methods().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             if (String.op_Inequality(V_3.get_Name(), method.get_Name()) || V_3.get_HasParameters() != method.get_HasParameters() || V_3.get_Parameters().get_Count() != method.get_Parameters().get_Count() || (object)V_3 == (object)V_1 || V_3.get_HasGenericParameters() != V_1.get_HasGenericParameters() || !this.ArgumentsMatchParameters(V_3.get_Parameters(), arguments))
             {
                 continue;
             }
             V_0.Add(V_3);
         }
     }
     finally
     {
         V_2.Dispose();
     }
     return(V_0);
 }
コード例 #17
0
			V_0 = Expression.Parameter(System.Type.GetTypeFromHandle(// 
			// Current member / type: System.Void Mix.Cms.Lib.ViewModels.MixModules.UpdateViewModel::LoadAttributeData(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Exception in: System.Void LoadAttributeData(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Specified method is not supported.
			// 
			// mailto: [email protected]


		private void LoadAttributeFields(MixCmsContext context, IDbContextTransaction transaction)
		{
			if (!string.IsNullOrEmpty(this.get_AttributeData().get_Id()))
			{
				this.set_Attributes(new List<Mix.Cms.Lib.ViewModels.MixAttributeFields.UpdateViewModel>());
				V_2 = this.get_AttributeData().get_Data().get_Values().GetEnumerator();
				try
				{
					while (V_2.MoveNext())
					{
						V_3 = V_2.get_Current();
						if (V_3.get_Field() == null)
						{
							continue;
						}
						this.get_Attributes().Add(V_3.get_Field());
					}
				}
				finally
				{
					((IDisposable)V_2).Dispose();
				}
			}
			else
			{
				stackVariable21 = ViewModelBase<MixCmsContext, MixAttributeSet, Mix.Cms.Lib.ViewModels.MixAttributeSets.UpdateViewModel>.Repository;
				V_1 = Expression.Parameter(System.Type.GetTypeFromHandle(// 
コード例 #18
0
		public static IServiceCollection CreateChildContainer(this IServiceProvider serviceProvider, IServiceCollection serviceCollection)
		{
			V_0 = new ServiceProviderExtensions.u003cu003ec__DisplayClass0_0();
			V_0.serviceProvider = serviceProvider;
			V_1 = new ServiceCollection();
			stackVariable4 = serviceCollection;
			stackVariable5 = ServiceProviderExtensions.u003cu003ec.u003cu003e9__0_0;
			if (stackVariable5 == null)
			{
				dummyVar0 = stackVariable5;
				stackVariable5 = new Func<ServiceDescriptor, Type>(ServiceProviderExtensions.u003cu003ec.u003cu003e9.u003cCreateChildContaineru003eb__0_0);
				ServiceProviderExtensions.u003cu003ec.u003cu003e9__0_0 = stackVariable5;
			}
			V_2 = stackVariable4.GroupBy<ServiceDescriptor, Type>(stackVariable5).GetEnumerator();
			try
			{
				while (V_2.MoveNext())
				{
					V_3 = V_2.get_Current();
					if (Type.op_Equality(V_3.get_Key(), Type.GetTypeFromHandle(// 
					// Current member / type: Microsoft.Extensions.DependencyInjection.IServiceCollection OrchardCore.Environment.Shell.Builders.ServiceProviderExtensions::CreateChildContainer(System.IServiceProvider,Microsoft.Extensions.DependencyInjection.IServiceCollection)
					// Exception in: Microsoft.Extensions.DependencyInjection.IServiceCollection CreateChildContainer(System.IServiceProvider,Microsoft.Extensions.DependencyInjection.IServiceCollection)
					// Specified method is not supported.
					// 
					// mailto: [email protected]

	}
}
コード例 #19
0
 public static Dictionary <MemberIdentifier, CodeSpan> GenerateMemberMapping(string assemblyFilePath, StringWriter writer, List <WritingInfo> writingInfos)
 {
     stackVariable1 = writer.ToString();
     V_0            = new Dictionary <MemberIdentifier, CodeSpan>();
     V_1            = new TwoDimensionalString(stackVariable1, writer.get_NewLine(), false);
     V_2            = writingInfos.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current().get_MemberDeclarationToCodePostionMap().GetEnumerator();
             try
             {
                 while (V_3.MoveNext())
                 {
                     V_4 = V_3.get_Current();
                     V_5 = V_4.get_Key();
                     V_6 = V_4.get_Value();
                     V_7 = ExternallyVisibleDecompilationUtilities.GetSpan(V_1, V_1.TrimStart(V_6));
                     V_0.Add(ExternallyVisibleDecompilationUtilities.GetIdentifier(assemblyFilePath, V_5), V_7);
                 }
             }
             finally
             {
                 ((IDisposable)V_3).Dispose();
             }
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     return(V_0);
 }
コード例 #20
0
 private void RemoveTransitiveEdges()
 {
     V_0 = this.GenerateNodeToIndex();
     V_1 = this.GeenrateAdjacencyMatrix(V_0);
     this.WarsawTransitiveClosure(V_1);
     V_2 = this.inferenceGraph.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             V_4 = this.inferenceGraph.GetEnumerator();
             try
             {
                 while (V_4.MoveNext())
                 {
                     V_5 = V_4.get_Current();
                     V_6 = this.inferenceGraph.GetEnumerator();
                     try
                     {
                         while (V_6.MoveNext())
                         {
                             V_7  = V_6.get_Current();
                             V_8  = V_0.get_Item(V_3);
                             V_9  = V_0.get_Item(V_5);
                             V_10 = V_0.get_Item(V_7);
                             if (!V_1[V_8, V_9] || !V_1[V_9, V_10] || V_3.get_IsHardNode() && V_7.get_IsHardNode() || !V_3.get_SubTypes().Contains(V_7))
                             {
                                 continue;
                             }
                             this.RemoveSubtype(V_3, V_7);
                         }
                     }
                     finally
                     {
                         if (V_6 != null)
                         {
                             V_6.Dispose();
                         }
                     }
                 }
             }
             finally
             {
                 if (V_4 != null)
                 {
                     V_4.Dispose();
                 }
             }
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return;
 }
コード例 #21
0
 protected virtual void OnPhiVariableAssigned(int instructionOffset, ClassHierarchyNode variableNode)
 {
     V_0 = this.offsetToExpression.get_Item(instructionOffset).get_ExpressionType();
     if (V_0 != null)
     {
         V_1 = this.GetTypeNode(V_0);
         V_1.AddSupertype(variableNode);
         dummyVar1 = this.resultingGraph.Add(V_1);
         return;
     }
     V_2 = this.GetVariables(instructionOffset).GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             V_1 = this.GetVariableNode(V_3);
             V_1.AddSupertype(variableNode);
             dummyVar0 = this.resultingGraph.Add(V_1);
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return;
 }
コード例 #22
0
 private string GetArgumentsString(Collection <ParameterDefinition> parameters)
 {
     if (parameters.get_Count() == 0)
     {
         return(String.Empty);
     }
     V_0       = new StringBuilder();
     dummyVar0 = V_0.Append('(');
     V_1       = true;
     V_2       = parameters.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             if (!V_1)
             {
                 dummyVar1 = V_0.Append(',');
             }
             V_4       = this.GetParameterTypeRepresentation(V_3.get_ParameterType());
             dummyVar2 = V_0.Append(V_4);
             V_1       = false;
         }
     }
     finally
     {
         V_2.Dispose();
     }
     dummyVar3 = V_0.Append(')');
     return(V_0.ToString());
 }
コード例 #23
0
 private ClassHierarchyNode FindGreatestCommonDescendant(ICollection <ClassHierarchyNode> typeNodes)
 {
     V_0 = null;
     V_1 = 0x7fffffff;
     V_2 = typeNodes.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = V_2.get_Current();
             V_4 = ExpressionTypeInferer.GetTypeIndex(V_3.get_NodeType());
             if (V_4 >= V_1)
             {
                 continue;
             }
             V_1 = V_4;
             V_0 = V_3;
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return(V_0);
 }
コード例 #24
0
 private Dictionary <PropertyDefinition, Expression> GetPropertyToValueMap(Expression expression)
 {
     V_0 = expression as AnonymousObjectCreationExpression;
     if (V_0 == null || V_0.get_Initializer().get_Expressions().get_Count() != 2)
     {
         return(null);
     }
     V_1 = new Dictionary <PropertyDefinition, Expression>();
     V_2 = V_0.get_Initializer().get_Expressions().GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3 = (BinaryExpression)V_2.get_Current();
             V_1.Add(((AnonymousPropertyInitializerExpression)V_3.get_Left()).get_Property(), V_3.get_Right());
         }
     }
     finally
     {
         if (V_2 != null)
         {
             V_2.Dispose();
         }
     }
     return(V_1);
 }
コード例 #25
0
			V_1 = Expression.Parameter(System.Type.GetTypeFromHandle(// 
			// Current member / type: System.Void Mix.Cms.Lib.ViewModels.MixPosts.UpdateViewModel::LoadAttributes(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Exception in: System.Void LoadAttributes(Mix.Cms.Lib.Models.Cms.MixCmsContext,Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction)
			// Specified method is not supported.
			// 
			// mailto: [email protected]


		private List<SupportedCulture> LoadCultures(string initCulture = null, MixCmsContext _context = null, IDbContextTransaction _transaction = null)
		{
			V_0 = ViewModelBase<MixCmsContext, MixCulture, SystemCultureViewModel>.Repository.GetModelList(_context, _transaction);
			V_1 = new List<SupportedCulture>();
			if (V_0.get_IsSucceed())
			{
				V_2 = V_0.get_Data().GetEnumerator();
				try
				{
					while (V_2.MoveNext())
					{
						V_3 = new Mix.Cms.Lib.ViewModels.MixPosts.UpdateViewModel.u003cu003ec__DisplayClass219_0();
						V_3.u003cu003e4__this = this;
						V_3.culture = V_2.get_Current();
						stackVariable19 = V_1;
						V_4 = new SupportedCulture();
						V_4.set_Icon(V_3.culture.get_Icon());
						V_4.set_Specificulture(V_3.culture.get_Specificulture());
						V_4.set_Alias(V_3.culture.get_Alias());
						V_4.set_FullName(V_3.culture.get_FullName());
						V_4.set_Description(V_3.culture.get_FullName());
						V_4.set_Id(V_3.culture.get_Id());
						V_4.set_Lcid(V_3.culture.get_Lcid());
						stackVariable49 = V_4;
						if (string.op_Equality(V_3.culture.get_Specificulture(), initCulture))
						{
							stackVariable55 = true;
						}
						else
						{
							stackVariable58 = _context.get_MixPost();
							V_5 = Expression.Parameter(System.Type.GetTypeFromHandle(// 
コード例 #26
0
 private ILogicalConstruct FindFollowNodes(HashSet <ILogicalConstruct> children)
 {
     V_0 = new HashSet <ILogicalConstruct>();
     V_1 = children.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current().get_AllSuccessors().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3 = (ILogicalConstruct)V_2.get_Current();
                     if (children.Contains(V_3))
                     {
                         continue;
                     }
                     dummyVar0 = V_0.Add(V_3);
                 }
             }
             finally
             {
                 ((IDisposable)V_2).Dispose();
             }
         }
     }
     finally
     {
         ((IDisposable)V_1).Dispose();
     }
     return(V_0.FirstOrDefault <ILogicalConstruct>());
 }
コード例 #27
0
 private void CreateGraph(IEnumerable <IntervalConstruct> intervals)
 {
     V_0 = intervals.GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             V_2 = V_1.get_Children().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3 = (ILogicalConstruct)V_2.get_Current();
                     V_4 = this.GetNodeSuccessors(V_3).GetEnumerator();
                     try
                     {
                         while (V_4.MoveNext())
                         {
                             V_5 = V_4.get_Current();
                             if (!this.nodeToInterval.ContainsKey(V_5) || this.nodeToInterval.get_Item(V_5) == V_1)
                             {
                                 continue;
                             }
                             V_6 = this.nodeToInterval.get_Item(V_5);
                             if (V_1.get_SameParentSuccessors().Contains(V_6))
                             {
                                 continue;
                             }
                             dummyVar0 = V_1.get_SameParentSuccessors().Add(V_6);
                             dummyVar1 = V_6.get_SameParentPredecessors().Add(V_1);
                         }
                     }
                     finally
                     {
                         if (V_4 != null)
                         {
                             V_4.Dispose();
                         }
                     }
                 }
             }
             finally
             {
                 ((IDisposable)V_2).Dispose();
             }
         }
     }
     finally
     {
         if (V_0 != null)
         {
             V_0.Dispose();
         }
     }
     return;
 }
コード例 #28
0
 private int CountInstructions(IEnumerable <ILogicalConstruct> trueSuccessor)
 {
     V_0 = 0;
     V_1 = trueSuccessor.GetEnumerator();
     try
     {
         while (V_1.MoveNext())
         {
             V_2 = V_1.get_Current().get_CFGBlocks().GetEnumerator();
             try
             {
                 while (V_2.MoveNext())
                 {
                     V_3 = V_2.get_Current();
                     V_4 = 0;
                     if (!this.blockToInstructionsCount.ContainsKey(V_3.get_TheBlock().get_First().get_Offset()))
                     {
                         V_5 = V_3.get_TheBlock().GetEnumerator();
                         try
                         {
                             while (V_5.MoveNext())
                             {
                                 dummyVar0 = V_5.get_Current();
                                 V_4       = V_4 + 1;
                             }
                         }
                         finally
                         {
                             if (V_5 != null)
                             {
                                 V_5.Dispose();
                             }
                         }
                         this.blockToInstructionsCount.Add(V_3.get_TheBlock().get_First().get_Offset(), V_4);
                     }
                     else
                     {
                         V_4 = this.blockToInstructionsCount.get_Item(V_3.get_TheBlock().get_First().get_Offset());
                     }
                     V_0 = V_0 + V_4;
                 }
             }
             finally
             {
                 ((IDisposable)V_2).Dispose();
             }
         }
     }
     finally
     {
         if (V_1 != null)
         {
             V_1.Dispose();
         }
     }
     return(V_0);
 }
コード例 #29
0
        private void MergeWithSingleChild()
        {
            V_0 = false;
            do
            {
                V_1 = null;
                V_2 = this.inferenceGraph.GetEnumerator();
                try
                {
                    while (V_2.MoveNext())
                    {
                        V_3 = V_2.get_Current();
                        if (V_3.get_IsHardNode() || V_3.get_CanAssignTo().get_Count() != 1 || V_3.get_SubTypes().get_Count() != 0)
                        {
                            continue;
                        }
                        V_4 = null;
                        V_5 = V_3.get_CanAssignTo().GetEnumerator();
                        try
                        {
                            if (V_5.MoveNext())
                            {
                                V_4 = V_5.get_Current();
                            }
                        }
                        finally
                        {
                            if (V_5 != null)
                            {
                                V_5.Dispose();
                            }
                        }
                        stackVariable27    = new ClassHierarchyNode[2];
                        stackVariable27[0] = V_3;
                        stackVariable27[1] = V_4;
                        V_1 = (ICollection <ClassHierarchyNode>)stackVariable27;
                        V_0 = true;
                        goto Label0;
                    }
                }
                finally
                {
                    if (V_2 != null)
                    {
                        V_2.Dispose();
                    }
                }
Label0:
                if (!V_0)
                {
                    continue;
                }
                this.MergeNodes(V_1);
            }while (V_0);
            return;
        }
コード例 #30
0
 public void MergeNodes(HashSet <ISingleEntrySubGraph> constructs, ISingleEntrySubGraph originalEntry, ISingleEntrySubGraph newConstruct)
 {
     V_0            = this.constructToNodeMap.get_Item(originalEntry);
     stackVariable5 = new DTNode(newConstruct);
     stackVariable5.set_Predecessor(V_0.get_Predecessor());
     V_1 = stackVariable5;
     V_1.get_DominanceFrontier().UnionWith(V_0.get_DominanceFrontier());
     dummyVar0 = V_1.get_DominanceFrontier().Remove(V_0);
     if (V_1.get_Predecessor() != null)
     {
         dummyVar1 = V_1.get_Predecessor().get_TreeEdgeSuccessors().Remove(V_0);
         dummyVar2 = V_1.get_Predecessor().get_TreeEdgeSuccessors().Add(V_1);
     }
     V_2 = constructs.GetEnumerator();
     try
     {
         while (V_2.MoveNext())
         {
             V_3       = V_2.get_Current();
             dummyVar3 = this.constructToNodeMap.Remove(V_3);
         }
     }
     finally
     {
         ((IDisposable)V_2).Dispose();
     }
     V_4 = this.constructToNodeMap.GetEnumerator();
     try
     {
         while (V_4.MoveNext())
         {
             V_5 = V_4.get_Current();
             if (V_5.get_Value().get_Predecessor() != null && constructs.Contains(V_5.get_Value().get_Predecessor().get_Construct()))
             {
                 V_5.get_Value().set_Predecessor(V_1);
                 dummyVar4 = V_1.get_TreeEdgeSuccessors().Add(V_5.get_Value());
             }
             if (!V_5.get_Value().get_DominanceFrontier().Remove(V_0))
             {
                 continue;
             }
             dummyVar5 = V_5.get_Value().get_DominanceFrontier().Add(V_1);
         }
     }
     finally
     {
         ((IDisposable)V_4).Dispose();
     }
     if (this.get_RootConstruct() == originalEntry)
     {
         this.set_RootConstruct(newConstruct);
     }
     this.constructToNodeMap.Add(newConstruct, V_1);
     return;
 }