public override bool EqualTo(Representation other) { var otherSw=other as StackWordRelativeToZero; return otherSw!=null && this.offset==otherSw.offset; }
public abstract bool EqualTo(Representation other);
protected VariableInfo(TerminalName name, Representation representation) { this.Name=name; this.Representation=representation; }
public bool TryGetRepresentation(TerminalName refName, out Representation result) { result=(Representation)VariableNameToRepresentation[refName]; return result!=null; }
public override bool EqualTo(Representation obj) { var other=obj as Static; return other!=null && this.StorageLabel.Name.Equals(other.StorageLabel.Name); }
public override bool EqualTo(Representation other) { var otherReg = other as Register; return(otherReg != null && this.Index == otherReg.Index); }
public override bool EqualTo(Representation obj) { var other = obj as Static; return(other != null && this.StorageLabel.Name.Equals(other.StorageLabel.Name)); }
public LocalVariableInfo(TerminalName name, Representation representation) : base(name, representation) { }
public void BindLocalVariableToRepresentation(IReference variable, string name, Representation representation=null) { var terminalName=CreateTerminalName(name); if(representation!=null) { pinnedVariables[terminalName]=representation; } if(representation==null && !BuilderHints.TryGetRepresentation(terminalName, out representation)) { if(CodeGenerator.Instance.GeneratorHints.IsFirstPass) { simpleAllocatorIndexForPass0-=4; representation=new StackWordRelativeToEndOfVariables(simpleAllocatorIndexForPass0); } //else, representation is null } localVariableToInfo.Add(variable, new LocalVariableInfo(terminalName, representation)); }
public override bool EqualTo(Representation other) { var otherSw = other as StackWordRelativeToZero; return(otherSw != null && this.offset == otherSw.offset); }
public override bool EqualTo(Representation other) { var otherReg=other as Register; return otherReg!=null && this.Index==otherReg.Index; }