public virtual bool Lookup(DName name, out NameLookupInfo nameInfo, NameLookupPreferences preferences = NameLookupPreferences.None) { var enumValue = _enums.FirstOrDefault(symbol => symbol.InvariantName == name); if (enumValue != null) { nameInfo = new NameLookupInfo(BindKind.Enum, enumValue.EnumType, DPath.Root, 0, enumValue); return(true); } nameInfo = default; return(false); }
public override bool Lookup(DName name, out NameLookupInfo nameInfo, NameLookupPreferences preferences = NameLookupPreferences.None) { // Kinds of globals: // - global formula // - parameters string str = name.Value; var parameter = _parameters.MaybeGetFieldType(str); if (parameter != null) { var data = new ParameterData { ParameterName = str }; var type = parameter._type; nameInfo = new NameLookupInfo( BindKind.PowerFxResolvedObject, type, DPath.Root, 0, data ); return(true); } if (_parent.Formulas.TryGetValue(str, out var fi)) { var data = fi; var type = fi._type._type; nameInfo = new NameLookupInfo( BindKind.PowerFxResolvedObject, type, DPath.Root, 0, data ); return(true); } return(base.Lookup(name, out nameInfo, preferences)); }