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); }
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); }
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); }
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; }
public GlobalScope(RTB.SmalltalkNameScope nameScope, BindingScope outerScope) : base(outerScope) { if (nameScope == null) { throw new ArgumentNullException(); } this.NameScope = nameScope; }
public ComposableBindingScope(BindingScope outerScope, IEnumerable <NameBinding> bindings) : base(bindings) { this.OuterScope = outerScope; }
public ComposableBindingScope(BindingScope outerScope) : this(outerScope, null) { }
public static BindingScope ForPoolInitializer(Pool pool) { return(BindingScope.ForPoolInitializer(pool, pool.Runtime.GlobalScope)); }
public static BindingScope ForProgramInitializer(SmalltalkNameScope globalNameScope) { return(BindingScope.ForGlobalInitializer(globalNameScope)); // Same as global initializer }
public static BindingScope ForProgramInitializer(SmalltalkRuntime runtime) { return(BindingScope.ForProgramInitializer(runtime.GlobalScope)); }
public static BindingScope ForClassInitializer(SmalltalkClass cls) { return(BindingScope.ForClassInitializer(cls, cls.Runtime.GlobalScope)); }
public static BindingScope ForClassMethod(SmalltalkClass cls) { return(BindingScope.ForClassMethod(cls, cls.Runtime.GlobalScope)); }