public void InnerType() { memberExcludeTransformer = new MemberExcludeTransformer("$MyInnerType"); string program = TestUtil.TypeMemberParse("public class MyInnerType{}"); string expected = TestUtil.NamespaceMemberParse("public class Test{}"); CompilationUnit cu = TestUtil.ParseProgram(program); memberExcludeTransformer.VisitCompilationUnit(cu, null); TestUtil.CodeEqual(expected, TestUtil.GenerateCode(cu)); }
public void CurrentTypeMethod() { memberExcludeTransformer = new MemberExcludeTransformer("RemoveMethod"); string program = TestUtil.TypeMemberParse("public void Method() {int i; RemoveMethod(); i = 0;} private void RemoveMethod() {}"); string expected = TestUtil.CSharpTypeMemberParse("public void Method() {int i; i = 0;}"); CompilationUnit cu = TestUtil.ParseProgram(program); memberExcludeTransformer.VisitCompilationUnit(cu, null); TestUtil.CodeEqual(expected, TestUtil.GenerateCode(cu)); }
private void ParseAndPreVisit() { foreach (Source entry in Sources.Values) { if (!entry.CodeFile) { continue; } progress.Increment("Parsing"); string convetedCode = ConvertFile(entry.Code); StringReader reader = new StringReader(convetedCode); IParser parser = ParserFactory.CreateParser(GetLanguage(), reader); parser.ParseMethodBodies = true; parser.Parse(); CompilationUnit compilationUnit = parser.CompilationUnit; compilationUnit.Parent = new TypeReference(entry.File); parentVisitor.VisitCompilationUnit(compilationUnit, null); typesVisitor.VisitCompilationUnit(compilationUnit, null); projectTypeReferenceCorrector.VisitCompilationUnit(compilationUnit, null); if (Stubs.Contains(entry.File)) { StubTransformer st = new StubTransformer(); st.Members = (string)Stubs[entry.File]; st.VisitCompilationUnit(compilationUnit, null); } if (MembersExcludes.Contains(entry.File)) { string members = MembersExcludes[entry.File].ToString(); MemberExcludeTransformer met = new MemberExcludeTransformer(members); met.VisitCompilationUnit(compilationUnit, null); if (met.ExcludedType != null && met.ExcludedMembers != null) { baseTypeToExcludeMethod[met.ExcludedType] = met.ExcludedMembers; } } entry.CompilationUnit = compilationUnit; entry.Parser = parser; } }
private void ParseAndPreVisit() { foreach (Source entry in Sources.Values) { if (!entry.CodeFile) continue; progress.Increment("Parsing"); string convetedCode = ConvertFile(entry.Code); StringReader reader = new StringReader(convetedCode); IParser parser = ParserFactory.CreateParser(GetLanguage(), reader); parser.ParseMethodBodies = true; parser.Parse(); CompilationUnit compilationUnit = parser.CompilationUnit; compilationUnit.Parent = new TypeReference(entry.File); parentVisitor.VisitCompilationUnit(compilationUnit, null); typesVisitor.VisitCompilationUnit(compilationUnit, null); projectTypeReferenceCorrector.VisitCompilationUnit(compilationUnit, null); if (Stubs.Contains(entry.File)) { StubTransformer st = new StubTransformer(); st.Members = (string) Stubs[entry.File]; st.VisitCompilationUnit(compilationUnit, null); } if (MembersExcludes.Contains(entry.File)) { string members = MembersExcludes[entry.File].ToString(); MemberExcludeTransformer met = new MemberExcludeTransformer(members); met.VisitCompilationUnit(compilationUnit, null); if (met.ExcludedType != null && met.ExcludedMembers != null) baseTypeToExcludeMethod[met.ExcludedType] = met.ExcludedMembers; } entry.CompilationUnit = compilationUnit; entry.Parser = parser; } }