Exemplo n.º 1
0
        public static BindingScope ForRootClassInstanceMethod()
        {
            BindingScope result = ReservedScope.CreateBindings();

            result.DefineBinding(new SpecialBinding(SemanticConstants.Self, client => client.SelfExpression, false));
            result.DefineBinding(new ErrorBinding(SemanticConstants.Super));   // Erroneous if instance method and no superclass.
            return(result);
        }
Exemplo n.º 2
0
        public static BindingScope ForClassInitializer()
        {
            BindingScope result = ReservedScope.CreateBindings();

            result.DefineBinding(new ArgumentBinding(SemanticConstants.Self));
            result.DefineBinding(new ErrorBinding(SemanticConstants.Super));   // Within any type of initializer super has the error binding.
            return(result);
        }
Exemplo n.º 3
0
        public static BindingScope ForClassMethod()
        {
            BindingScope result = ReservedScope.CreateBindings();

            result.DefineBinding(new SpecialBinding(SemanticConstants.Self, client => client.SelfExpression, false));
            result.DefineBinding(new SpecialBinding(SemanticConstants.Super, client => client.SelfExpression, false));
            return(result);
        }
Exemplo n.º 4
0
        public static BindingScope ForGlobalInitializer()
        {
            BindingScope result = ReservedScope.CreateBindings();

            result.DefineBinding(new ErrorBinding(SemanticConstants.Self));    // error binding unless <<class initializer>>.
            result.DefineBinding(new ErrorBinding(SemanticConstants.Super));   // Within any type of initializer super has the error binding.
            return(result);
        }
 public ClassRelatedBindingScope(SmalltalkClass cls, BindingScope outerScope)
     : base(outerScope)
 {
     if (cls == null)
     {
         throw new ArgumentNullException();
     }
     this.Class = cls;
 }
Exemplo n.º 6
0
 public GlobalScope(RTB.SmalltalkNameScope nameScope, BindingScope outerScope)
     : base(outerScope)
 {
     if (nameScope == null)
     {
         throw new ArgumentNullException();
     }
     this.NameScope = nameScope;
 }
Exemplo n.º 7
0
 public ComposableBindingScope(BindingScope outerScope, IEnumerable <NameBinding> bindings)
     : base(bindings)
 {
     this.OuterScope = outerScope;
 }
Exemplo n.º 8
0
 public ComposableBindingScope(BindingScope outerScope)
     : this(outerScope, null)
 {
 }
Exemplo n.º 9
0
 public static BindingScope ForPoolInitializer(Pool pool)
 {
     return(BindingScope.ForPoolInitializer(pool, pool.Runtime.GlobalScope));
 }
Exemplo n.º 10
0
 public static BindingScope ForProgramInitializer(SmalltalkNameScope globalNameScope)
 {
     return(BindingScope.ForGlobalInitializer(globalNameScope)); // Same as global initializer
 }
Exemplo n.º 11
0
 public static BindingScope ForProgramInitializer(SmalltalkRuntime runtime)
 {
     return(BindingScope.ForProgramInitializer(runtime.GlobalScope));
 }
Exemplo n.º 12
0
 public static BindingScope ForClassInitializer(SmalltalkClass cls)
 {
     return(BindingScope.ForClassInitializer(cls, cls.Runtime.GlobalScope));
 }
Exemplo n.º 13
0
 public static BindingScope ForClassMethod(SmalltalkClass cls)
 {
     return(BindingScope.ForClassMethod(cls, cls.Runtime.GlobalScope));
 }