public Var(VarInfo varInfo) { Name = varInfo.Name; DefinedAt = varInfo.DefinedAt; _parseInfo = varInfo.ParseInfo; AccessLevel = varInfo.AccessLevel; WholeContext = varInfo.WholeContext; CodeType = varInfo.Type; InExtendedCollection = varInfo.InExtendedCollection; Ref = varInfo.Ref; ID = varInfo.ID; Static = varInfo.Static; Recursive = varInfo.Recursive; BridgeInvocable = varInfo.BridgeInvocable; RequiresCapture = varInfo.RequiresCapture; IsMacro = varInfo.IsMacro; Virtual = varInfo.Virtual; Override = varInfo.Override; _tokenType = varInfo.TokenType; _tokenModifiers = varInfo.TokenModifiers.ToArray(); _handleRestrictedCalls = varInfo.HandleRestrictedCalls; _inferType = varInfo.InferType; _initialValueContext = varInfo.InitialValueContext; _initialValueResolve = varInfo.InitialValueResolve; _operationalScope = varInfo.Scope; _variableTypeHandler = varInfo.VariableTypeHandler; if (!_inferType) { AddScriptData(); } if (ID != -1) { if (VariableType == VariableType.Global) { _parseInfo.TranslateInfo.VarCollection.Reserve(ID, true, _parseInfo.Script.Diagnostics, DefinedAt.range); } else if (VariableType == VariableType.Player) { _parseInfo.TranslateInfo.VarCollection.Reserve(ID, false, _parseInfo.Script.Diagnostics, DefinedAt.range); } } // Get the initial value. if (_initialValueResolve == InitialValueResolve.Instant) { GetInitialValue(); } else { _parseInfo.TranslateInfo.StagedInitiation.On(InitiationStage.Content, GetInitialValue); } if (DefinedAt != null) { _parseInfo.Script.AddCodeLensRange(new ReferenceCodeLensRange(this, _parseInfo, varInfo.CodeLensType, DefinedAt.range)); _parseInfo.Script.Elements.AddDeclarationCall(this, new DeclarationCall(DefinedAt.range, true)); } }
public Var(VarInfo varInfo) { Name = varInfo.Name; DefinedAt = varInfo.DefinedAt; parseInfo = varInfo.ParseInfo; AccessLevel = varInfo.AccessLevel; DefinedAt = varInfo.DefinedAt; WholeContext = varInfo.WholeContext; CodeType = varInfo.Type; VariableType = varInfo.VariableType; StoreType = varInfo.StoreType; InExtendedCollection = varInfo.InExtendedCollection; ID = varInfo.ID; Static = varInfo.Static; Recursive = varInfo.Recursive; BridgeInvocable = varInfo.BridgeInvocable; RequiresCapture = varInfo.RequiresCapture; _tokenType = varInfo.TokenType; _tokenModifiers = varInfo.TokenModifiers.ToArray(); _handleRestrictedCalls = varInfo.HandleRestrictedCalls; _initalValueContext = varInfo.InitialValueContext; _initialValueResolve = varInfo.InitialValueResolve; _operationalScope = varInfo.OperationalScope; if (ID != -1) { if (VariableType == VariableType.Global) { parseInfo.TranslateInfo.VarCollection.Reserve(ID, true, parseInfo.Script.Diagnostics, DefinedAt.range); } else if (VariableType == VariableType.Player) { parseInfo.TranslateInfo.VarCollection.Reserve(ID, false, parseInfo.Script.Diagnostics, DefinedAt.range); } } if (DefinedAt.range != null) { parseInfo.Script.AddToken(DefinedAt.range, _tokenType, _tokenModifiers); parseInfo.Script.AddHover(DefinedAt.range, GetLabel(true)); parseInfo.TranslateInfo.GetComponent <SymbolLinkComponent>().AddSymbolLink(this, DefinedAt, true); } if (_initialValueResolve == InitialValueResolve.Instant) { GetInitialValue(); } else { parseInfo.TranslateInfo.ApplyBlock(this); } parseInfo.Script.AddCodeLensRange(new ReferenceCodeLensRange(this, parseInfo, varInfo.CodeLensType, DefinedAt.range)); }
public Var(VarInfo varInfo) { Name = varInfo.Name; DefinedAt = varInfo.DefinedAt; parseInfo = varInfo.ParseInfo; AccessLevel = varInfo.AccessLevel; DefinedAt = varInfo.DefinedAt; WholeContext = varInfo.WholeContext; CodeType = varInfo.Type; VariableType = varInfo.VariableType; StoreType = varInfo.StoreType; InExtendedCollection = varInfo.InExtendedCollection; ID = varInfo.ID; Static = varInfo.Static; _initalValueContext = varInfo.InitialValueContext; _initialValueResolve = varInfo.InitialValueResolve; _operationalScope = varInfo.OperationalScope; if (ID != -1) { if (VariableType == VariableType.Global) { parseInfo.TranslateInfo.VarCollection.Reserve(ID, true, parseInfo.Script.Diagnostics, DefinedAt.range); } else if (VariableType == VariableType.Player) { parseInfo.TranslateInfo.VarCollection.Reserve(ID, false, parseInfo.Script.Diagnostics, DefinedAt.range); } } // Add the variable to the scope. _operationalScope.AddVariable(this, parseInfo.Script.Diagnostics, DefinedAt.range); _finalized = true; parseInfo.Script.AddHover(DefinedAt.range, GetLabel(true)); parseInfo.TranslateInfo.AddSymbolLink(this, DefinedAt, true); if (_initialValueResolve == InitialValueResolve.Instant) { GetInitialValue(); } else { parseInfo.TranslateInfo.ApplyBlock(this); } parseInfo.Script.AddCodeLensRange(new ReferenceCodeLensRange(this, parseInfo, varInfo.CodeLensType, DefinedAt.range)); }