public static TypeMention Create(Context cx, TypeSyntax syntax, IEntity parent, Type type, Microsoft.CodeAnalysis.Location loc = null) { var ret = new TypeMention(cx, syntax, parent, type, loc); cx.Try(syntax, null, () => ret.Populate()); return ret; }
private void Emit(TextWriter trapFile, Microsoft.CodeAnalysis.Location loc, IEntity parent, Type type) { trapFile.type_mention(this, type.TypeRef, parent); trapFile.type_mention_location(this, cx.CreateLocation(loc)); }
public AccessStepPack(string identifier, Microsoft.CodeAnalysis.Location location) =>
void Emit(Microsoft.CodeAnalysis.Location loc, IEntity parent, Type type) { cx.Emit(Tuples.type_mention(this, type.TypeRef, parent)); cx.Emit(Tuples.type_mention_location(this, cx.Create(loc))); }
public AccessStepPack Add(string identifier, Microsoft.CodeAnalysis.Location location) { Prefix.Add(Last); Last = new AccessStep(identifier, location); return(this); }
private record AccessStep(string Identifier, Microsoft.CodeAnalysis.Location Location);
/// <summary> /// Creates a Location entity. /// </summary> /// <param name="cx">The extraction context.</param> /// <param name="location">The CodeAnalysis location.</param> /// <returns>The Location entity.</returns> public static Location Create(this Context cx, Microsoft.CodeAnalysis.Location location) => Location.Create(cx, location);
private TypeMention(Context cx, TypeSyntax syntax, IEntity parent, Type type, Microsoft.CodeAnalysis.Location loc = null) : base(cx) { this.syntax = syntax; this.parent = parent; this.type = type; this.loc = loc; }
public static TypeMention Create(Context cx, TypeSyntax syntax, IEntity parent, AnnotatedType type, Microsoft.CodeAnalysis.Location loc = null) => Create(cx, syntax, parent, type.Type, loc);