public void setRootScope() { scope = new NameBindingScope(this); self = scope.declareSelf(); super = scope.declareSuper(); thisContext = scope.declareThisContext(); }
public InstanceVariableDeclaration(NameBindingScope scope, ESSymbol name) : base(scope, name) { var namedSlotsObject = Expression.Convert(Scope.SelfParameter, TypeGuru.esNamedSlotsObjectType); namedSlots = Expression.Field(namedSlotsObject, "namedSlots"); var statusFlags = Expression.Field(namedSlotsObject, "statusFlags"); isMutable = Expression.Equal(Expression.And(statusFlags, mutabilityFlagBitConstant), zeroConstant); }
public NameBindingScope pushScope() { if (scope == null) { setRootScope(); return(scope); } scope = new NameBindingScope(this, scope); return(scope); }
public NameBindingScope popScope() { NameBindingScope poppedScope = scope; if (!scope.IsRoot) { scope = scope.OuterScope; } return(poppedScope); }
public NamedValueOccurrence newOccurrenceIn(NameBindingScope referencingScope) { var occurrence = new NamedValueOccurrence(this); occurrences.Add(occurrence); if (occurrence.IsFreeVariable && IsStackResident) { nonLocalOccurenceCount++; } return(occurrence); }
public PseudovariableThisContext(NameBindingScope scope) : base(scope, scope.ThisContextParameter) { }
public PseudovariableSuper(NameBindingScope scope) : base(scope, scope.SelfParameter) { }
public Pseudovariable(NameBindingScope scope, ParameterExpression parameter) : base(scope, parameter) { }
public ParameterDeclaration(NameBindingScope scope, ESSymbol name, Type parameterType) : base(scope, name, parameterType) { }
public ParameterDeclaration(NameBindingScope scope, ParameterExpression parameter) : base(scope, parameter) { }
protected StackResidentDeclaration(NameBindingScope scope, ESSymbol name) : this(scope, name, TypeGuru.objectType) { }
protected StackResidentDeclaration(NameBindingScope scope, ParameterExpression parameter) : base(scope, parameter.Name) { this.parameter = parameter; }
public bool isLocalTo(NameBindingScope aScope) { return(scope == aScope); }
public NamedValueDeclaration(NameBindingScope scope, String name) { this.scope = scope; this.name = name; nameSymbol = scope.symbolFor(name); }
public AbstractNonStackResidentVariableDeclaration(NameBindingScope scope, ESSymbol name) : base(scope, name) { }
public NonLocalVariableDeclaration(NameBindingScope scope, ESSymbol name) : base(scope, name) { }
protected StackResidentDeclaration(NameBindingScope scope, ESSymbol name, Type parameterType) : this(scope, parameterExpressionFrom(name, parameterType)) { }
public NamespaceResidentVariableDeclaration(NamespaceObject environment, NameBindingScope scope, ESSymbol name) : base(scope, name) { getVariableCallSite = Context.getVariableValueCallSiteConstantFor(environment, name); setVariableCallSite = Context.setVariableValueCallSiteConstantFor(environment, name); }
public NameBindingScope(CodeGenerationContext context, NameBindingScope outerScope) : this(context) { this.outerScope = outerScope; }