comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationThrowsData.java @ 8252:0905d796944a

Refactored codegen error model to make error redirection a lot easier.
author Christian Humer <christian.humer@gmail.com>
date Wed, 13 Mar 2013 19:58:28 +0100
parents d81ff782fa1a
children
comparison
equal deleted inserted replaced
8251:cb70ed101b5f 8252:0905d796944a
23 package com.oracle.truffle.codegen.processor.node; 23 package com.oracle.truffle.codegen.processor.node;
24 24
25 import javax.lang.model.element.*; 25 import javax.lang.model.element.*;
26 import javax.lang.model.type.*; 26 import javax.lang.model.type.*;
27 27
28 public class SpecializationThrowsData { 28 import com.oracle.truffle.codegen.processor.template.*;
29 29
30 public class SpecializationThrowsData extends MessageContainer {
31
32 private final AnnotationValue annotationValue;
30 private final AnnotationMirror annotationMirror; 33 private final AnnotationMirror annotationMirror;
31 private final TypeMirror javaClass; 34 private final TypeMirror javaClass;
32 private SpecializationData specialization; 35 private SpecializationData specialization;
33 36
34 public SpecializationThrowsData(AnnotationMirror annotationMirror, TypeMirror javaClass) { 37 public SpecializationThrowsData(AnnotationMirror annotationMirror, AnnotationValue value, TypeMirror javaClass) {
35 this.annotationMirror = annotationMirror; 38 this.annotationMirror = annotationMirror;
39 this.annotationValue = value;
36 this.javaClass = javaClass; 40 this.javaClass = javaClass;
37 } 41 }
38 42
39 void setSpecialization(SpecializationData specialization) { 43 void setSpecialization(SpecializationData specialization) {
40 this.specialization = specialization; 44 this.specialization = specialization;
45 }
46
47 @Override
48 public Element getMessageElement() {
49 return specialization.getMessageElement();
50 }
51
52 @Override
53 public AnnotationMirror getMessageAnnotation() {
54 return annotationMirror;
55 }
56
57 @Override
58 public AnnotationValue getMessageAnnotationValue() {
59 return annotationValue;
41 } 60 }
42 61
43 public TypeMirror getJavaClass() { 62 public TypeMirror getJavaClass() {
44 return javaClass; 63 return javaClass;
45 } 64 }