TYPES_FOR_PHP_DOC = Arrays.asList(STRING, INTEGER, INT, BOOLEAN, BOOL, FLOAT, DOUBLE, OBJECT, MIXED, ARRAY,
RESOURCE, VOID, NULL, CALLBACK, CALLABLE, ITERABLE, "false", "true", "self"); // NOI18N
diff --git a/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java b/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java
--- a/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java
+++ b/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java
@@ -42,7 +42,7 @@
//----------------------------------------------------
// The following code was generated by CUP v0.11a beta 20060608
-// Wed May 17 13:21:18 JST 2017
+// Tue Jul 11 14:57:20 JST 2017
//----------------------------------------------------
package org.netbeans.modules.php.editor.parser;
@@ -52,7 +52,7 @@
import org.openide.util.Pair;
/** CUP v0.11a beta 20060608 generated parser.
- * @version Wed May 17 13:21:18 JST 2017
+ * @version Tue Jul 11 14:57:20 JST 2017
*/
@org.netbeans.api.annotations.common.SuppressWarnings({"EI_EXPOSE_REP", "MS_PKGPROTECT", "BC_BAD_CAST_TO_CONCRETE_COLLECTION"})
public class ASTPHP5Parser extends java_cup.runtime.lr_parser {
@@ -102,7 +102,7 @@
"\000\002\013\006\000\002\013\004\000\002\011\005\000" +
"\002\011\003\000\002\010\003\000\002\010\005\000\002" +
"\010\007\000\002\010\004\000\002\010\006\000\002\010" +
- "\010\000\002\005\003\000\002\005\002\000\002\006\005" +
+ "\010\000\002\005\004\000\002\005\002\000\002\006\005" +
"\000\002\006\003\000\002\007\003\000\002\007\005\000" +
"\002\007\004\000\002\007\006\000\002\007\004\000\002" +
"\007\006\000\002\015\004\000\002\015\002\000\002\016" +
@@ -293,7 +293,7 @@
/** reduce_goto
table. */
protected static final short[][] _reduce_table =
unpackFromStrings(new String[] {
- "\000\u0538\000\006\002\003\012\004\001\001\000\002\001" +
+ "\000\u0539\000\006\002\003\012\004\001\001\000\002\001" +
"\001\000\140\003\174\004\101\013\206\014\200\017\132" +
"\062\167\063\124\064\153\065\051\070\131\074\015\100" +
"\016\101\100\103\165\104\176\105\204\106\063\107\170" +
@@ -302,16 +302,16 @@
"\177\121\200\150\201\025\212\160\213\023\214\054\223" +
"\171\225\116\226\006\230\021\233\134\240\111\243\032" +
"\244\040\245\047\256\056\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\006\050\u052a\051\u052d" +
+ "\002\001\001\000\002\001\001\000\006\050\u052b\051\u052e" +
"\001\001\000\002\001\001\000\112\003\174\004\101\062" +
- "\167\063\124\064\153\065\051\070\131\074\015\100\u0525" +
- "\103\u0526\104\u0527\105\204\106\063\107\170\110\144\121" +
+ "\167\063\124\064\153\065\051\070\131\074\015\100\u0526" +
+ "\103\u0527\104\u0528\105\204\106\063\107\170\110\144\121" +
"\106\131\075\151\126\152\043\153\022\154\137\155\077" +
"\156\055\157\110\161\070\201\025\223\171\225\116\226" +
"\006\230\021\233\134\240\111\243\032\244\040\245\047" +
"\256\056\001\001\000\002\001\001\000\106\003\174\004" +
"\101\062\167\063\124\064\153\065\051\070\131\074\015" +
- "\100\u0521\105\204\106\063\107\170\110\144\121\106\131" +
+ "\100\u0522\105\204\106\063\107\170\110\144\121\106\131" +
"\075\151\126\152\043\153\022\154\137\155\077\156\055" +
"\157\110\161\070\201\025\223\171\225\116\226\006\230" +
"\021\233\134\240\111\243\032\244\040\245\047\256\056" +
@@ -1733,50 +1733,50 @@
"\047\256\056\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\002\001\001\000\010\003\u04f7\010\u04f9" +
- "\011\u0518\001\001\000\002\001\001\000\004\003\u0502\001" +
+ "\011\u0519\001\001\000\002\001\001\000\004\003\u0502\001" +
"\001\000\010\003\u04f7\010\u04f9\011\u0500\001\001\000\002" +
"\001\001\000\006\003\u04f7\010\u04ff\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
"\002\001\001\000\012\003\u050c\005\u050b\006\u050a\007\u0507" +
- "\001\001\000\002\001\001\000\004\003\u0515\001\001\000" +
- "\004\003\u0512\001\001\000\002\001\001\000\002\001\001" +
+ "\001\001\000\002\001\001\000\004\003\u0516\001\001\000" +
+ "\004\003\u0513\001\001\000\004\076\u0511\001\001\000\002" +
+ "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+ "\001\000\002\001\001\000\006\003\u050c\007\u0512\001\001" +
"\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\006\003\u050c\007\u0511\001\001\000\002" +
+ "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
"\001\001\000\002\001\001\000\002\001\001\000\002\001" +
"\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\012\003\u050c\005\u051e" +
- "\006\u050a\007\u0507\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\116\003\174" +
- "\004\101\062\167\063\124\064\153\065\051\070\131\074" +
- "\015\100\u02d8\105\204\106\063\107\170\110\144\121\106" +
- "\122\u0523\123\u02d9\124\u02db\125\u02da\131\075\151\126\152" +
- "\043\153\022\154\137\155\077\156\055\157\110\161\070" +
- "\201\025\223\171\225\116\226\006\230\021\233\134\240" +
- "\111\243\032\244\040\245\047\256\056\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\106\003\174\004\101\062\167" +
- "\063\124\064\153\065\051\070\131\074\015\100\u0529\105" +
- "\204\106\063\107\170\110\144\121\106\131\075\151\126" +
- "\152\043\153\022\154\137\155\077\156\055\157\110\161" +
- "\070\201\025\223\171\225\116\226\006\230\021\233\134" +
- "\240\111\243\032\244\040\245\047\256\056\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\054" +
- "\003\337\064\153\065\051\105\334\106\063\107\325\110" +
- "\144\121\106\152\043\155\326\156\055\161\332\201\u052f" +
- "\223\u052e\226\006\230\021\233\134\243\032\244\040\245" +
+ "\000\012\003\u050c\005\u051f\006\u050a\007\u0507\001\001\000" +
+ "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
+ "\001\001\000\116\003\174\004\101\062\167\063\124\064" +
+ "\153\065\051\070\131\074\015\100\u02d8\105\204\106\063" +
+ "\107\170\110\144\121\106\122\u0524\123\u02d9\124\u02db\125" +
+ "\u02da\131\075\151\126\152\043\153\022\154\137\155\077" +
+ "\156\055\157\110\161\070\201\025\223\171\225\116\226" +
+ "\006\230\021\233\134\240\111\243\032\244\040\245\047" +
+ "\256\056\001\001\000\002\001\001\000\002\001\001\000" +
+ "\002\001\001\000\002\001\001\000\002\001\001\000\106" +
+ "\003\174\004\101\062\167\063\124\064\153\065\051\070" +
+ "\131\074\015\100\u052a\105\204\106\063\107\170\110\144" +
+ "\121\106\131\075\151\126\152\043\153\022\154\137\155" +
+ "\077\156\055\157\110\161\070\201\025\223\171\225\116" +
+ "\226\006\230\021\233\134\240\111\243\032\244\040\245" +
"\047\256\056\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\106\003\174\004\101\062\167\063" +
- "\124\064\153\065\051\070\131\074\015\100\u0531\105\204" +
- "\106\063\107\170\110\144\121\106\131\075\151\126\152" +
- "\043\153\022\154\137\155\077\156\055\157\110\161\070" +
- "\201\025\223\171\225\116\226\006\230\021\233\134\240" +
- "\111\243\032\244\040\245\047\256\056\001\001\000\002" +
- "\001\001\000\002\001\001\000\004\051\u0535\001\001\000" +
- "\002\001\001\000\002\001\001\000\010\046\u0537\047\343" +
- "\056\344\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001" });
+ "\000\002\001\001\000\054\003\337\064\153\065\051\105" +
+ "\334\106\063\107\325\110\144\121\106\152\043\155\326" +
+ "\156\055\161\332\201\u0530\223\u052f\226\006\230\021\233" +
+ "\134\243\032\244\040\245\047\256\056\001\001\000\002" +
+ "\001\001\000\002\001\001\000\002\001\001\000\106\003" +
+ "\174\004\101\062\167\063\124\064\153\065\051\070\131" +
+ "\074\015\100\u0532\105\204\106\063\107\170\110\144\121" +
+ "\106\131\075\151\126\152\043\153\022\154\137\155\077" +
+ "\156\055\157\110\161\070\201\025\223\171\225\116\226" +
+ "\006\230\021\233\134\240\111\243\032\244\040\245\047" +
+ "\256\056\001\001\000\002\001\001\000\002\001\001\000" +
+ "\004\051\u0536\001\001\000\002\001\001\000\002\001\001" +
+ "\000\010\046\u0538\047\343\056\344\001\001\000\002\001" +
+ "\001\000\002\001\001\000\002\001\001" });
/** Access to reduce_goto
table. */
public short[][] reduce_table() {return _reduce_table;}
@@ -3739,16 +3739,16 @@
return CUP$ASTPHP5Parser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
- case 107: // group_namespace_parts ::= non_empty_group_namespace_parts
- {
- List RESULT =null;
- int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).left;
- int listright = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()).right;
- List list = (List)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.peek()).value;
-
- RESULT = list;
-
- CUP$ASTPHP5Parser$result = parser.getSymbolFactory().newSymbol("group_namespace_parts",3, ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()), ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()), RESULT);
+ case 107: // group_namespace_parts ::= non_empty_group_namespace_parts possible_comma
+ {
+ List RESULT =null;
+ int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).left;
+ int listright = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).right;
+ List list = (List)((java_cup.runtime.Symbol) CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)).value;
+
+ RESULT = list;
+
+ CUP$ASTPHP5Parser$result = parser.getSymbolFactory().newSymbol("group_namespace_parts",3, ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-1)), ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.peek()), RESULT);
}
return CUP$ASTPHP5Parser$result;
diff --git a/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java b/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java
--- a/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java
+++ b/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java
@@ -42,7 +42,7 @@
//----------------------------------------------------
// The following code was generated by CUP v0.11a beta 20060608
-// Wed May 17 13:21:18 JST 2017
+// Tue Jul 11 14:57:20 JST 2017
//----------------------------------------------------
package org.netbeans.modules.php.editor.parser;
diff --git a/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java b/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java
--- a/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java
+++ b/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable1.java
@@ -51,7 +51,7 @@
}
protected EncodedActionTable1() {
sb = new StringBuilder();
- sb.append("\000\u0538\000\256\002\uffaa\003\uffaa\004\uffaa\005\uffaa\006");
+ sb.append("\000\u0539\000\256\002\uffaa\003\uffaa\004\uffaa\005\uffaa\006");
sb.append("\uffaa\007\uffaa\010\uffaa\011\uffaa\012\uffaa\014\uffaa\015\uffaa");
sb.append("\016\uffaa\017\uffaa\020\uffaa\021\uffaa\023\uffaa\025\uffaa\027");
sb.append("\uffaa\032\uffaa\034\uffaa\040\uffaa\041\uffaa\042\uffaa\043\uffaa");
@@ -64,7 +64,7 @@
sb.append("\174\uffaa\175\uffaa\177\uffaa\200\uffaa\201\uffaa\202\uffaa\203");
sb.append("\uffaa\204\uffaa\205\uffaa\206\uffaa\207\uffaa\210\uffaa\211\uffaa");
sb.append("\213\uffaa\217\uffaa\220\uffaa\221\uffaa\225\uffaa\230\uffaa\231");
- sb.append("\uffaa\232\uffaa\233\uffaa\235\uffaa\001\002\000\004\002\u053a");
+ sb.append("\uffaa\232\uffaa\233\uffaa\235\uffaa\001\002\000\004\002\u053b");
sb.append("\001\002\000\256\002\001\003\142\004\174\005\211\006");
sb.append("\130\007\012\010\036\011\063\012\072\014\113\015\160");
sb.append("\016\155\017\150\020\144\021\051\023\035\025\121\027");
@@ -84,7 +84,7 @@
sb.append("\153\ufe27\154\ufe27\155\ufe27\156\ufe27\157\ufe27\160\ufe27\161");
sb.append("\ufe27\162\ufe27\163\ufe27\164\ufe27\165\ufe27\166\ufe27\167\ufe27");
sb.append("\170\ufe27\171\ufe27\172\ufe27\173\ufe27\176\ufe27\212\ufe27\226");
- sb.append("\ufe27\227\ufe27\237\ufe27\242\ufe27\001\002\000\004\225\u0537");
+ sb.append("\ufe27\227\ufe27\237\ufe27\242\ufe27\001\002\000\004\225\u0538");
sb.append("\001\002\000\304\002\uff6c\003\uff6c\004\uff6c\005\uff6c\006");
sb.append("\uff6c\007\uff6c\010\uff6c\011\uff6c\012\uff6c\014\uff6c\015\uff6c");
sb.append("\016\uff6c\017\uff6c\020\uff6c\021\uff6c\022\uff6c\023\uff6c\024");
@@ -100,7 +100,7 @@
sb.append("\202\uff6c\203\uff6c\204\uff6c\205\uff6c\206\uff6c\207\uff6c\210");
sb.append("\uff6c\211\uff6c\213\uff6c\214\uff6c\215\uff6c\216\uff6c\217\uff6c");
sb.append("\220\uff6c\221\uff6c\225\uff6c\230\uff6c\231\uff6c\232\uff6c\233");
- sb.append("\uff6c\235\uff6c\001\002\000\006\012\u052c\230\u052d\001\002");
+ sb.append("\uff6c\235\uff6c\001\002\000\006\012\u052d\230\u052e\001\002");
sb.append("\000\114\031\ufe2a\033\ufe2a\070\ufe2a\107\ufe2a\124\ufe2a\125");
sb.append("\ufe2a\126\ufe2a\127\ufe2a\145\ufe2a\146\ufe2a\147\ufe2a\150\ufe2a");
sb.append("\151\ufe2a\152\ufe2a\153\ufe2a\154\ufe2a\155\ufe2a\156\ufe2a\157");
@@ -121,7 +121,7 @@
sb.append("\030\202\163\203\042\204\153\205\110\206\164\207\104");
sb.append("\210\040\211\061\212\ufdd1\213\114\217\215\225\203\226");
sb.append("\ufdd1\227\ufdd1\230\120\231\134\232\070\233\143\237\ufdd1");
- sb.append("\242\ufdd1\001\002\000\004\225\u0523\001\002\000\156\004");
+ sb.append("\242\ufdd1\001\002\000\004\225\u0524\001\002\000\156\004");
sb.append("\174\006\130\007\012\010\214\011\063\012\072\015\160");
sb.append("\016\155\032\123\043\217\060\200\061\032\071\202\072");
sb.append("\014\074\021\075\141\076\053\077\054\100\162\101\006");
@@ -142,7 +142,7 @@
sb.append("\155\252\156\232\157\247\160\264\161\263\162\245\163");
sb.append("\243\164\262\165\256\166\251\167\266\170\244\171\255");
sb.append("\172\253\173\233\176\240\212\ufdc5\226\ufdc5\227\ufdc5\237");
- sb.append("\242\242\234\001\002\000\004\063\u0521\001\002\000\114");
+ sb.append("\242\242\234\001\002\000\004\063\u0522\001\002\000\114");
sb.append("\031\ufe25\033\ufe25\070\ufe25\107\ufe25\124\ufe25\125\ufe25\126");
sb.append("\ufe25\127\ufe25\145\ufe25\146\ufe25\147\ufe25\150\ufe25\151\ufe25");
sb.append("\152\ufe25\153\ufe25\154\ufe25\155\ufe25\156\ufe25\157\ufe25\160");
diff --git a/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java b/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java
--- a/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java
+++ b/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java
@@ -1126,9 +1126,9 @@
sb.append("\000");
sb.append("\012");
sb.append("\033");
+ sb.append("\u051d");
+ sb.append("\114");
sb.append("\u051c");
- sb.append("\114");
- sb.append("\u051b");
sb.append("\124");
sb.append("\uff9c");
sb.append("\146");
@@ -1636,7 +1636,7 @@
sb.append("\000");
sb.append("\006");
sb.append("\107");
- sb.append("\uff96");
+ sb.append("\ufdd8");
sb.append("\124");
sb.append("\u0511");
sb.append("\001");
@@ -1682,18 +1682,26 @@
sb.append("\001");
sb.append("\002");
sb.append("\000");
- sb.append("\012");
+ sb.append("\014");
sb.append("\010");
sb.append("\314");
sb.append("\043");
sb.append("\u0509");
sb.append("\044");
sb.append("\u050a");
+ sb.append("\107");
+ sb.append("\ufdd7");
sb.append("\116");
sb.append("\065");
sb.append("\001");
sb.append("\002");
sb.append("\000");
+ sb.append("\004");
+ sb.append("\107");
+ sb.append("\uff96");
+ sb.append("\001");
+ sb.append("\002");
+ sb.append("\000");
sb.append("\006");
sb.append("\107");
sb.append("\uff94");
@@ -1704,7 +1712,7 @@
sb.append("\000");
sb.append("\012");
sb.append("\033");
- sb.append("\u0514");
+ sb.append("\u0515");
sb.append("\107");
sb.append("\uff8e");
sb.append("\114");
@@ -1716,7 +1724,7 @@
sb.append("\000");
sb.append("\004");
sb.append("\010");
- sb.append("\u0515");
+ sb.append("\u0516");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -1730,7 +1738,7 @@
sb.append("\000");
sb.append("\012");
sb.append("\033");
- sb.append("\u0517");
+ sb.append("\u0518");
sb.append("\107");
sb.append("\uff90");
sb.append("\114");
@@ -1742,7 +1750,7 @@
sb.append("\000");
sb.append("\004");
sb.append("\010");
- sb.append("\u0518");
+ sb.append("\u0519");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -1758,7 +1766,7 @@
sb.append("\124");
sb.append("\u04fe");
sb.append("\146");
- sb.append("\u051a");
+ sb.append("\u051b");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -1944,13 +1952,13 @@
sb.append("\010");
sb.append("\322");
sb.append("\106");
- sb.append("\u051e");
+ sb.append("\u051f");
sb.append("\001");
sb.append("\002");
sb.append("\000");
sb.append("\004");
sb.append("\010");
- sb.append("\u051d");
+ sb.append("\u051e");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -1978,7 +1986,7 @@
sb.append("\000");
sb.append("\004");
sb.append("\107");
- sb.append("\u0520");
+ sb.append("\u0521");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -2194,7 +2202,7 @@
sb.append("\000");
sb.append("\004");
sb.append("\226");
- sb.append("\u0525");
+ sb.append("\u0526");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -2288,7 +2296,7 @@
sb.append("\033");
sb.append("\ufdce");
sb.append("\070");
- sb.append("\u0529");
+ sb.append("\u052a");
sb.append("\107");
sb.append("\ufdce");
sb.append("\124");
@@ -2708,9 +2716,9 @@
sb.append("\000");
sb.append("\006");
sb.append("\124");
- sb.append("\u0534");
+ sb.append("\u0535");
sb.append("\146");
- sb.append("\u0535");
+ sb.append("\u0536");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -2732,7 +2740,7 @@
sb.append("\072");
sb.append("\014");
sb.append("\106");
- sb.append("\u0531");
+ sb.append("\u0532");
sb.append("\111");
sb.append("\337");
sb.append("\114");
@@ -2890,7 +2898,7 @@
sb.append("\031");
sb.append("\257");
sb.append("\107");
- sb.append("\u0533");
+ sb.append("\u0534");
sb.append("\125");
sb.append("\246");
sb.append("\126");
@@ -2960,9 +2968,9 @@
sb.append("\000");
sb.append("\006");
sb.append("\012");
- sb.append("\u052c");
+ sb.append("\u052d");
sb.append("\230");
- sb.append("\u052d");
+ sb.append("\u052e");
sb.append("\001");
sb.append("\002");
sb.append("\000");
@@ -3292,7 +3300,7 @@
sb.append("\000");
sb.append("\004");
sb.append("\226");
- sb.append("\u0539");
+ sb.append("\u053a");
sb.append("\001");
sb.append("\002");
sb.append("\000");
diff --git a/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/GroupUseStatementPart.java b/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/GroupUseStatementPart.java
--- a/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/GroupUseStatementPart.java
+++ b/php.editor/src/org/netbeans/modules/php/editor/parser/astnodes/GroupUseStatementPart.java
@@ -51,6 +51,7 @@
*
* some\namespace\{ClassA, sub\ClassB, ClassC as C};
* some\namespace\{ClassA, function sub\myfnc, const MY_CONST as C};
+ * some\namespace\{ClassA,}; // PHP7.2
*
*/
public class GroupUseStatementPart extends UseStatementPart {
diff --git a/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml b/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml
--- a/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml
+++ b/php.editor/src/org/netbeans/modules/php/editor/resources/layer.xml
@@ -435,6 +435,7 @@
+
diff --git a/php.editor/src/org/netbeans/modules/php/editor/verification/PHP72UnhandledError.java b/php.editor/src/org/netbeans/modules/php/editor/verification/PHP72UnhandledError.java
new file mode 100644
--- /dev/null
+++ b/php.editor/src/org/netbeans/modules/php/editor/verification/PHP72UnhandledError.java
@@ -0,0 +1,197 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License. When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ */
+package org.netbeans.modules.php.editor.verification;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import org.netbeans.api.lexer.Token;
+import org.netbeans.api.lexer.TokenSequence;
+import org.netbeans.api.lexer.TokenUtilities;
+import org.netbeans.editor.BaseDocument;
+import org.netbeans.modules.csl.api.Error;
+import org.netbeans.modules.csl.spi.GsfUtilities;
+import org.netbeans.modules.csl.spi.support.CancelSupport;
+import org.netbeans.modules.php.api.PhpVersion;
+import org.netbeans.modules.php.editor.CodeUtils;
+import org.netbeans.modules.php.editor.lexer.LexUtilities;
+import org.netbeans.modules.php.editor.lexer.PHPTokenId;
+import org.netbeans.modules.php.editor.parser.PHPParseResult;
+import org.netbeans.modules.php.editor.parser.astnodes.ASTNode;
+import org.netbeans.modules.php.editor.parser.astnodes.GroupUseStatementPart;
+import org.netbeans.modules.php.editor.parser.astnodes.SingleUseStatementPart;
+import org.netbeans.modules.php.editor.parser.astnodes.visitors.DefaultVisitor;
+import org.openide.filesystems.FileObject;
+import org.openide.util.NbBundle;
+
+public class PHP72UnhandledError extends UnhandledErrorRule {
+
+ @NbBundle.Messages("PHP72UnhandledError.displayName=Language feature not compatible with PHP version indicated in project settings")
+ @Override
+ public String getDisplayName() {
+ return Bundle.PHP72UnhandledError_displayName();
+ }
+
+ @Override
+ public void invoke(PHPRuleContext context, List errors) {
+ PHPParseResult phpParseResult = (PHPParseResult) context.parserResult;
+ if (phpParseResult.getProgram() == null) {
+ return;
+ }
+ FileObject fileObject = phpParseResult.getSnapshot().getSource().getFileObject();
+ if (fileObject != null
+ && appliesTo(fileObject)) {
+ if (CancelSupport.getDefault().isCancelled()) {
+ return;
+ }
+ CheckVisitor checkVisitor = new CheckVisitor(fileObject);
+ phpParseResult.getProgram().accept(checkVisitor);
+ if (CancelSupport.getDefault().isCancelled()) {
+ return;
+ }
+ errors.addAll(checkVisitor.getErrors());
+ }
+ }
+
+ private static boolean appliesTo(FileObject fileObject) {
+ return CodeUtils.isPhpVersionLessThan(fileObject, PhpVersion.PHP_72);
+ }
+
+ //~ Inner classes
+ private static final class CheckVisitor extends DefaultVisitor {
+
+ private final List errors = new ArrayList<>();
+ private final List lastUseStatementParts = new ArrayList<>();
+ private final FileObject fileObject;
+
+ public CheckVisitor(FileObject fileObject) {
+ this.fileObject = fileObject;
+ }
+
+ public Collection getErrors() {
+ checkGroupUseTrailingCommas();
+ return Collections.unmodifiableCollection(errors);
+ }
+
+ @Override
+ public void visit(GroupUseStatementPart node) {
+ if (CancelSupport.getDefault().isCancelled()) {
+ return;
+ }
+ List items = node.getItems();
+ if (!items.isEmpty()) {
+ lastUseStatementParts.add(items.get(items.size() - 1));
+ }
+ super.visit(node);
+ }
+
+ private void checkGroupUseTrailingCommas() {
+ if (!lastUseStatementParts.isEmpty()) {
+ BaseDocument document = GsfUtilities.getDocument(fileObject, true);
+ if (document == null) {
+ return;
+ }
+ document.readLock();
+ try {
+ TokenSequence ts = LexUtilities.getPHPTokenSequence(document, 0);
+ if (ts == null) {
+ return;
+ }
+ lastUseStatementParts.forEach((lastUseStatementPart) -> {
+ if (CancelSupport.getDefault().isCancelled()) {
+ return;
+ }
+ ts.move(lastUseStatementPart.getEndOffset());
+ if (ts.moveNext()) {
+ Token extends PHPTokenId> token = LexUtilities.findNext(ts, Arrays.asList(PHPTokenId.WHITESPACE));
+ if (token == null) {
+ return;
+ }
+ if (token.id() == PHPTokenId.PHP_TOKEN && TokenUtilities.textEquals(token.text(), ",")) { // NOI18N
+ createError(lastUseStatementPart);
+ }
+ }
+ });
+ } finally {
+ document.readUnlock();
+ lastUseStatementParts.clear();
+ }
+ }
+ }
+
+ private void createError(int startOffset, int endOffset) {
+ errors.add(new PHP72VersionError(fileObject, startOffset, endOffset));
+ }
+
+ private void createError(ASTNode node) {
+ createError(node.getStartOffset(), node.getEndOffset());
+ }
+
+ }
+
+ private static final class PHP72VersionError extends VerificationError {
+
+ private static final String KEY = "Php.Version.72"; // NOI18N
+
+ private PHP72VersionError(FileObject fileObject, int startOffset, int endOffset) {
+ super(fileObject, startOffset, endOffset);
+ }
+
+ @NbBundle.Messages("PHP72VersionError.displayName=Language feature not compatible with PHP version indicated in project settings")
+ @Override
+ public String getDisplayName() {
+ return Bundle.PHP72VersionError_displayName();
+ }
+
+ @NbBundle.Messages("PHP72VersionError.description=Detected language features not compatible with PHP version indicated in project settings")
+ @Override
+ public String getDescription() {
+ return Bundle.PHP72VersionError_description();
+ }
+
+ @Override
+ public String getKey() {
+ return KEY;
+ }
+
+ }
+}
diff --git a/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest/lexer/object_type_01.pass b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest/lexer/object_type_01.pass
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest/lexer/object_type_01.pass
@@ -0,0 +1,73 @@
+token #0 PHP_OPENTAG
+
+
+ use
+
+
+ some
+
+
+ \
+
+
+ ns
+
+
+ \
+
+
+ {
+
+
+ ClassA
+
+
+ ,
+
+
+ ClassB
+
+
+ ,
+
+
+ ClassC
+
+
+ as
+
+
+ C
+
+
+ ,
+
+
+ }
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_02.pass b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_02.pass
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_02.pass
@@ -0,0 +1,95 @@
+
+
+
+ use
+
+
+ function
+
+
+ some
+
+
+ \
+
+
+ ns
+
+
+ \
+
+
+ {
+
+
+ fn_a
+
+
+ ,
+
+
+ fn_b
+
+
+ ,
+
+
+ fn_c
+
+
+ ,
+
+
+ }
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_03.pass b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_03.pass
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_03.pass
@@ -0,0 +1,95 @@
+
+
+
+ use
+
+
+ const
+
+
+ some
+
+
+ \
+
+
+ ns
+
+
+ \
+
+
+ {
+
+
+ ConstA
+
+
+ ,
+
+
+ ConstB
+
+
+ ,
+
+
+ ConstC
+
+
+ ,
+
+
+ }
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_04.pass b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_04.pass
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/groupUseTrailingCommas_04.pass
@@ -0,0 +1,134 @@
+
+
+
+ use
+
+
+ foo
+
+
+ \
+
+
+ math
+
+
+ \
+
+
+ {
+
+
+ Math
+
+
+ ,
+
+
+ const
+
+
+ PI
+
+
+ ,
+
+
+ function
+
+
+ sin
+
+
+ ,
+
+
+ function
+
+
+ cos
+
+
+ ,
+
+
+ function
+
+
+ cosh
+
+
+ ,
+
+
+ }
+
+
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences01.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences01.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences03.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences03.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences05.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences05.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences07.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences07.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences08.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences08.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences08.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences08.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences10.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences10.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences10.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences10.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences12.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences12.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences12.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences12.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences14.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences14.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences14.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences14.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences16.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences16.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences16.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences16.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences18.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences18.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences18.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences18.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences20.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences20.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences20.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences20.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences22.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences22.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences22.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences22.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences24.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences24.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences24.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences24.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences26.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences26.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences26.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences26.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences28.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences28.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences28.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences28.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences30.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences30.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences30.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences30.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences32.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences32.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences32.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences32.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences34.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences34.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences34.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences34.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences36.completion b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences36.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences36.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/byReferences/byReferences.php.testByReferences36.completion
@@ -11,4 +11,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes11.completion b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes11.completion
@@ -10,4 +10,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes14.completion b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes14.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes14.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes14.completion
@@ -10,4 +10,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes5.completion b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes5.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes5.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes5.completion
@@ -10,4 +10,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes8.completion b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes8.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes8.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/netbeans68version/paramdecltypes/paramdecltypes.php.testParamDeclTypes8.completion
@@ -10,4 +10,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_01.completion
@@ -17,4 +17,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php54/callableTypeHint.php.testCallableTypeHint_03.completion
@@ -17,4 +17,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType01.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType03.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType05.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType05.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType07.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType07.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType12.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType12.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType12.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType12.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType13.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType13.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType13.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType13.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType14.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType14.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType14.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypes.php.testReturnType14.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping01.php.testReturnTypesTyping01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping01.php.testReturnTypesTyping01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping01.php.testReturnTypesTyping01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping01.php.testReturnTypesTyping01.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping02.php.testReturnTypesTyping02.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping02.php.testReturnTypesTyping02.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping02.php.testReturnTypesTyping02.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping02.php.testReturnTypesTyping02.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping03.php.testReturnTypesTyping03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping03.php.testReturnTypesTyping03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping03.php.testReturnTypesTyping03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping03.php.testReturnTypesTyping03.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04a.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04a.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04a.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04a.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04b.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04b.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04b.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping04.php.testReturnTypesTyping04b.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping05.php.testReturnTypesTyping05.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping05.php.testReturnTypesTyping05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping05.php.testReturnTypesTyping05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping05.php.testReturnTypesTyping05.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping06.php.testReturnTypesTyping06.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping06.php.testReturnTypesTyping06.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping06.php.testReturnTypesTyping06.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping06.php.testReturnTypesTyping06.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping07.php.testReturnTypesTyping07.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping07.php.testReturnTypesTyping07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping07.php.testReturnTypesTyping07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping07.php.testReturnTypesTyping07.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08a.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08a.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08a.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08a.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08b.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08b.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08b.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping08.php.testReturnTypesTyping08b.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping09.php.testReturnTypesTyping09.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping09.php.testReturnTypesTyping09.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping09.php.testReturnTypesTyping09.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping09.php.testReturnTypesTyping09.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping10.php.testReturnTypesTyping10.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping10.php.testReturnTypesTyping10.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping10.php.testReturnTypesTyping10.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping10.php.testReturnTypesTyping10.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping11.php.testReturnTypesTyping11.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping11.php.testReturnTypesTyping11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping11.php.testReturnTypesTyping11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping11.php.testReturnTypesTyping11.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12a.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12a.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12a.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12a.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12b.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12b.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12b.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/returnTypesTyping12.php.testReturnTypesTyping12b.completion
@@ -53,5 +53,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint01.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testBoolTypeHint03.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint01.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testFloatTypeHint03.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint01.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testIntTypeHint03.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint01.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php70/base/scalarTypeHints.php.testStringTypeHint03.completion
@@ -53,4 +53,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType01.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType03.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType07.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType07.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType09.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType09.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType09.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType09.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType11.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType11.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType13.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType13.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType13.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ParameterType13.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType01.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType03.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType05.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType05.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType09.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType09.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType09.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType09.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType11.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType11.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType13.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType13.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType13.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType13.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType15.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType15.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType15.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/nullableTypes.php.testNullableTypes_ReturnType15.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType01.php.testNullableTypes_TypingParameterType01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType01.php.testNullableTypes_TypingParameterType01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType01.php.testNullableTypes_TypingParameterType01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType01.php.testNullableTypes_TypingParameterType01.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType02.php.testNullableTypes_TypingParameterType02.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType02.php.testNullableTypes_TypingParameterType02.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType02.php.testNullableTypes_TypingParameterType02.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType02.php.testNullableTypes_TypingParameterType02.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType03.php.testNullableTypes_TypingParameterType03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType03.php.testNullableTypes_TypingParameterType03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType03.php.testNullableTypes_TypingParameterType03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType03.php.testNullableTypes_TypingParameterType03.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType04.php.testNullableTypes_TypingParameterType04.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType04.php.testNullableTypes_TypingParameterType04.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType04.php.testNullableTypes_TypingParameterType04.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType04.php.testNullableTypes_TypingParameterType04.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType05.php.testNullableTypes_TypingParameterType05.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType05.php.testNullableTypes_TypingParameterType05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType05.php.testNullableTypes_TypingParameterType05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType05.php.testNullableTypes_TypingParameterType05.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType06.php.testNullableTypes_TypingParameterType06.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType06.php.testNullableTypes_TypingParameterType06.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType06.php.testNullableTypes_TypingParameterType06.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType06.php.testNullableTypes_TypingParameterType06.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType07.php.testNullableTypes_TypingParameterType07.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType07.php.testNullableTypes_TypingParameterType07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType07.php.testNullableTypes_TypingParameterType07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType07.php.testNullableTypes_TypingParameterType07.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType08.php.testNullableTypes_TypingParameterType08.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType08.php.testNullableTypes_TypingParameterType08.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType08.php.testNullableTypes_TypingParameterType08.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType08.php.testNullableTypes_TypingParameterType08.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType09.php.testNullableTypes_TypingParameterType09.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType09.php.testNullableTypes_TypingParameterType09.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType09.php.testNullableTypes_TypingParameterType09.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType09.php.testNullableTypes_TypingParameterType09.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType10.php.testNullableTypes_TypingParameterType10.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType10.php.testNullableTypes_TypingParameterType10.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType10.php.testNullableTypes_TypingParameterType10.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType10.php.testNullableTypes_TypingParameterType10.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType11.php.testNullableTypes_TypingParameterType11.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType11.php.testNullableTypes_TypingParameterType11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType11.php.testNullableTypes_TypingParameterType11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType11.php.testNullableTypes_TypingParameterType11.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType12.php.testNullableTypes_TypingParameterType12.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType12.php.testNullableTypes_TypingParameterType12.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType12.php.testNullableTypes_TypingParameterType12.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingParameterType12.php.testNullableTypes_TypingParameterType12.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType01.php.testNullableTypes_TypingReturnType01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType01.php.testNullableTypes_TypingReturnType01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType01.php.testNullableTypes_TypingReturnType01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType01.php.testNullableTypes_TypingReturnType01.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType02.php.testNullableTypes_TypingReturnType02.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType02.php.testNullableTypes_TypingReturnType02.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType02.php.testNullableTypes_TypingReturnType02.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType02.php.testNullableTypes_TypingReturnType02.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType03.php.testNullableTypes_TypingReturnType03.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType03.php.testNullableTypes_TypingReturnType03.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType03.php.testNullableTypes_TypingReturnType03.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType03.php.testNullableTypes_TypingReturnType03.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType04.php.testNullableTypes_TypingReturnType04.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType04.php.testNullableTypes_TypingReturnType04.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType04.php.testNullableTypes_TypingReturnType04.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType04.php.testNullableTypes_TypingReturnType04.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType05.php.testNullableTypes_TypingReturnType05.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType05.php.testNullableTypes_TypingReturnType05.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType05.php.testNullableTypes_TypingReturnType05.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType05.php.testNullableTypes_TypingReturnType05.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType06.php.testNullableTypes_TypingReturnType06.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType06.php.testNullableTypes_TypingReturnType06.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType06.php.testNullableTypes_TypingReturnType06.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType06.php.testNullableTypes_TypingReturnType06.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType07.php.testNullableTypes_TypingReturnType07.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType07.php.testNullableTypes_TypingReturnType07.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType07.php.testNullableTypes_TypingReturnType07.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType07.php.testNullableTypes_TypingReturnType07.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType08.php.testNullableTypes_TypingReturnType08.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType08.php.testNullableTypes_TypingReturnType08.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType08.php.testNullableTypes_TypingReturnType08.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType08.php.testNullableTypes_TypingReturnType08.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType09.php.testNullableTypes_TypingReturnType09.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType09.php.testNullableTypes_TypingReturnType09.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType09.php.testNullableTypes_TypingReturnType09.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType09.php.testNullableTypes_TypingReturnType09.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType10.php.testNullableTypes_TypingReturnType10.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType10.php.testNullableTypes_TypingReturnType10.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType10.php.testNullableTypes_TypingReturnType10.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType10.php.testNullableTypes_TypingReturnType10.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType11.php.testNullableTypes_TypingReturnType11.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType11.php.testNullableTypes_TypingReturnType11.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType11.php.testNullableTypes_TypingReturnType11.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType11.php.testNullableTypes_TypingReturnType11.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType12.php.testNullableTypes_TypingReturnType12.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType12.php.testNullableTypes_TypingReturnType12.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType12.php.testNullableTypes_TypingReturnType12.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypes/typingReturnType12.php.testNullableTypes_TypingReturnType12.completion
@@ -29,4 +29,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType04.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType04.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType04.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType04.completion
@@ -9,4 +9,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType06.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType06.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType06.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testNullableTypesInPHPDoc/nullableTypesInPHPDoc.php.testNullableTypesInPHPDoc_NullableType06.completion
@@ -9,4 +9,5 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Class01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Class01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Class01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Class01.completion
@@ -10,5 +10,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Function01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Function01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Function01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Function01.completion
@@ -10,5 +10,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Interface01.completion b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Interface01.completion
--- a/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Interface01.completion
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php71/testVoidReturnType/voidReturnType.php.testVoidReturnType_Interface01.completion
@@ -10,5 +10,6 @@
KEYWORD float null
KEYWORD int null
KEYWORD iterable null
+KEYWORD object null
KEYWORD string null
KEYWORD void null
diff --git a/php.editor/test/unit/data/testfiles/completion/lib/php72/testObjectTypeHint/objectTypeHint.php b/php.editor/test/unit/data/testfiles/completion/lib/php72/testObjectTypeHint/objectTypeHint.php
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/completion/lib/php72/testObjectTypeHint/objectTypeHint.php
@@ -0,0 +1,18 @@
+MARK_OCCURRENCES:Foo<| {
+ |>MARK_OCCURRENCES:Foo<|,
+$foo = new |>MARK_OCCURRENCES:Foo<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_02.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Foo<| {
+ |>MARK_OCCURRENCES:Fo^o<|,
+$foo = new |>MARK_OCCURRENCES:Foo<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_03.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Foo<| {
+ |>MARK_OCCURRENCES:Foo<|,
+$foo = new |>MARK_OCCURRENCES:Fo^o<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_04.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:B^ar<| {
+ |>MARK_OCCURRENCES:Bar<|,
+$bar = new |>MARK_OCCURRENCES:Bar<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_05.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Bar<| {
+ |>MARK_OCCURRENCES:Ba^r<|,
+$bar = new |>MARK_OCCURRENCES:Bar<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_06.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Bar<| {
+ |>MARK_OCCURRENCES:Bar<|,
+$bar = new |>MARK_OCCURRENCES:Ba^r<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_07.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Ba^z<| {
+ B\|>MARK_OCCURRENCES:Baz<|,
+$baz = new |>MARK_OCCURRENCES:Baz<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_08.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Baz<| {
+ B\|>MARK_OCCURRENCES:Ba^z<|,
+$baz = new |>MARK_OCCURRENCES:Baz<|();
diff --git a/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/data/testfiles/testGroupUseTrailingCommas.php.testGroupUseTrailingCommas_09.occurrences
@@ -0,0 +1,3 @@
+class |>MARK_OCCURRENCES:Baz<| {
+ B\|>MARK_OCCURRENCES:Baz<|,
+$baz = new |>MARK_OCCURRENCES:Ba^z<|();
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP72CodeCompletionTest.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP72CodeCompletionTest.java
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP72CodeCompletionTest.java
@@ -0,0 +1,101 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License. When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ */
+package org.netbeans.modules.php.editor.completion;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.Map;
+import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.modules.php.project.api.PhpSourcePath;
+import org.netbeans.spi.java.classpath.support.ClassPathSupport;
+import org.openide.filesystems.FileObject;
+import org.openide.filesystems.FileUtil;
+
+
+public class PHP72CodeCompletionTest extends PHPCodeCompletionTestBase {
+
+ public PHP72CodeCompletionTest(String testName) {
+ super(testName);
+ }
+
+ @Override
+ protected Map createClassPathsForTest() {
+ return Collections.singletonMap(
+ PhpSourcePath.SOURCE_CP,
+ ClassPathSupport.createClassPath(new FileObject[]{
+ FileUtil.toFileObject(new File(getDataDir(), "/testfiles/completion/lib/php72/" + getTestDirName()))
+ })
+ );
+ }
+
+ private String getTestDirName() {
+ String name = getName();
+ int indexOf = name.indexOf("_");
+ if (indexOf != -1) {
+ name = name.substring(0, indexOf);
+ }
+ return name;
+ }
+
+ private String getTestPath(String fileName) {
+ return String.format("testfiles/completion/lib/php72/%s/%s.php", getTestDirName(), fileName);
+ }
+
+ public void testObjectTypeHint_ParameterType01() throws Exception {
+ checkCompletion(getTestPath("objectTypeHint"), "function parameterType01(^) {", false);
+ }
+
+ public void testObjectTypeHint_ParameterType02() throws Exception {
+ checkCompletion(getTestPath("objectTypeHint"), "function parameterType02(obje^ct $arg) {", false);
+ }
+
+ public void testObjectTypeHint_ParameterType03() throws Exception {
+ checkCompletion(getTestPath("objectTypeHint"), " function __construct(obj^ect $arg) {", false);
+ }
+
+ public void testObjectTypeHint_ReturnType01() throws Exception {
+ checkCompletion(getTestPath("objectTypeHint"), "function returnType01(object $arg): ob^ject {", false);
+ }
+
+ public void testObjectTypeHint_ReturnType02() throws Exception {
+ checkCompletion(getTestPath("objectTypeHint"), "function returnType02(object $arg): ^ {", false);
+ }
+
+}
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP72Test.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP72Test.java
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP72Test.java
@@ -0,0 +1,73 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License. When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ */
+package org.netbeans.modules.php.editor.csl;
+
+
+public class GotoDeclarationPHP72Test extends GotoDeclarationTestBase {
+
+ public GotoDeclarationPHP72Test(String testName) {
+ super(testName);
+ }
+
+ public void testGroupUseTrailingCommas_01() throws Exception {
+ checkDeclaration(getTestPath(), " F^oo,", "class ^Foo {");
+ }
+
+ public void testGroupUseTrailingCommas_02() throws Exception {
+ checkDeclaration(getTestPath(), "$foo = new Fo^o();", "class ^Foo {");
+ }
+
+ public void testGroupUseTrailingCommas_03() throws Exception {
+ checkDeclaration(getTestPath(), " ^Bar,", "class ^Bar {");
+ }
+
+ public void testGroupUseTrailingCommas_04() throws Exception {
+ checkDeclaration(getTestPath(), "$bar = new Ba^r();", "class ^Bar {");
+ }
+
+ public void testGroupUseTrailingCommas_05() throws Exception {
+ checkDeclaration(getTestPath(), " B\\Ba^z", "class ^Baz {");
+ }
+
+ public void testGroupUseTrailingCommas_06() throws Exception {
+ checkDeclaration(getTestPath(), "$baz = new Ba^z();", "class ^Baz {");
+ }
+
+}
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP72Test.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP72Test.java
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP72Test.java
@@ -0,0 +1,85 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License. When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ */
+package org.netbeans.modules.php.editor.csl;
+
+
+public class OccurrencesFinderImplPHP72Test extends OccurrencesFinderImplTestBase {
+
+ public OccurrencesFinderImplPHP72Test(String testName) {
+ super(testName);
+ }
+
+ public void testGroupUseTrailingCommas_01() throws Exception {
+ checkOccurrences(getTestPath(), "class ^Foo {", true);
+ }
+
+ public void testGroupUseTrailingCommas_02() throws Exception {
+ checkOccurrences(getTestPath(), " Fo^o,", true);
+ }
+
+ public void testGroupUseTrailingCommas_03() throws Exception {
+ checkOccurrences(getTestPath(), "$foo = new Fo^o();", true);
+ }
+
+ public void testGroupUseTrailingCommas_04() throws Exception {
+ checkOccurrences(getTestPath(), "class B^ar {", true);
+ }
+
+ public void testGroupUseTrailingCommas_05() throws Exception {
+ checkOccurrences(getTestPath(), " Ba^r,", true);
+ }
+
+ public void testGroupUseTrailingCommas_06() throws Exception {
+ checkOccurrences(getTestPath(), "$bar = new Ba^r();", true);
+ }
+
+ public void testGroupUseTrailingCommas_07() throws Exception {
+ checkOccurrences(getTestPath(), "class Ba^z {", true);
+ }
+
+ public void testGroupUseTrailingCommas_08() throws Exception {
+ checkOccurrences(getTestPath(), " B\\Ba^z,", true);
+ }
+
+ public void testGroupUseTrailingCommas_09() throws Exception {
+ checkOccurrences(getTestPath(), "$baz = new Ba^z();", true);
+ }
+
+}
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest.java
new file mode 100644
--- /dev/null
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/lexer/PHP72FeaturesTest.java
@@ -0,0 +1,53 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License. When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ */
+package org.netbeans.modules.php.editor.lexer;
+
+
+public class PHP72FeaturesTest extends PHPLexerTestBase {
+
+ public PHP72FeaturesTest(String testName) {
+ super(testName);
+ }
+
+ public void testObjectType01() throws Exception {
+ performTest("lexer/object_type_01");
+ }
+
+}
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java
--- a/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java
@@ -872,6 +872,23 @@
performTest("parser/contextSensitiveLexerWithConstVisibility_01");
}
+ // PHP 7.2
+ public void testGroupUseTrailingCommas_01() throws Exception {
+ performTest("parser/groupUseTrailingCommas_01");
+ }
+
+ public void testGroupUseTrailingCommas_02() throws Exception {
+ performTest("parser/groupUseTrailingCommas_02");
+ }
+
+ public void testGroupUseTrailingCommas_03() throws Exception {
+ performTest("parser/groupUseTrailingCommas_03");
+ }
+
+ public void testGroupUseTrailingCommas_04() throws Exception {
+ performTest("parser/groupUseTrailingCommas_04");
+ }
+
@Override
protected String getTestResult(String filename) throws Exception {
// the same is shown twice becase the scanner is used twice
diff --git a/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java b/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java
--- a/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java
+++ b/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java
@@ -781,4 +781,20 @@
checkErrors("testfiles/parser/contextSensitiveLexerWithConstVisibility_01.php");
}
+ public void testGroupUseTrailingCommas_01() throws Exception {
+ checkErrors("testfiles/parser/groupUseTrailingCommas_01.php");
+ }
+
+ public void testGroupUseTrailingCommas_02() throws Exception {
+ checkErrors("testfiles/parser/groupUseTrailingCommas_02.php");
+ }
+
+ public void testGroupUseTrailingCommas_03() throws Exception {
+ checkErrors("testfiles/parser/groupUseTrailingCommas_03.php");
+ }
+
+ public void testGroupUseTrailingCommas_04() throws Exception {
+ checkErrors("testfiles/parser/groupUseTrailingCommas_04.php");
+ }
+
}
diff --git a/php.editor/tools/ASTPHP5Parser.cup b/php.editor/tools/ASTPHP5Parser.cup
--- a/php.editor/tools/ASTPHP5Parser.cup
+++ b/php.editor/tools/ASTPHP5Parser.cup
@@ -1196,7 +1196,7 @@
// used only in group uses
group_namespace_parts ::=
-non_empty_group_namespace_parts:list
+non_empty_group_namespace_parts:list possible_comma
{:
RESULT = list;
:}
diff --git a/php.editor/tools/Php5ColoringScanner.flex b/php.editor/tools/Php5ColoringScanner.flex
--- a/php.editor/tools/Php5ColoringScanner.flex
+++ b/php.editor/tools/Php5ColoringScanner.flex
@@ -275,6 +275,8 @@
// PHP7.1: These may be used as type names in PHP7.0 or older
PHP_TYPE_VOID=[v][o][i][d]
PHP_ITERABLE=[i][t][e][r][a][b][l][e]
+// PHP7.2
+PHP_TYPE_OBJECT=[o][b][j][e][c][t]
@@ -587,6 +589,10 @@
return PHPTokenId.PHP_TYPE_VOID;
}
+{PHP_TYPE_OBJECT} {
+ return PHPTokenId.PHP_TYPE_OBJECT;
+}
+
"->" {
pushState(ST_PHP_LOOKING_FOR_PROPERTY);
return PHPTokenId.PHP_OBJECT_OPERATOR;