/// <summary> /// Scans a block node. Not working with DMethods. /// Automatically resolves node matches so base types etc. will be specified directly after the search operation. /// </summary> public static List <AbstractType> SearchChildrenAndResolve(ResolutionContext ctxt, DSymbol t, int nameHash, ISyntaxRegion idObject = null) { var scan = new SingleNodeNameScan(ctxt, nameHash, idObject); if (t is TemplateIntermediateType) { scan.DeepScanClass(t as UserDefinedType, MemberFilter.All); } else if (t.Definition is IBlockNode) { scan.ScanBlock(t.Definition as IBlockNode, CodeLocation.Empty, MemberFilter.All); } return(scan.matches_types); }
/// <summary> /// Scans a block node. Not working with DMethods. /// Automatically resolves node matches so base types etc. will be specified directly after the search operation. /// </summary> public static List<AbstractType> SearchChildrenAndResolve(ResolutionContext ctxt, DSymbol t, int nameHash, ISyntaxRegion idObject = null) { var scan = new SingleNodeNameScan(ctxt, nameHash, idObject); if (t is TemplateIntermediateType) scan.DeepScanClass(t as UserDefinedType, MemberFilter.All); else if (t.Definition is IBlockNode) scan.ScanBlock(t.Definition as IBlockNode, CodeLocation.Empty, MemberFilter.All); return scan.matches_types; }
/// <summary> /// Scans a block node. Not working with DMethods. /// Automatically resolves node matches so base types etc. will be specified directly after the search operation. /// </summary> public static List<AbstractType> SearchChildrenAndResolve(ResolutionContext ctxt, IBlockNode block, int nameHash, object idObject = null) { var scan = new SingleNodeNameScan(ctxt, nameHash, idObject); scan.ScanBlock(block, CodeLocation.Empty, MemberFilter.All); return scan.matches_types; }