Author: jbevain
Date: 2007-12-09 11:06:43 -0500 (Sun, 09 Dec 2007)
New Revision: 91005

Added:
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/TryCastExpression.cs
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-afg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-cfg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast.il
Modified:
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ActionFlowTestFixture.cs
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ControlFlowTestFixture.cs
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ActionFlowGraphBuilder.cs
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ExpressionDecompiler.cs
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis/Cecil.FlowAnalysis.csproj
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/AbstractCodeStructureVisitor.cs
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CastExpression.cs
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CodeElementType.cs
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ExpressionPrinter.cs
   
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ICodeStructureVisitor.cs
   trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/UnaryOperator.cs
   trunk/cecil/flowanalysis/ChangeLog
   trunk/cecil/flowanalysis/codegen/CodeStructureModel.boo
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals1-afg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals1.il
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals2-afg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals2.il
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-afg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-cfg.txt
   trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast.il
Log:
support for isinst

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ActionFlowGraphBuilder.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ActionFlowGraphBuilder.cs
    2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ActionFlowGraphBuilder.cs
    2007-12-09 16:06:43 UTC (rev 91005)
@@ -426,16 +426,16 @@
                {
                        Add (new InvokeActionBlock (instruction, 
(MethodInvocationExpression) Pop ()));
                }
-               
+
                public override void OnCallvirt (Instruction instruction)
                {
                        OnCall (instruction);
                }
-               
+
                public override void OnPop (Instruction instruction)
                {
                        Visit (instruction.Previous);
-               }               
+               }
 
                public override void OnBr (Instruction instruction)
                {

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ExpressionDecompiler.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ExpressionDecompiler.cs  
    2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/ActionFlow/ExpressionDecompiler.cs  
    2007-12-09 16:06:43 UTC (rev 91005)
@@ -71,18 +71,26 @@
                {
                        OnCall (instruction);
                }
-               
+
                public override void OnCastclass (Instruction instruction)
                {
                        Push (
-                               new CastExpression(
-                                       Pop(),
-                                       (TypeReference)instruction.Operand));
+                               new CastExpression (
+                                       Pop (),
+                                       (TypeReference) instruction.Operand));
                }
 
+               public override void OnIsinst (Instruction instruction)
+               {
+                       Push (
+                               new TryCastExpression (
+                                       Pop (),
+                                       (TypeReference) instruction.Operand));
+               }
+
                public override void OnCall (Instruction instruction)
                {
-                       MethodReference method = 
(MethodReference)instruction.Operand;
+                       MethodReference method = (MethodReference) 
instruction.Operand;
 
                        ExpressionCollection args = PopRange 
(method.Parameters.Count);
                        Expression target = method.HasThis ? Pop () : null;
@@ -91,7 +99,7 @@
                                new MethodInvocationExpression (
                                        new MethodReferenceExpression (target, 
method), args));
                }
-               
+
                public override void OnPop (Instruction instruction)
                {
                }

Modified: trunk/cecil/flowanalysis/Cecil.FlowAnalysis/Cecil.FlowAnalysis.csproj
===================================================================
--- trunk/cecil/flowanalysis/Cecil.FlowAnalysis/Cecil.FlowAnalysis.csproj       
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/Cecil.FlowAnalysis/Cecil.FlowAnalysis.csproj       
2007-12-09 16:06:43 UTC (rev 91005)
@@ -101,6 +101,7 @@
       <SubType>Code</SubType>
     </Compile>
     <Compile Include="CodeStructure\BlockStatement.cs" />
+    <Compile Include="CodeStructure\CastExpression.cs" />
     <Compile Include="CodeStructure\CodeElementType.cs">
       <SubType>Code</SubType>
     </Compile>
@@ -124,6 +125,7 @@
     <Compile Include="CodeStructure\Statement.cs" />
     <Compile Include="CodeStructure\StatementCollection.cs" />
     <Compile Include="CodeStructure\ThisReferenceExpression.cs" />
+    <Compile Include="CodeStructure\TryCastExpression.cs" />
     <Compile Include="CodeStructure\UnaryExpression.cs" />
     <Compile Include="CodeStructure\UnaryOperator.cs">
       <SubType>Code</SubType>
