Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //var ttt = CSharpSyntaxTree.ParseText("this.TestowaFunkcja(this.Ala * 2, 2)");

            var ttt = CSharpSyntaxTree.ParseText(@"
public class Pracownik
    {
        public string Nazwisko { get; set; }
        public string Imie { get; set; }
        public int RokUrodzenia { get; set; }
        public int RozmiarButa { get; set; }

        public string GenerujRaport()
        {
            var ret = Imie + ' ' + Nazwisko + ' : ';
            int i = 1;
            i = i + RozmiarButa + RokUrodzenia;

            var d = 1.4 * RozmiarButa + i;

            for (int j = i; j < RozmiarButa; j++)
            {
                ret += j;
            }

            return ret;
        }
    }".Replace("'", "\""));

            var root = ttt.GetRoot() as Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax;

            var importer = new CSharpImporter();
            var com      = importer.Import(root);
            //var md = root.Members[0] as Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax;
        }
Exemplo n.º 2
0
        public void Importer_Returns_Valid_Classes()
        {
            // Arrange
            var assembly = Assembly.GetExecutingAssembly().Location;
            var root     = Path.GetFullPath(Path.Combine(assembly, @"..\..\..\..\"));
            var project  = Path.GetFullPath(Path.Combine(root, @"core\"));
            var importer = new CSharpImporter();

            // Act
            var classes = importer.RetrieveClasses(project);

            // Assert
            Assert.IsTrue(classes.Any());
        }
Exemplo n.º 3
0
        public void Importer_Convert_Returns_Valid_Class()
        {
            // Arrange
            var importer = new CSharpImporter();
            var source   = CreateClassSourceCode();

            // Act
            var @class = importer.Convert(source);

            // Assert
            Assert.IsNotNull(@class);
            Assert.AreEqual(5, @class.Usings.Count());
            Assert.AreEqual("Microsoft.CodeAnalysis", @class.Usings.First().Text);
            Assert.AreEqual("rosinator.core", @class.Namespace);
            Assert.IsNotNull(@class.Methods.FirstOrDefault(m => m.Name == "Convert"));
        }