Beispiel #1
0
            protected override Void handleSimpleName(SimpleNameExpressionNode simpleName, Set <TypeInfo> dependencies, bool nested)
            {
                var info   = simpleName.getUserData(typeof(ExpressionInfo));
                var member = info.Member;

                if (member != null && member.MemberKind == MemberKind.Type)
                {
                    addDependencies(member.Type, dependencies);
                }
                return(null);
            }
            protected override AssignmentState handleSimpleName(SimpleNameExpressionNode simpleName, HashSet <StatementNode> visited,
                                                                bool nested)
            {
                var info   = simpleName.getUserData(typeof(ExpressionInfo));
                var member = info.Member;

                if (member == assignmentChecker.uninitializedLocalInfo.local)
                {
                    throw context.error(CompileErrorId.UnassignedVariableUsage, simpleName, member.Name);
                }
                return(AssignmentState.NotAssigned);
            }