public GoSDKTypedData(GoSDKInvocation invocation, string path, GoSDKTypeChain type, IVariable variable = null) { Debug.Assert(invocation != null); Debug.Assert(!string.IsNullOrEmpty(path) && type != null); Invocation = invocation; PropertyPath = path; Name = path.ExtractLastPath(); GoType = type; OriginalVariable = variable; }
public void EnsureType(GoSDKTypeChain type) { Debug.Assert(type != null); if (GoType == null) { GoType = type; } else if (GoType != type) { throw new TypeIncompatibleException($"[{type}] is not compatible with the existing type [{GoType}]"); } }
public TfProviderField() : this(null, RootFieldName) { GoType = new GoSDKTypeChain(GoSDKTerminalTypes.Complex); }