[jit] Fix the saving of the 'cfg->ret_var_set' flag when inlining, it was set to...
[mono.git] / mcs / docs / ecma334 / 14.5.xml
1 <?xml version="1.0"?>
2 <clause number="14.5" title="Primary expressions">
3   <paragraph>Primary expressions include the simplest forms of expressions. <grammar_production><name><non_terminal where="14.5">primary-expression</non_terminal></name> : <rhs><non_terminal where="14.5.10.2">array-creation-expression</non_terminal></rhs><rhs><non_terminal where="14.5">primary-no-array-creation-expression</non_terminal></rhs></grammar_production><grammar_production><name><non_terminal where="14.5">primary-no-array-creation-expression</non_terminal></name> : <rhs><non_terminal where="9.4.4">literal</non_terminal></rhs><rhs><non_terminal where="14.5.2">simple-name</non_terminal></rhs><rhs><non_terminal where="14.5.3">parenthesized-expression</non_terminal></rhs><rhs><non_terminal where="14.5.4">member-access</non_terminal></rhs><rhs><non_terminal where="14.5.5">invocation-expression</non_terminal></rhs><rhs><non_terminal where="14.5.6">element-access</non_terminal></rhs><rhs><non_terminal where="14.5.7">this-access</non_terminal></rhs><rhs><non_terminal where="14.5.8">base-access</non_terminal></rhs><rhs><non_terminal where="14.5.9">post-increment-expression</non_terminal></rhs><rhs><non_terminal where="14.5.9">post-decrement-expression</non_terminal></rhs><rhs><non_terminal where="14.5.10.1">object-creation-expression</non_terminal></rhs><rhs><non_terminal where="14.5.10.3">delegate-creation-expression</non_terminal></rhs><rhs><non_terminal where="14.5.11">typeof-expression</non_terminal></rhs><rhs><non_terminal where="25.5.8">sizeof-expression</non_terminal></rhs><rhs><non_terminal where="14.5.12">checked-expression</non_terminal></rhs><rhs><non_terminal where="14.5.12">unchecked-expression</non_terminal></rhs></grammar_production></paragraph>
4   <paragraph>Primary expressions are divided between <non_terminal where="14.5.10.2">array-creation-expression</non_terminal>s and  <non_terminal where="14.5">primary-no-array-creation-expression</non_terminal>s. Treating <non_terminal where="14.5.10.2">array-creation-expression</non_terminal> in this way, rather than listing it along with the other simple expression forms, enables the grammar to disallow potentially confusing code such as <code_example><![CDATA[
5 object o = new int[3][1];  
6 ]]></code_example>which would otherwise be interpreted as <code_example><![CDATA[
7 object o = (new int[3])[1];  
8 ]]></code_example></paragraph>
9 </clause>