static void setArrayInitializerTypes(ArrayInitializerExpressionNode initializer, TypeInfo type) {
     initializer.getUserData(typeof(ExpressionInfo)).Type = type;
     foreach (var e in initializer.Values) {
         if (e.ExpressionKind == ExpressionKind.ArrayInitializer) {
             setArrayInitializerTypes((ArrayInitializerExpressionNode)e, type.ElementType);
         }
     }
 }
Пример #2
0
 protected override Void handleArrayInitializer(ArrayInitializerExpressionNode arrayInitializer, Set <TypeInfo> dependencies, bool nested)
 {
     foreach (var e in arrayInitializer.Values)
     {
         handleExpression(e, dependencies, true);
     }
     return(null);
 }
 static void setArrayInitializerTypes(ArrayInitializerExpressionNode initializer, TypeInfo type)
 {
     initializer.getUserData(typeof(ExpressionInfo)).Type = type;
     foreach (var e in initializer.Values)
     {
         if (e.ExpressionKind == ExpressionKind.ArrayInitializer)
         {
             setArrayInitializerTypes((ArrayInitializerExpressionNode)e, type.ElementType);
         }
     }
 }
 protected override AssignmentState handleArrayInitializer(ArrayInitializerExpressionNode arrayInitializer,
                                                           HashSet <StatementNode> visited, bool nested)
 {
     foreach (var e in arrayInitializer.Values)
     {
         if (handleExpression(e, visited, true) == AssignmentState.Assigned)
         {
             return(AssignmentState.Assigned);
         }
     }
     return(AssignmentState.NotAssigned);
 }
Пример #5
0
 private ArrayInitializerExpressionNode parseAnnotationValueArrayInitializer() {
     var result = new ArrayInitializerExpressionNode();
     setSavedScannerState(result);
     while (lexicalUnit != LexicalUnit.CloseBrace) {
         result.Values.add(parseAnnotationValue());
         parseCommaOrCloseBrace();
     }
     nextLexicalUnit(false);
     return result;
 }
Пример #6
0
        private ArrayInitializerExpressionNode parseArrayInitializer() {
            var result = new ArrayInitializerExpressionNode();
			setSavedScannerState(result);
            while (lexicalUnit != LexicalUnit.CloseBrace) {
                if (lexicalUnit == LexicalUnit.OpenBrace) {
                    nextLexicalUnit(true);
                    result.Values.add(parseArrayInitializer());
                } else {
                    result.Values.add(parseExpression());
                }
                parseCommaOrCloseBrace();
            }
			result.EndPosition = scanner.EndPosition;
            nextLexicalUnit(false);
            return result;
        }
Пример #7
0
 protected virtual TResult handleArrayInitializer(ArrayInitializerExpressionNode arrayInitializer, TSource source, bool nested)
 {
     return(defaultHandler());
 }