예제 #1
0
 private DomRegion GetRegion(AST.Node m)
 {
     AST.LexicalInfo l = m.LexicalInfo;
     if (l.Line < 0)
     {
         return(DomRegion.Empty);
     }
     else
     {
         return(new DomRegion(l.Line, 0 /*l.Column*/, l.Line, GetLineEnd(l.Line)));
     }
 }
예제 #2
0
		B.LexicalInfo GetLexicalInfo(INode node)
		{
			if (node == null)
				return new B.LexicalInfo(fileName);
			Location point = node.StartLocation;
			if (!point.IsEmpty) {
				lastLexicalInfo = new B.LexicalInfo(fileName, point.Y, point.X);
			}
			if (lastLexicalInfo == null) {
				lastLexicalInfo = new B.LexicalInfo(fileName);
			}
			return lastLexicalInfo;
		}
예제 #3
0
 private DomRegion GetClientRegion(AST.Node m)
 {
     AST.LexicalInfo l = m.LexicalInfo;
     if (l.Line < 0)
     {
         return(DomRegion.Empty);
     }
     AST.SourceLocation l2;
     if (m is AST.Method)
     {
         l2 = ((AST.Method)m).Body.EndSourceLocation;
     }
     else if (m is AST.Property)
     {
         AST.Property p = (AST.Property)m;
         if (p.Getter != null && p.Getter.Body != null)
         {
             l2 = p.Getter.Body.EndSourceLocation;
             if (p.Setter != null && p.Setter.Body != null)
             {
                 if (p.Setter.Body.EndSourceLocation.Line > l2.Line)
                 {
                     l2 = p.Setter.Body.EndSourceLocation;
                 }
             }
         }
         else if (p.Setter != null && p.Setter.Body != null)
         {
             l2 = p.Setter.Body.EndSourceLocation;
         }
         else
         {
             l2 = p.EndSourceLocation;
         }
     }
     else
     {
         l2 = m.EndSourceLocation;
     }
     if (l2 == null || l2.Line < 0 || l.Line == l2.Line)
     {
         return(DomRegion.Empty);
     }
     // TODO: use l.Column / l2.Column when the tab-bug has been fixed
     return(new DomRegion(l.Line, GetLineEnd(l.Line), l2.Line, GetLineEnd(l2.Line)));
 }
예제 #4
0
        B.LexicalInfo GetLexicalInfo(INode node)
        {
            if (node == null)
            {
                return(new B.LexicalInfo(fileName));
            }
            Location point = node.StartLocation;

            if (!point.IsEmpty)
            {
                lastLexicalInfo = new B.LexicalInfo(fileName, point.Y, point.X);
            }
            if (lastLexicalInfo == null)
            {
                lastLexicalInfo = new B.LexicalInfo(fileName);
            }
            return(lastLexicalInfo);
        }
예제 #5
0
파일: Declaration.cs 프로젝트: codehaus/boo

        
예제 #6
0
 public GenericParameterDeclaration(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
 }
예제 #7
0
 public ExceptionHandler(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #8
0
파일: Declaration.cs 프로젝트: codehaus/boo

        
예제 #9
0
 public RaiseStatement(LexicalInfo li, Expression exception, StatementModifier modifier) : base(li, exception)
 {
     this.Modifier = modifier;
 }
예제 #10
0
 public ReturnStatement(LexicalInfo li, Expression expression, StatementModifier modifier) : base(li)
 {
     this.Expression = expression;
     this.Modifier   = modifier;
 }
예제 #11
0
 public ExtendedGeneratorExpression(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
 }
예제 #12
0
 public TryCastExpression(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
 }
예제 #13
0
 public TypeReference(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #14
0
 public ClassDefinition(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #15
0
 protected TypeDefinition(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #16
0
파일: Slice.cs 프로젝트: codehaus/boo
 public Slice(LexicalInfo lexicalInfo, Expression begin, Expression end, Expression step) : base(lexicalInfo)
 {
     this.Begin = begin;
     this.End   = end;
     this.Step  = step;
 }
예제 #17
0
파일: Slice.cs 프로젝트: codehaus/boo
 public Slice(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
 }
예제 #18
0
 public TryStatement(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #19
0
 public RaiseStatement(LexicalInfo lexicalInfo, Expression exception) : base(lexicalInfo)
 {
     this.Exception = exception;
 }
예제 #20
0
 public TryCastExpression(LexicalInfo lexicalInfo, Expression target, TypeReference type) : base(lexicalInfo)
 {
     this.Target = target;
     this.Type   = type;
 }
예제 #21
0
 void AddError(B.LexicalInfo lex, string errorMessage)
 {
     errors.Add(new CompilerError(lex, errorMessage));
 }
예제 #22
0

        
예제 #23
0
 public ReturnStatement(LexicalInfo li, Expression expression) : base(li)
 {
     this.Expression = expression;
 }
예제 #24
0
 public RaiseStatement(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #25
0
 public ReturnStatement(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #26
0
 protected TypeMember(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }
예제 #27
0
 public CallableBlockExpression(LexicalInfo lexicalInfo) : base(lexicalInfo)
 {
 }
예제 #28
0
 void AddWarning(B.LexicalInfo lex, string warningMessage)
 {
     warnings.Add(new CompilerWarning(lex, warningMessage));
 }
예제 #29
0
파일: Constructor.cs 프로젝트: codehaus/boo

        
예제 #30
0
파일: Declaration.cs 프로젝트: codehaus/boo

        
예제 #31
0
 public Property(LexicalInfo lexicalInfoProvider) : base(lexicalInfoProvider)
 {
 }