public override object VisitUDefine(UHeaderParser.UDefineContext context) { if (_ignoreOfPragma) { return(null); } var name = context.uDefineName().GetText(); if (name.StartsWith("DECLARE_DYNAMIC_MULTICAST_DELEGATE")) { var ls = context.uMeta().uMetaParametrList(); _currentDelegate = Get(ls.uMetaParametr().uMetaParamKey().type(), n => new Delegate(n)); _currentDelegate.SourceFile = _currentFile; _currentDelegate.SourceLine = context.Start.Line; _currentDelegate.IsImplemented = true; _currentDelegate.IsTemplate = context.FoundChild <UHeaderParser.TemplateDefineContext>(); _currentDelegate.Description = _currentComment; _currentDelegateVariable = null; _currentUMeta = new Dictionary <string, string>(); if (ls.uMetaParametrList() != null) { VisitChildren(ls.uMetaParametrList()); } _currentDelegate = null; _currentUMeta = null; _currentComment = ""; } return(base.VisitUDefine(context)); }
public void Append(UHeaderParser.TranslationUnitContext translationunit, string file) { _preprocessorIfCount = 0; _ignoreOfAccessModifier = false; _ignoreOfPragma = false; _currentComment = ""; _currentFile = file; _currentDelegateVariable = null; _currentDelegate = null; _currentClass = null; _currentEnum = null; Visit(translationunit); }