@@ -0,0 +1,1205 @@
+package org.yinwang.pysonar.ast;%0A%0Aimport org.jetbrains.annotations.NotNull;%0Aimport org.jetbrains.annotations.Nullable;%0Aimport org.yinwang.pysonar.Indexer;%0Aimport org.yinwang.pysonar.Scope;%0Aimport org.yinwang.pysonar.types.Type;%0A%0A/**%0A * A name alias.  Used for the components of import and import-from statements.%0A */%0Apublic class Withitem extends Node %7B%0A%0A    @Nullable%0A    public Node optional_vars;%0A    @NotNull%0A    public Node context_expr;%0A%0A%0A    public Withitem(@NotNull Node context_expr, @Nullable Node optional_vars, int start, int end) %7B%0A        super(start, end);%0A        this.context_expr = context_expr;%0A        this.optional_vars = optional_vars;%0A        addChildren(context_expr, optional_vars);%0A    %7D%0A%0A    @NotNull%0A    @Override%0A    public String toString() %7B%0A        return %22%3Cwithitem:%22 + context_expr + %22 as %22 + optional_vars + %22%3E%22;%0A    %7D%0A%0A%0A    // dummy, will never be called%0A    @Nullable%0A    @Override%0A    public Type resolve(Scope s, int tag) %7B%0A        return Indexer.idx.builtins.unknown;%0A    %7D%0A%0A    @Override%0A    public void visit(@NotNull NodeVisitor v) %7B%0A        if (v.visit(this)) %7B%0A            visitNode(context_expr, v);%0A            visitNode(optional_vars, v);%0A        %7D%0A    %7D%0A%7D%0A

Fix #21. Forgot to check in Withitem.java :P