1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.6.3.1'

This commit is contained in:
gnosygnu
2016-06-19 23:58:10 -04:00
parent 96636f3161
commit d4e8590345
1960 changed files with 20790 additions and 9272 deletions

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.parsers.tmpls; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import org.junit.*;
public class Xop_tkn_print_tst {
private final Xop_fxt fxt = new Xop_fxt();
private final Xop_fxt fxt = new Xop_fxt();
@Test public void Text() {tst_Print("a ''b'' c [[d]] e");}
@Test public void Prm() {tst_Print("{{{1}}}");}
@Test public void Prm_dflt() {tst_Print("{{{1|a}}}");}
@@ -36,5 +36,5 @@ public class Xop_tkn_print_tst {
defn.Root().Tmpl_fmt(ctx, raw_bry, raw_fmtr);
raw_fmtr.Print(tst_Print_bb);
Tfds.Eq(raw, tst_Print_bb.To_str_and_clear());
} private Bry_bfr tst_Print_bb = Bry_bfr.new_();
} private Bry_bfr tst_Print_bb = Bry_bfr_.New();
}

View File

@@ -46,7 +46,7 @@ public class Xot_defn_tmpl_ {
}
private static Arg_itm_tkn Make_itm(boolean val_tkn, Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, byte[] src, Arg_itm_tkn orig, Xot_invk caller, Arg_nde_tkn orig_arg) {
int subs_len = orig.Subs_len();
Bry_bfr arg_bfr = Bry_bfr.new_();
Bry_bfr arg_bfr = Bry_bfr_.New();
for (int i = 0; i < subs_len; i++)
orig.Subs_get(i).Tmpl_evaluate(ctx, src, caller, arg_bfr);
Arg_itm_tkn rv = tkn_mkr.ArgItm(-1, -1); // NOTE: was -1, 0; DATE:2013-04-10

View File

@@ -30,7 +30,7 @@ public class Xot_defn_trace_brief_tst {
@Test public void Basic_a_b() {fxt.tst_("{{leaf_a}} {{leaf_b}}" , "0001 leaf_a", "0001 leaf_b");}
}
class Xot_defn_trace_fxt {
private final Xop_fxt fxt = new Xop_fxt();
private final Xop_fxt fxt = new Xop_fxt();
public Xop_ctx Ctx() {return fxt.Ctx();}
public void Init_defn_clear() {fxt.Init_defn_clear();}
public void Init_defn_add(String name, String raw) {fxt.Init_defn_add(name, raw);}
@@ -44,7 +44,7 @@ class Xot_defn_trace_fxt {
ctx.Defn_trace().Print(src, tmp);
String[] actl_ary = String_.Split(tmp.To_str_and_clear(), (char)Byte_ascii.Nl);
Tfds.Eq_ary(expd_ary, actl_ary);
} private Bry_bfr tmp = Bry_bfr.new_();
} private Bry_bfr tmp = Bry_bfr_.New();
String[] To_str(Xot_defn_trace_itm_brief[] ary) {
String[] rv = new String[ary.length];
for (int i = 0; i < rv.length; i++) {

View File

@@ -107,7 +107,7 @@ public class Xot_defn_trace_dbg implements Xot_defn_trace {
// Fmt(ctx, defn_tmpl.Src(), root, Ary_fmt_lbl , invk, true);
Fmt(ctx, defn_tmpl.Data_raw(), root, Ary_eval_lbl, invk, false);
}
} private Bry_bfr bfr = Bry_bfr.new_(128); List_adp argKeys = List_adp_.new_(); Xot_fmtr_prm prm_fmtr = new Xot_fmtr_prm();
} private Bry_bfr bfr = Bry_bfr_.New_w_size(128); List_adp argKeys = List_adp_.New(); Xot_fmtr_prm prm_fmtr = new Xot_fmtr_prm();
private void Fmt(Xop_ctx ctx, byte[] src, Xop_tkn_itm root, byte[] lbl, Xot_invk caller, boolean newLineArgs) {
bfr.Add_byte_repeat(Byte_ascii.Space, indent).Add(lbl);
bfr.Add_byte_repeat(Byte_ascii.Space, indent);
@@ -133,8 +133,8 @@ public class Xot_defn_trace_dbg implements Xot_defn_trace {
}
public void Clear() {bfr.Clear(); indent = 0; count = 0;}
int indent = 0, count = 0;
public static final Xot_defn_trace_dbg Instance = new Xot_defn_trace_dbg(); Xot_defn_trace_dbg() {}
private static final byte[] Ary_invk_lbl = Bry_.new_a7("*invk\n"), Ary_lnk_lbl = Bry_.new_a7("*lnk: "), Ary_args_lbl = Bry_.new_a7("*args\n")
public static final Xot_defn_trace_dbg Instance = new Xot_defn_trace_dbg(); Xot_defn_trace_dbg() {}
private static final byte[] Ary_invk_lbl = Bry_.new_a7("*invk\n"), Ary_lnk_lbl = Bry_.new_a7("*lnk: "), Ary_args_lbl = Bry_.new_a7("*args\n")
, Ary_result_lbl = Bry_.new_a7("*result\n")
, Ary_eval_lbl = Bry_.new_a7("*eval\n")
, Ary_source_lbl = Bry_.new_a7("*source\n");

View File

@@ -43,7 +43,7 @@ class Xot_fmtr_prm implements Xot_fmtr {
}
else // invk mode
self.Tmpl_evaluate(ctx, src, caller, trg);
} static final byte[] Bry_bgn = new byte[] {Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn}, Bry_end = new byte[] {Byte_ascii.Curly_end, Byte_ascii.Curly_end, Byte_ascii.Curly_end};
} static final byte[] Bry_bgn = new byte[] {Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn}, Bry_end = new byte[] {Byte_ascii.Curly_end, Byte_ascii.Curly_end, Byte_ascii.Curly_end};
public void Reg_tmpl(Xop_ctx ctx, byte[] src, Xop_tkn_itm name_tkn, int args_len, Arg_nde_tkn[] args) {
trg.Add(Xop_curly_bgn_lxr.Hook);
++depth;
@@ -70,6 +70,6 @@ class Xot_fmtr_prm implements Xot_fmtr {
self_tkn.Val_tkn().Tmpl_fmt(ctx, src, this);
}
public void Print(Bry_bfr bb) {bb.Add_bfr_and_preserve(trg); trg.Clear(); depth = 0;}
Bry_bfr trg = Bry_bfr.new_(); int depth = 0;
public static final Xot_fmtr_prm Instance = new Xot_fmtr_prm();
Bry_bfr trg = Bry_bfr_.New(); int depth = 0;
public static final Xot_fmtr_prm Instance = new Xot_fmtr_prm();
}