@@ -142,7 +144,7 @@
     <Compile Include="Utilities\InstructionDispatcher.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\..\Mono.Cecil\Mono.Cecil.csproj">
+    <ProjectReference 
Include="..\..\..\mcs\class\Mono.Cecil\Mono.Cecil.csproj">
       <Project>{D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}</Project>
       <Name>Mono.Cecil</Name>
     </ProjectReference>

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/AbstractCodeStructureVisitor.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/AbstractCodeStructureVisitor.cs
   2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/AbstractCodeStructureVisitor.cs
   2007-12-09 16:06:43 UTC (rev 91005)
@@ -113,5 +113,10 @@
                {
                        Visit (node.Target);
                }
+
+               public virtual void Visit (TryCastExpression node)
+               {
+                       Visit (node.Target);
+               }
        }
 }


Property changes on: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CastExpression.cs
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CodeElementType.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CodeElementType.cs    
    2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/CodeElementType.cs    
    2007-12-09 16:06:43 UTC (rev 91005)
@@ -41,7 +41,8 @@
                PropertyReferenceExpression,
                BlockStatement,
                ReturnStatement,
-               CastExpression
+               CastExpression,
+               TryCastExpression
        }
 }
 

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ExpressionPrinter.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ExpressionPrinter.cs  
    2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ExpressionPrinter.cs  
    2007-12-09 16:06:43 UTC (rev 91005)
@@ -73,7 +73,7 @@
                        Visit (node.Right);
                        Write (")");
                }
-               
+
                public override void Visit (CastExpression node)
                {
                        Write ("((");
@@ -83,6 +83,15 @@
                        Write (")");
                }
 
+               public override void Visit (TryCastExpression node)
+               {
+                       Write ("(");
+                       Visit (node.Target);
+                       Write (" as ");
+                       Write (node.ToType.FullName);
+                       Write (")");
+               }
+
                public override void Visit (ArgumentReferenceExpression node)
                {
                        Write (node.Parameter.Name);

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ICodeStructureVisitor.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ICodeStructureVisitor.cs
  2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/ICodeStructureVisitor.cs
  2007-12-09 16:06:43 UTC (rev 91005)
@@ -42,5 +42,6 @@
                void Visit (BlockStatement node);
                void Visit (ReturnStatement node);
                void Visit (CastExpression node);
+               void Visit (TryCastExpression node);
        }
 }

Added: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/TryCastExpression.cs
===================================================================
--- 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/TryCastExpression.cs  
    2007-12-09 14:56:05 UTC (rev 91004)
+++ 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/TryCastExpression.cs  
    2007-12-09 16:06:43 UTC (rev 91005)
@@ -0,0 +1,63 @@
+#region license
+//
+// (C) db4objects Inc. http://www.db4o.com
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#endregion
+
+// Warning: generated do not edit
+
+using Mono.Cecil;
+using Mono.Cecil.Cil;
+
+namespace Cecil.FlowAnalysis.CodeStructure {
+
+       public class TryCastExpression : Expression {
+               Expression _target;
+               TypeReference _toType;
+
+               public TryCastExpression (Expression target, TypeReference 
toType)
+               {
+                       _target = target;
+                       _toType = toType;
+               }
+
+               public Expression Target
+               {
+                       get     { return _target; }
+               }
+
+               public TypeReference ToType
+               {
+                       get     { return _toType; }
+               }
+
+               public override CodeElementType CodeElementType
+               {
+                       get { return CodeElementType.TryCastExpression; }
+               }
+
+               public override void Accept (ICodeStructureVisitor visitor)
+               {
+                       visitor.Visit (this);
+               }
+       }
+}


Property changes on: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/TryCastExpression.cs
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/UnaryOperator.cs
===================================================================
--- trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/UnaryOperator.cs  
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/Cecil.FlowAnalysis/CodeStructure/UnaryOperator.cs  
2007-12-09 16:06:43 UTC (rev 91005)
@@ -23,9 +23,8 @@
 //
 #endregion
 
