Example #1
0
 internal OverLoadSet Clone(Scope thisScope)
 {
     var ret = new OverLoadSet(thisScope);
     ret.Symbols = Symbols;
     ret.IsHoldAlias = IsHoldAlias;
     return ret;
 }
Example #2
0
 internal void Append(Scope scope)
 {
     if(scope is AliasDeclaration)
     {
         IsHoldAlias = true;
     }
     Symbols.Add(scope);
 }
Example #3
0
 internal OverLoadChain(Scope scope, OverLoadChain parent, IReadOnlyList<OverLoadChain> inherits, params OverLoadSet[] sets)
 {
     if (scope == null)
     {
         throw new ArgumentNullException("current");
     }
     ThisScope = scope;
     Parent = parent;
     Inherits = inherits;
     Sets = sets;
 }
Example #4
0
 internal void AppendChildScope(Scope scope)
 {
     if (string.IsNullOrEmpty(scope.Name))
     {
         return;
     }
     if (!ChildSymbols.ContainsKey(scope.Name))
     {
         var ol = new OverLoadSet(this);
         ChildSymbols.Add(scope.Name, ol);
     }
     ChildSymbols[scope.Name].Append(scope);
 }
Example #5
0
 internal OverLoadSet(Scope scope)
 {
     ThisScope = scope;
     Symbols = new List<Scope>();
 }