// ModifierEnum VisitModifier(JRefactory.Parser.Modifier m) // { // return (ModifierEnum)m; // } public override object Visit(AST.NamespaceDeclaration namespaceDeclaration, object data) { string name; if (currentNamespace.Count == 0) { name = namespaceDeclaration.NameSpace; } else { name = String.Concat((string)currentNamespace.Peek(), '.', namespaceDeclaration.NameSpace); } currentNamespace.Push(name); object ret = namespaceDeclaration.AcceptChildren(this, data); currentNamespace.Pop(); return ret; }
public override object Visit(AST.CompilationUnit compilationUnit, object data) { //TODO: usings, Comments compilationUnit.AcceptChildren(this, data); return cu; }
public override object Visit(AST.TypeDeclaration typeDeclaration, object data) { DefaultRegion region = GetRegion(typeDeclaration.StartLocation, typeDeclaration.EndLocation); Class c = new Class(cu, TranslateClassType(typeDeclaration.Type), typeDeclaration.Modifier, region); if (currentClass.Count > 0) { Class cur = ((Class)currentClass.Peek()); cur.InnerClasses.Add(c); c.FullyQualifiedName = String.Concat(cur.FullyQualifiedName, '.', typeDeclaration.Name); } else { if (currentNamespace.Count == 0) { c.FullyQualifiedName = typeDeclaration.Name; } else { c.FullyQualifiedName = String.Concat(currentNamespace.Peek(), '.', typeDeclaration.Name); } cu.Classes.Add(c); } if (typeDeclaration.BaseTypes != null) { foreach (string type in typeDeclaration.BaseTypes) { c.BaseTypes.Add(type); } } currentClass.Push(c); object ret = typeDeclaration.AcceptChildren(this, data); currentClass.Pop(); c.UpdateModifier(); return ret; }