Exemplo n.º 1
0
            public override Evaluation Analyze(T node, Analyzer analyzer, ExInfoFromParent info)
            {
                access = info.Access;

                TypeRefHelper.Analyze(node.TypeRef, analyzer);
                this.type = TypeRefHelper.ResolvedTypeOrUnknown(node.TypeRef);

                analyzer.AnalyzeConstructedType(type);

                return(new Evaluation(node));
            }
Exemplo n.º 2
0
            internal override void ResolveName(T node, Analyzer analyzer)
            {
                var typeRef = node.TypeRef;

                TypeRefHelper.Analyze(typeRef, analyzer);
                this.type = TypeRefHelper.ResolvedTypeOrUnknown(typeRef);

                // analyze constructed type (we are in the full analysis):
                analyzer.AnalyzeConstructedType(type);

                constant = analyzer.ResolveClassConstantName(type, node.Name, node.Span, analyzer.CurrentType, analyzer.CurrentRoutine,
                                                             out runtimeVisibilityCheck);
            }
Exemplo n.º 3
0
            public void Analyze(CatchItem /*!*/ node, Analyzer /*!*/ analyzer)
            {
                ExInfoFromParent info = new ExInfoFromParent(node);

                info.Access = AccessType.Write;

                TypeRefHelper.Analyze(node.TypeRef, analyzer);
                resolvedType = TypeRefHelper.ResolvedTypeOrUnknown(node.TypeRef);
                //resolvedType = analyzer.ResolveTypeName(node.ClassName, analyzer.CurrentType, analyzer.CurrentRoutine, node.Span, false);

                node.Variable.Analyze(analyzer, info);

                analyzer.EnterConditionalCode();
                node.Statements.Analyze(analyzer);
                analyzer.LeaveConditionalCode();
            }