Add command-line option to enable multisampling

Change-Id: I9ec8961342c23ea2c116c970e84aa412365412a9
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Throw a parse error on octal numbers and escape sequences

This is compliant with EcmaScript 5.1, where octal numbers
and escape sequences are an optional and deprecated part
of the syntax.

Allow leading 0's in qml mode, but interpret the result
as decimal. This is also to keep compatibility with
existing code.

Change-Id: Ic3450ec3dd17966846751ee688a90c65939ba78f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Parse identifiers according to spec

If a unicode escape sequence decodes to a char that is
not allowed in the identifier we need to throw a parse
error. So decode before checking whether the char is
valid.

Also fix the set of accepted unicode characters for the
start and in the middle of an identifier to what the spec
demands.

Change-Id: I35075b0587ef4e4edb745750cec6d5c764631c0d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Fix the test suite

We now fail when parsing octal numbers or escape sequences. This
is ok according to the EcmaScript 5.1 spec. So remove all usages
of these numbers or sequences.

In addition delete an invalid test case that can't possibly be
parsed correctly. V8 also chokes on it.

Change-Id: I889de2810310f38206343d16175f9e31ddb44d30
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Don't bail out on 0 chars in comments

Gets a few more parser tests in the test suite to pass.

Change-Id: Id9ac5211f64aafdd621f6187ad7061ff967bc947
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Bail out on stray newlines in strings in JS mode

Still allow newlines in QML mode to keep compatibility
for existing code.

Change-Id: I11dbd5a73ea8958f5ddc199b77a919969f8a5214
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
super is always a reserved keyword

According to 7.6.1.2 of the EcmaScript 5.1 spec, super
is always a reserved keyword.

Change-Id: Idc300326c036eb9f0a12aa8eec8427023b7652b2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Don't assume QChar::null() is the end of input

The lexer currently assumes a null QChar implies the end
of our input stream. Change it to take the full string into
account. null QChar's inside comments or strings are now
accepted, everywhere else they will cause a parse error.

Change-Id: I60c40a32d5afe94c6c56d8a8092fc32726b98420
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Fix invalid compression in qmlmin

qmlmin could compress identifiers in an invalid way if
it contained special chars that would get expanded to
unicode escape sequences

Change-Id: I35b3ba01f68b69b34c4cd19616afb8b4b4cd6fa3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
sync.profile: Point dependencies to 'refs/heads/dev'

We should test dev branches against dev branches only by default.
At some point we should automate the merges from release->stable->dev
andi/or decide how to handle possible conflicts.

This is good enough for the time being.

Change-Id: Ifeae1b5de37e7bcaefbfa9038e50f3667645eca2
Reviewed-by: Alan Alpert <aalpert@rim.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Added parsing for getter/setter definitions in property assignments.

Specified in ecma 5.1, 11.1.5.

Change-Id: I93d12593534ed8a987922c8aa329124940e77c6f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Add the getter/setter type to PropertyGetterSetter

Required to differentiatate between getters and
setters.

Change-Id: I48b2fb911192a8cc5840ff11e31b885f62ac6179
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Merge branch 'stable' into dev

Conflicts:
	src/qml/qml/parser/qqmljskeywords_p.h
	sync.profile
	tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp

Change-Id: I9bc6659e1bab924009167bec567354d40a77a8cb
Fix: disallow incomplete hex numbers "0x" and "0X".

See also ECMA 5.1, 7.8.3, rule HexIntegerLiteral.

Change-Id: I356dc7cfbc88890bb7f35c8bc4219a37633177f8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Merge "Merge branch 'stable' into dev" into refs/staging/dev
Deinline QQuickKeysAttached::keyToSignal.

This also means we don't need to expose the SigMap struct or value - it can be
made file-local. This isn't performance-critical, so it shouldn't really matter.

Change-Id: I08d48df4f903df49a6ea58e6f10f3f53a97d89de
Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
Fix unicode escape sequence validation in strings.

Give an error message when the sequence does not conform to the grammar.
Note that both \u and \x (without any numbers following it) are not
valid escape sequences in ECMA5.1.

Change-Id: I14348984c680b0ce86e05faad5630afc1e98cd02
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix semicolon insertion before pre-incr/decr operators.

Do not insert a semicolon if the previous token was a binop or a
question mark.

Change-Id: Id2ee1d3cb57fa3fe20bfc0078d06f9e2619d88f1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Remove m_ in property names of QQmlTypePrivate

There's already a d-> to indicate they are internal variables. Doesn't
need both.

Change-Id: I9b127dff7955456aacb25138fa6ea8efb7bb921f
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Move VME exception to a better place

If o is not created, then ddata on the next line may also not create
successfuly leading to an invalid memory access before we reach the !o
exception.

Change-Id: I9b127dff7955456aacb25138fabaabaabaab921f
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>