-using System;
-
 namespace Cecil.FlowAnalysis.CodeStructure {
+
        public enum UnaryOperator {
                None,
                Not

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ActionFlowTestFixture.cs
===================================================================
--- trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ActionFlowTestFixture.cs  
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ActionFlowTestFixture.cs  
2007-12-09 16:06:43 UTC (rev 91005)
@@ -34,14 +34,20 @@
 
        [TestFixture]
        public class ActionFlowTestFixture : AbstractFlowAnalysisTestFixture {
-               
+
                [Test]
                public void StringCast ()
                {
-                       RunTestCase("StringCast");
+                       RunTestCase ("StringCast");
                }
 
                [Test]
+               public void StringTryCast ()
+               {
+                       RunTestCase ("StringTryCast");
+               }
+
+               [Test]
                public void IntPropertyEquals1 ()
                {
                        RunTestCase ("IntPropertyEquals1");

Modified: 
trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ControlFlowTestFixture.cs
===================================================================
--- trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ControlFlowTestFixture.cs 
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/Cecil.FlowAnalysis.Tests/ControlFlowTestFixture.cs 
2007-12-09 16:06:43 UTC (rev 91005)
@@ -28,14 +28,20 @@
 namespace Cecil.FlowAnalysis.Tests {
        [TestFixture]
        public class ControlFlowTestFixture : AbstractControlFlowTestFixture {
-               
+
                [Test]
                public void StringCast ()
                {
-                       RunTestCase("StringCast");
+                       RunTestCase ("StringCast");
                }
-               
+
                [Test]
+               public void StringTryCast ()
+               {
+                       RunTestCase ("StringTryCast");
+               }
+
+               [Test]
                public void FloatGreaterThan ()
                {
                        RunTestCase ("FloatGreaterThan");

Modified: trunk/cecil/flowanalysis/ChangeLog
===================================================================
--- trunk/cecil/flowanalysis/ChangeLog  2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/ChangeLog  2007-12-09 16:06:43 UTC (rev 91005)
@@ -1,3 +1,7 @@
+2007-09-30  Jb Evain  <[EMAIL PROTECTED]>
+
+       * Support for isinst.
+
 2007-11-26     Rodrigo B. de Oliveira <[EMAIL PROTECTED]>
        * codegen/gen-ControlFlowGraphRegression.boo
          codegen/CodeStructureModel.boo
@@ -13,10 +17,10 @@
          Cecil.FlowAnalysis.Tests/ControlFlowTestFixture.cs
          testcases/FlowAnalysis/StringCast.il
          testcases/FlowAnalysis/StringCast-afg.txt
-         testcases/FlowAnalysis/StringCast-cfg.txt:      
+         testcases/FlowAnalysis/StringCast-cfg.txt:    
                Support for converting castclass to CastExpression and callvirt 
to
                MethodInvocationExpression.
-               
+
 2007-09-30  Jb Evain  <[EMAIL PROTECTED]>
 
        * README: test commit script

Modified: trunk/cecil/flowanalysis/codegen/CodeStructureModel.boo
===================================================================
--- trunk/cecil/flowanalysis/codegen/CodeStructureModel.boo     2007-12-09 
14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/codegen/CodeStructureModel.boo     2007-12-09 
16:06:43 UTC (rev 91005)
@@ -58,7 +58,11 @@
 
 class ReturnStatement(Statement):
        Expression as Expression
-       
+
 class CastExpression(Expression):
        Target as Expression
        ToType as TypeReference
+
+class TryCastExpression(Expression):
+       Target as Expression
+       ToType as TypeReference


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals1-afg.txt
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals1.il
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals2-afg.txt
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/IntPropertyEquals2.il
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native

Modified: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-afg.txt
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-afg.txt  
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-afg.txt  
2007-12-09 16:06:43 UTC (rev 91005)
@@ -1,3 +1,3 @@
-((System.Collections.IEnumerable)s).GetEnumerator()
-goto block3
-block3: return
+((System.Collections.IEnumerable)s).GetEnumerator()
+goto block3
+block3: return


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-afg.txt
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native

Modified: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-cfg.txt
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-cfg.txt  
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-cfg.txt  
2007-12-09 16:06:43 UTC (rev 91005)
@@ -1,13 +1,13 @@
-block 1:
-       body:
-               IL_0000: nop
-               IL_0001: ldarg.0
-               IL_0002: castclass System.Collections.IEnumerable
-               IL_0007: callvirt System.Collections.IEnumerator 
System.Collections.IEnumerable::GetEnumerator()
-               IL_000c: pop
-               IL_000d: br.s IL_000f
-       successors:
-               block 2
-block 2:
-       body:
-               IL_000f: ret
+block 1:
+       body:
+               IL_0000: nop
+               IL_0001: ldarg.0
+               IL_0002: castclass System.Collections.IEnumerable
+               IL_0007: callvirt System.Collections.IEnumerator 
System.Collections.IEnumerable::GetEnumerator()
+               IL_000c: pop
+               IL_000d: br.s IL_000f
+       successors:
+               block 2
+block 2:
+       body:
+               IL_000f: ret


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast-cfg.txt
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native

Modified: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast.il
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast.il       
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast.il       
2007-12-09 16:06:43 UTC (rev 91005)
@@ -1,17 +1,17 @@
-.assembly extern mscorlib {}
-.assembly TestCase {}
-
-.class public auto ansi beforefieldinit TestCase
-       extends [mscorlib]System.Object
-{
-       .method public hidebysig static void Main(string[] s) cil managed
-       {
-               IL_0000: nop
-               IL_0001: ldarg.0
-               IL_0002: castclass [mscorlib]System.Collections.IEnumerable
-               IL_0007: callvirt instance class 
[mscorlib]System.Collections.IEnumerator 
[mscorlib]System.Collections.IEnumerable::GetEnumerator()
-               IL_000c: pop
-               IL_000d: br.s IL_000f
-               IL_000f: ret
-       }
-}
+.assembly extern mscorlib {}
+.assembly TestCase {}
+
+.class public auto ansi beforefieldinit TestCase
+       extends [mscorlib]System.Object
+{
+       .method public hidebysig static void Main(string[] s) cil managed
+       {
+               IL_0000: nop
+               IL_0001: ldarg.0
+               IL_0002: castclass [mscorlib]System.Collections.IEnumerable
+               IL_0007: callvirt instance class 
[mscorlib]System.Collections.IEnumerator 
[mscorlib]System.Collections.IEnumerable::GetEnumerator()
+               IL_000c: pop
+               IL_000d: br.s IL_000f
+               IL_000f: ret
+       }
+}


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringCast.il
___________________________________________________________________
Name: svn:executable
   - *
Name: svn:eol-style
   + native

Added: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-afg.txt
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-afg.txt       
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-afg.txt       
2007-12-09 16:06:43 UTC (rev 91005)
@@ -0,0 +1,3 @@
+(s as System.Collections.IEnumerable).GetEnumerator()
+goto block3
+block3: return


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-afg.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-cfg.txt
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-cfg.txt       
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-cfg.txt       
2007-12-09 16:06:43 UTC (rev 91005)
@@ -0,0 +1,13 @@
+block 1:
+       body:
+               IL_0000: nop
+               IL_0001: ldarg.0
+               IL_0002: isinst System.Collections.IEnumerable
+               IL_0007: callvirt System.Collections.IEnumerator 
System.Collections.IEnumerable::GetEnumerator()
+               IL_000c: pop
+               IL_000d: br.s IL_000f
+       successors:
+               block 2
+block 2:
+       body:
+               IL_000f: ret


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast-cfg.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast.il
===================================================================
--- trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast.il    
2007-12-09 14:56:05 UTC (rev 91004)
+++ trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast.il    
2007-12-09 16:06:43 UTC (rev 91005)
@@ -0,0 +1,17 @@
+.assembly extern mscorlib {}
+.assembly TestCase {}
+
+.class public auto ansi beforefieldinit TestCase
+       extends [mscorlib]System.Object
+{
+       .method public hidebysig static void Main(string[] s) cil managed
+       {
+               IL_0000: nop
+               IL_0001: ldarg.0
+               IL_0002: isinst [mscorlib]System.Collections.IEnumerable
+               IL_0007: callvirt instance class 
[mscorlib]System.Collections.IEnumerator 
[mscorlib]System.Collections.IEnumerable::GetEnumerator()
+               IL_000c: pop
+               IL_000d: br.s IL_000f
+               IL_000f: ret
+       }
+}


Property changes on: 
trunk/cecil/flowanalysis/testcases/FlowAnalysis/StringTryCast.il
___________________________________________________________________
Name: svn:eol-style
   + native

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to