annotate graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/DSLMetadata.java @ 16751:4f589fa69b9c

Truffle-DSL: added shared code required for the new generation layout.
author Christian Humer <christian.humer@gmail.com>
date Mon, 11 Aug 2014 15:53:05 +0200
parents
children e6d15134ca86
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16751
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
1 package com.oracle.truffle.api.dsl.internal;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
2
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
3 /**
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
4 * This is NOT public API. Do not use directly. This code may change without notice.
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
5 */
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
6 public final class DSLMetadata {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
7
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
8 public static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[]{};
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
9 public static final DSLMetadata NONE = new DSLMetadata(null, EMPTY_CLASS_ARRAY, EMPTY_CLASS_ARRAY, EMPTY_CLASS_ARRAY, 0, 0);
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
10
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
11 private final Class<?> specializationClass;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
12 private final Class<?>[] includes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
13 private final Class<?>[] excludedBy;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
14 private final Class<?>[] specializedTypes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
15
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
16 private final int costs;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
17 private final int order;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
18
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
19 public DSLMetadata(Class<?> specializationClass, Class<?>[] includes, Class<?>[] excludes, Class<?>[] specializedTypes, int costs, int order) {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
20 this.specializationClass = specializationClass;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
21 this.includes = includes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
22 this.excludedBy = excludes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
23 this.specializedTypes = specializedTypes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
24 this.costs = costs;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
25 this.order = order;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
26 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
27
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
28 public Class<?> getSpecializationClass() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
29 return specializationClass;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
30 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
31
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
32 public Class<?>[] getSpecializedTypes() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
33 return specializedTypes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
34 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
35
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
36 Class<?>[] getIncludes() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
37 return includes;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
38 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
39
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
40 Class<?>[] getExcludedBy() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
41 return excludedBy;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
42 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
43
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
44 int getCosts() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
45 return costs;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
46 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
47
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
48 int getOrder() {
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
49 return order;
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
50 }
4f589fa69b9c Truffle-DSL: added shared code required for the new generation layout.
Christian Humer <christian.humer@gmail.com>
parents:
diff changeset
51 }