summaryrefslogtreecommitdiffstats
path: root/src/com/google/doclava/ParameterInfo.java
diff options
context:
space:
mode:
authorBen Dodson <bjdodson@google.com>2010-08-04 15:21:06 -0700
committerBen Dodson <bjdodson@google.com>2010-08-04 17:50:13 -0700
commit920dbbbaca6aa578f3b26d89e99d12754c26ed60 (patch)
treeff22fba664681032459f526d51f14411403ea187 /src/com/google/doclava/ParameterInfo.java
parentc8f6c750effdcfe65efc5a7d3bb62c4693cf4231 (diff)
downloadandroid_external_doclava-920dbbbaca6aa578f3b26d89e99d12754c26ed60.tar.gz
android_external_doclava-920dbbbaca6aa578f3b26d89e99d12754c26ed60.tar.bz2
android_external_doclava-920dbbbaca6aa578f3b26d89e99d12754c26ed60.zip
Initial import of Doclava project
Change-Id: Ia5ae56f1700fce98e0ae6954fa2df617ec0537bb
Diffstat (limited to 'src/com/google/doclava/ParameterInfo.java')
-rw-r--r--src/com/google/doclava/ParameterInfo.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/com/google/doclava/ParameterInfo.java b/src/com/google/doclava/ParameterInfo.java
new file mode 100644
index 0000000..f4e39f0
--- /dev/null
+++ b/src/com/google/doclava/ParameterInfo.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.doclava;
+
+import com.google.clearsilver.jsilver.data.Data;
+
+import java.util.HashSet;
+
+public class ParameterInfo {
+ public ParameterInfo(String name, String typeName, TypeInfo type, boolean isVarArg,
+ SourcePositionInfo position) {
+ mName = name;
+ mTypeName = typeName;
+ mType = type;
+ mIsVarArg = isVarArg;
+ mPosition = position;
+ }
+
+ TypeInfo type() {
+ return mType;
+ }
+
+ String name() {
+ return mName;
+ }
+
+ String typeName() {
+ return mTypeName;
+ }
+
+ SourcePositionInfo position() {
+ return mPosition;
+ }
+
+ boolean isVarArg() {
+ return mIsVarArg;
+ }
+
+ public void makeHDF(Data data, String base, boolean isLastVararg, HashSet<String> typeVariables) {
+ data.setValue(base + ".name", this.name());
+ type().makeHDF(data, base + ".type", isLastVararg, typeVariables);
+ }
+
+ public static void makeHDF(Data data, String base, ParameterInfo[] params, boolean isVararg,
+ HashSet<String> typeVariables) {
+ for (int i = 0; i < params.length; i++) {
+ params[i].makeHDF(data, base + "." + i, isVararg && (i == params.length - 1), typeVariables);
+ }
+ }
+
+ /**
+ * Returns true if this parameter's dimension information agrees
+ * with the represented callee's dimension information.
+ */
+ public boolean matchesDimension(String dimension, boolean varargs) {
+ if (varargs) {
+ dimension += "[]";
+ }
+ return mType.dimension().equals(dimension);
+ }
+
+ String mName;
+ String mTypeName;
+ TypeInfo mType;
+ boolean mIsVarArg;
+ SourcePositionInfo mPosition;
+}