public void DefaultValues() { var sut = new UsageContext(); Assert.AreEqual(Names.UnknownType, sut.Enclosings.Type); Assert.AreEqual(Names.UnknownMethod, sut.Enclosings.Method); Assert.AreEqual(Lists.NewList <Query>(), sut.AllQueries); Assert.AreEqual(new ScopedNameResolver(), sut.NameResolver); }
private IOContext(UsageContext context, MergeInfo mergeInfo) { Debug.Assert(context != UsageContext.MERGE || mergeInfo != null, "MergeInfo must not be null if context is MERGE"); Debug.Assert(context != UsageContext.FLUSH, "Use IOContext(FlushInfo) to create a FLUSH IOContext"); this.Context = context; this.ReadOnce = false; this.MergeInfo = mergeInfo; this.FlushInfo = null; }
public void SetUp() { _sut = new UsageContext { Enclosings = { Type = SomeType, Method = SomeMethodName } }; }
public void ReferenceIsMissing() { var expr = new CompletionExpression { VariableReference = new VariableReference() }; var context = new UsageContext(); _sut.Visit(expr, context); Assert.Null(context.TargetType); }
public void SettingValues() { var sut = new UsageContext { Enclosings = { Type = SomeType, Method = SomeMethodName } }; Assert.AreEqual(SomeType, sut.Enclosings.Type); Assert.AreEqual(SomeMethodName, sut.Enclosings.Method); }
public void ReferenceExistsButIsUndefinedInScope() { var expr = new CompletionExpression { VariableReference = new VariableReference { Identifier = "a" } }; var context = new UsageContext(); _sut.Visit(expr, context); Assert.Null(context.TargetType); }
public void HappyPath() { var expr = new CompletionExpression { VariableReference = new VariableReference { Identifier = "a" } }; var context = new UsageContext(); context.DefineVariable("a", Names.Type("T,P"), DefinitionSites.CreateUnknownDefinitionSite()); _sut.Visit(expr, context); Assert.AreEqual(new CoReTypeName("LT"), context.TargetType); }
private static List <UsageContext> ParseUsageContext(string value) { List <UsageContext> usageContexts = new List <UsageContext>(); JObject usageContextObject = JObject.Parse(value); JArray usageContextArray = usageContextObject["useContext"] as JArray; List <UsageContextElement> usageContextElements = JsonConvert.DeserializeObject <List <UsageContextElement> >(usageContextArray.ToString()); foreach (UsageContextElement usageContextElement in usageContextElements) { UsageContext usageContext = new UsageContext(); if (usageContextElement.Code != null) { usageContext.Code = new Coding { System = string.IsNullOrWhiteSpace(usageContextElement.Code.System) ? null : usageContextElement.Code.System, Code = string.IsNullOrWhiteSpace(usageContextElement.Code.Code) ? null : usageContextElement.Code.Code, Display = string.IsNullOrWhiteSpace(usageContextElement.Code.Display) ? null : usageContextElement.Code.Display }; } if (usageContextElement.ValueCodeableConcept != null) { foreach (CodingElement codingElement in usageContextElement.ValueCodeableConcept.Coding) { usageContext.Value = new CodeableConcept { Coding = new List <Coding> { new Coding { System = string.IsNullOrWhiteSpace(codingElement.System) ? null : codingElement.System, Code = string.IsNullOrWhiteSpace(codingElement.Code) ? null : codingElement.Code, Display = string.IsNullOrWhiteSpace(codingElement.Display) ? null : codingElement.Display } } }; } } usageContexts.Add(usageContext); } return(usageContexts); }
public IOContext(UsageContext context) : this(context, null) { }
private IOContext(UsageContext? context, MergeInfo mergeInfo) { Debug.Assert(context != UsageContext.MERGE || mergeInfo != null, "MergeInfo must not be null if context is MERGE"); Debug.Assert(context != UsageContext.FLUSH, "Use IOContext(FlushInfo) to create a FLUSH IOContext"); this.Context = context; this.ReadOnce = false; this.MergeInfo = mergeInfo; this.FlushInfo = null; }
public IOContext(UsageContext? context) : this(context, null) { }
public static void InitializeUsageContext(UsageContext context) { CurrentUsageContext = context; }