View File

@@ -19,7 +19,7 @@ package gplx.xowa.parsers.tmpls; import gplx.*; import gplx.xowa.*; import gplx.
import gplx.core.primitives.*;
import gplx.xowa.xtns.scribunto.*;
public class Xot_invk_temp implements Xot_invk {
private List_adp list = List_adp_.new_();
private List_adp list = List_adp_.New();
private Hash_adp_bry arg_key_hash;
private Hash_adp arg_idx_hash; private Int_obj_ref arg_idx_ref;
Xot_invk_temp() {}
@@ -59,12 +59,12 @@ public class Xot_invk_temp implements Xot_invk {
public void Args_add_by_idx(Arg_nde_tkn arg) {Arg_idx_hash_add(++args_add_by_idx, arg);} private int args_add_by_idx = -1; // NOTE: args_add_by_idx needs to be a separate variable; keeps track of args which don't have a key;
private void Arg_idx_hash_add(int int_key, Arg_nde_tkn arg) {
if (arg_idx_hash == null) {
arg_idx_hash = Hash_adp_.new_();
arg_idx_ref = Int_obj_ref.neg1_();
arg_idx_hash = Hash_adp_.New();
arg_idx_ref = Int_obj_ref.New_neg1();
}
arg_idx_hash.Add_if_dupe_use_nth(Int_obj_ref.new_(int_key), arg); // Add_if_dupe_use_nth to keep latest version; needed for {{A|1=a|1=b}} DATE:2014-07-23
arg_idx_hash.Add_if_dupe_use_nth(Int_obj_ref.New(int_key), arg); // Add_if_dupe_use_nth to keep latest version; needed for {{A|1=a|1=b}} DATE:2014-07-23
}
public static final Xot_invk_temp Page_is_caller = new Xot_invk_temp(true); // SEE NOTE_2
public static final Xot_invk_temp Page_is_caller = new Xot_invk_temp(true); // SEE NOTE_2
}
/*
NOTE_1:

View File

@@ -58,7 +58,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
boolean name_had_subst = false;
if (defn == Xot_defn_.Null) { // tmpl_name is not exact match; may be dynamic, subst, transclusion, etc..
if (name_key_tkn.Itm_static() == Bool_.N_byte) { // tmpl is dynamic; EX:{{{{{1}}}|a}}
Bry_bfr name_tkn_bfr = Bry_bfr.new_(name_tkn.Src_end() - name_tkn.Src_bgn());
Bry_bfr name_tkn_bfr = Bry_bfr_.New_w_size(name_tkn.Src_end() - name_tkn.Src_bgn());
if (defn_tid == Xot_defn_.Tid_subst)
name_tkn_bfr.Add(Get_first_subst_itm(lang.Kwd_mgr()));
name_tkn.Tmpl_evaluate(ctx, src, caller, name_tkn_bfr);
@@ -311,7 +311,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
defn_func.Eval_argx(ctx, src, caller, invk);
if (defn_func_id == Xol_kwd_grp_.Id_invoke) // NOTE: if #invoke, set frame_ttl to argx, not name; EX:{{#invoke:A}}
invk.Frame_ttl_(Bry_.Add(Xow_ns_.Bry__module_w_colon, Xoa_ttl.Replace_unders(defn_func.Argx_dat()))); // NOTE: always prepend "Module:" to frame_ttl; DATE:2014-06-13; NOTE: always use spaces; DATE:2014-08-14; always use canonical English "Module"; DATE:2015-11-09
Bry_bfr bfr_func = Bry_bfr.new_();
Bry_bfr bfr_func = Bry_bfr_.New();
defn_func.Func_evaluate(bfr_func, ctx, caller, invk, src);
if (caller.Rslt_is_redirect()) // do not prepend if page is redirect; EX:"#REDIRECT" x> "\n#REDIRECT" DATE:2014-07-11
caller.Rslt_is_redirect_(false); // reset flag; needed for TEST; kludgy, but Rslt_is_redirect is intended for single use
@@ -363,7 +363,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
private boolean Eval_sub(Xop_ctx ctx, Xot_defn_tmpl transclude_tmpl, Xot_invk caller, byte[] src, Bry_bfr doc) {
boolean rv = false;
Xot_invk tmp_tmpl = Xot_defn_tmpl_.CopyNew(ctx, transclude_tmpl, this, caller, src, transclude_tmpl.Name());
Bry_bfr tmp_bfr = Bry_bfr.new_();
Bry_bfr tmp_bfr = Bry_bfr_.New();
Xopg_tmpl_prepend_mgr prepend_mgr = ctx.Page().Tmpl_prepend_mgr().Bgn(doc);
rv = transclude_tmpl.Tmpl_evaluate(ctx, tmp_tmpl, tmp_bfr);
prepend_mgr.End(ctx, doc, tmp_bfr.Bfr(), tmp_bfr.Len(), Bool_.Y);

View File

@@ -44,7 +44,7 @@ public class Xot_prm_tkn extends Xop_tkn_itm_base {
@Override public boolean Tmpl_evaluate(Xop_ctx ctx, byte[] src, Xot_invk caller, Bry_bfr bfr) {
if (!find_tkn_static) {
int subs_len = find_tkn.Subs_len();
Bry_bfr find_bfr = Bry_bfr.new_();
Bry_bfr find_bfr = Bry_bfr_.New();
for (int i = 0; i < subs_len; i++)
find_tkn.Subs_get(i).Tmpl_evaluate(ctx, src, caller, find_bfr);
prm_idx = Bry_.To_int_or__trim_ws(find_bfr.Bfr(), 0, find_bfr.Len(), -1); // parse as number first; NOTE: trim needed to transform "{{{ 1 }}}" to "1"; it.w:Portale:Giochi_da_tavolo; DATE:2014-02-09
@@ -67,7 +67,7 @@ public class Xot_prm_tkn extends Xop_tkn_itm_base {
if (arg_val.Itm_static() == Bool_.Y_byte)
bfr.Add_mid(src, arg_val.Dat_bgn(), arg_val.Dat_end());
else {// compile arg if dynamic; EX: [[MESSENGER]] "{{About|the NASA space mission||Messenger (disambiguation){{!}}Messenger}}"; {{!}} causes {{{2}}} to be dynamic and its dat_ary will be an empty-String ("")
Bry_bfr arg_val_bfr = Bry_bfr.new_();
Bry_bfr arg_val_bfr = Bry_bfr_.New();
arg_val.Tmpl_evaluate(ctx, src, caller, arg_val_bfr);
bfr.Add_bfr_and_clear(arg_val_bfr);
}

View File

@@ -55,7 +55,7 @@ public class Xot_tmpl_wtr {
switch (xnde_tag_id) {
case Xop_xnde_tag_.Tid__onlyinclude: {
// NOTE: originally "if (ctx.Parse_tid() == Xop_parser_.Parse_tid_page_tmpl) {" but if not needed; Xot_tmpl_wtr should not be called for tmpls and <oi> should not make it to page_wiki
Bry_bfr tmp_bfr = Bry_bfr.new_();
Bry_bfr tmp_bfr = Bry_bfr_.New();
ctx.Only_include_evaluate_(true);
xnde.Tmpl_evaluate(ctx, src, Xot_invk_temp.Page_is_caller, tmp_bfr);
ctx.Only_include_evaluate_(false);
@@ -110,5 +110,5 @@ public class Xot_tmpl_wtr {
}
}
public static String Err_string = "";
public static final Xot_tmpl_wtr Instance = new Xot_tmpl_wtr(); Xot_tmpl_wtr() {}
public static final Xot_tmpl_wtr Instance = new Xot_tmpl_wtr(); Xot_tmpl_wtr() {}
}