public void VisitAliasDeclaration(AliasDeclaration aliasDecl) { // An alias name is another name for an item // so resolve the target name first and then bind the name to the alias. aliasDecl.Path.AcceptWalker(this); aliasDecl.AliasToken.IdentifierId = aliasDecl.Path.Items.Last().IdentifierId; }
public override AstNode Visit(AliasDeclaration node) { PseudoScope scope = new PseudoScope(currentScope); // Store it in the node. node.SetScope(scope); // Change the ast layout to reflect the new scope hierarchy. node.SetChildren(node.GetNext()); node.SetNext(null); // Update the scope. PushScope(node.GetScope()); // Visit his children. VisitList(node.GetChildren()); // Restore the scope. PopScope(); return(node); }
public void VisitAliasDeclaration(AliasDeclaration aliasDecl) { throw new NotImplementedException(); }
public IType Infer(IScope scope, AliasDeclaration node) => default;